Привет, я пытаюсь решить задание "забег улиток" в котором как только любая из "улиток" наберет 50 очков - игра останавливается.
Не пойму почему
if (tab[z] < 50)
не работает и цикл завершается где-то в районе 18 или 20?
Тогда как если заменить на
while (tab[z] < 50)
- принцип работает но немного криво - массив проверяется на то чтобы все его элементы дошли до состояния меньше 50 - так что while не подходит.
Не пойму в чём дело? Ведь при использовании
if
применимо к каждому элементу массива программа должна запускаться каждый раз когда элемент < 50 а он почему-то останавливается..
Спасибо!
public static void main(String[] args) {
int dice;
int[] tab = new int[3];
System.out.println("\n\t -= SNAIL RUN =- ");
for (int z=0; z<tab.length;z++){
if (tab[z] < 50) {
System.out.println("\n");
for (int i=0; i<tab.length; i++) {
// Generating random numbers
dice = ThreadLocalRandom.current().nextInt(1, 6 + 1);
tab[i] += dice;
System.out.print("Dice"+(i+1)+"="+dice+" | ");
}
System.out.println("\n");
for (int i=0; i<tab.length; i++){
System.out.print(tab[i] + " | ");
}
System.out.println("\n________________________________________________________________");
}
}
System.out.println("\nGAME OVER");