Как стать автором
Обновить

Комментарии 3

А откуда брать monitor и t в методе printField?

static void printField(char[][] field) {

for (char[] cells : monitor) {

for (char cell : t) {

Поправил, было старое название переменной. Правильно так: в первом цикле for перебираем элементы массива field

Тема написания простых игр интересная, и я так раз начинающий. Но статья больше отпугивает новичков. И к сожалению тут остается только критиковать. Начал выполнять все по пунктам и вот с чем столкнулся:
1) static final int FILED_LENGTH = 10; В строке 2 мы создаем константу FIELD_LENGTH — название констант разные. Хотя тут просто банальная ошибка в слове field, но она написана неправильно на протяжение всего кода.
2) «Расставляем » + i + "-палубный корабль. Осталось расставить: " + (q + 1) — что за переменная q и откуда она взялась? Далее, переменные x, y и position тоже не проинициализированны.
3) for (char cell: t) { — тут должно быть не t, а cells(наверно, я не знаю), но t до этого ни где не инициализировалось.
4) На экране метод будет так отображать расстановку кораблей: — у Вас показан четырех палубный корабль, у меня только двух. И ошибка вот в чем:
for (int i = 4; i >= 1; i--) {
// растановка кораблей
for (int k = i; k <= 5 — i; k++) { — если k = 4, то получаем 4<= 5-4 условие не выполняется и четырех палубный корабль мы поставить уже не можем, как и трех.

На этом мне уже все надоело и я решил не читая дальше статью просто скопировать и скомпилировать весь код. Все эти ошибки не пропали. И очень сильно раздражало при постановки однопалубного корабля постоянно выбирать по диагонали или вертикали его ставить. Так же не понятно почему текст то на русском, то на английском.
При тупом копировать — вставить количество строчек получилось 177. И Ваша фраза «Оказывается на циклах и массивах можно написать игру» конечно правда и я даже больше скажу, джаве машине вообще классы ненужны, был бы только main. Так что всё можно написать в «процедурном стиле», но все же разбив хотя бы на несколько классов, новичку было бы проще ориентироваться в коде, а не крутить постоянно 177 строчек.

Не принимайте мою критику сильно близко, если все исправить, то получится отличная статья. Так же жду от Вас продолжения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации