Задать вопрос
  • Как сделать возвращение к началу программы?

    tomnolane
    @tomnolane
    профессиональный разработчик
    есть три варианта:
    1) использовать метку
    M:
    if (att == 1) {
    //или тут M:
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз")
    goto M; //(Здесь должен быть банальный рестарт программы.)
    }

    2) сделать функцию отдельно (рекурсию)
    private void MyFunc(bool stop = false;)
    {
    if(stop) return;
    if (att == 1) { 
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз")
    MyFunc(); //(Здесь должен быть банальный рестарт программы.)
    }
    }

    3) использовать цикл for (бесконечный)
    int damage = 100;
    for(;;)
    {
    if (att == 1) { 
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз") 
    }
    hp < damage  ? break : continue; //(Здесь должен быть банальный рестарт программы.)
    }


    upd
    На свой лад накидал в некоторых местах условия выхода из метода/цикла. Поскольку по вашему коду не понятно, в каком случае должно всё это прекратится, поэтому условие, когда всё должно закончится - сами подкорректируйте. Главное, выше три способа, полностью отвечают на ваш заданный вопрос.
    Ответ написан
    5 комментариев