есть три варианта:
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
На свой лад накидал в некоторых местах условия выхода из метода/цикла. Поскольку по вашему коду не понятно, в каком случае должно всё это прекратится, поэтому условие, когда всё должно закончится - сами подкорректируйте. Главное, выше три способа, полностью отвечают на ваш заданный вопрос.