Цикл в C # не может завершить это>. < - PullRequest
0 голосов
/ 15 декабря 2009

Сейчас я пытаюсь сделать так, чтобы у меня был 1 персонаж и 3 врага, если мой персонаж умирает, он должен дать игру или что-то еще, но я не могу заставить его работать (если враги умирают, это работает, хотя Я не знаю почему).

Вот что я делаю:

        bool Exit = false;
        bool CharDead = false;

        Heroe Heroe1 = p.ElementAt(0);
        Enemigo Enemigo1 = l.ElementAt(0);
        Enemigo Enemigo2 = l.ElementAt(1);
        Enemigo Enemigo3 = l.ElementAt(2);
        a.Agregar(comienza);
        List<Items> item = new List<Items>();
        do
        {
            if (Heroe1.HP > 0)
                AccionesHeroe1(l, p);

            if (Enemigo1.HP > 0)
                AccionesEnemigo1(l, p);

            if (Enemigo2.HP > 0)
                AccionesEnemigo2(l, p);

            if (Heroe1.HP > 0)
                AccionesHeroe1(l, p);
            else
                CharDead = true;
            if (Enemigo3.HP > 0)
                AccionesEnemigo3(l, p);

            if (Heroe1.HP <= 0)
            {
                CharDead = true;
            }
            if (Enemigo1.HP <= 0 && Enemigo2.HP <= 0 && Enemigo3.HP <= 0)
            {
                Exit = true;
            }

        } while (Exit == false || CharDead == false);

Ответы [ 4 ]

6 голосов
/ 15 декабря 2009

Ваше конечное условие:

 (Exit == false || CharDead == false);

Это произойдет только тогда, когда CharDead И Exit имеют значение true.

Вы, вероятно, хотите переделать это так:

 (Exit == false && CharDead == false);

Таким образом, как только Exit не будет false или CharDead не false, вы выйдете.

1 голос
/ 15 декабря 2009

изменение

while (Exit == false || CharDead == false);

до

while (Exit == false && CharDead == false);
1 голос
/ 15 декабря 2009

Я думаю, что вы хотите изменить выражение while в

do
{
} while(!Exit && !CharDead)
0 голосов
/ 15 декабря 2009

Это бы тоже сработало, верно?

while(!(Exit || CharDead));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...