Java for-loop и логический массив возвращают true - PullRequest
0 голосов
/ 29 апреля 2018

Не лучший заголовок, но мне нужна помощь / объяснение, почему мой массив for-loop / boolean не работает так, как я хочу.

for (int i = 0; i < zombies.length; i++) {
    displayZombies(panel, g, zombies); 
    if (zomCollision(runner, zombies, panel, g) == true) 
      eliminated[i] = true;
    if (!eliminated[i])
      displayZombies(panel, g, zombies); 
  }

По сути, мой код - простая игра, в которой пользователь контролирует точку (бегуна) и в игре появляется определенное количество зомби. Пользователь выигрывает, пересекая / сталкиваясь с всеми зомби в игре, которые хранятся в виде точек в массиве зомби.

displayZombies делает то, что говорит; он создает зомби и отображает их

zomCollision возвращает true, если один из зомби и бегун сталкиваются.

zombies - это массив точек, в котором хранится количество зомби.

Логический массив eliminated имеет значение false (установлено количество зомби).

Когда мой бегун пересекается с одним из зомби, массив eliminated с индексом i должен быть установлен равным false, в результате чего в if заявлении не будет отображаться этот зомби. Однако проблема, с которой я борюсь, заключается в том, что когда мой бегун бьет любого зомби, они все исчезают. Это или for -петл, который вызывает это или логика? Любой совет поможет, спасибо!

...