Доброго дня!
Программа завершается, на поле 10 хитов (по одной на каждой строчке), вывод 1 раз.
Запускал несколько раз в Idea и в валидаторе - всегда вывод после "уничтожения" 10 целей.
Что конкретно не нравится валидатору? Подскажите, пожалуйста.
package com.javarush.task.pro.task05.task0529;
import java.util.Arrays;
/*
Галаксианские роботанки (1)
*/
public class Solution {
public static String robotank = "☖";
public static String empty = "_";
public static String hit = "🎯";
public static int width=30;
public static int height=10;
public static String[][] field = new String[height][width];
public static int[][]bombs = new int[height][width];
public static void main(String[] args) {
//напишите тут ваш код
for (int i = 0; i < field.length; i++) {
int x = (int) (Math.random() * field[i].length);
for (int j = 0; j < field[i].length; j++) {
if (j != x) {
field[i][j] = empty;
} else {
field[i][j] = robotank;
}
}
}
boolean gameOver = false;
do {
for (int i = 0; i < bombs.length; i++) {
int num = 10;
for (int j = 0; j < bombs[i].length; j++) {
int x = (int) (Math.random() * 2);
if (bombs[i][j]!=1) {
if (num > 0) {
if (x != 1) {
bombs[i][j] = 0;
} else {
bombs[i][j] = 1;
num -= 1;
}
} else {
bombs[i][j] = 0;
}
}
}
}
for (int i = 0; i < field.length; i++) {
for (int j = 0; j < field[i].length; j++) {
if (field[i][j].contains(robotank)) {
if (bombs[i][j] == 1) {
field[i][j] = hit;
break;
}
break;
}
}
}
int count = 0;
for (int i = 0; i < field.length; i++) {
if (!Arrays.asList(field[i]).contains(robotank)){
count++;
}
}
if(count==10){
gameOver=true;
}
} while (!gameOver);
for (int i = 0; i < field.length; i++) {
for (int j = 0; j < field[i].length; j++) {
System.out.print(field[i][j]);
}
System.out.println();
}
}
}