@Klirik_High
Тот, кто хочет учится, но не знает с чего начать.

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

if (att == 1) {
Console.WriteLine ("Вы использовали обычную атаку");
Console.WriteLine ("Урон: " + attack);
Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
Console.WriteLine ("Враг вас убил, попробуйте еще раз")
(Здесь должен быть банальный рестарт программы.)
}
  • Вопрос задан
  • 5769 просмотров
Решения вопроса 1
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
На свой лад накидал в некоторых местах условия выхода из метода/цикла. Поскольку по вашему коду не понятно, в каком случае должно всё это прекратится, поэтому условие, когда всё должно закончится - сами подкорректируйте. Главное, выше три способа, полностью отвечают на ваш заданный вопрос.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы