я хотел бы узнать можно ли заполнить двумерный массив через
Последний комментарий чтобы сохранить и не забыть (Kudos to Ksenia Volkova)
for (type var : array){}
вместо
for (int i = 0; i<SIDE; i++){ //for the line
for (int j=0; j<SIDE; j++){ //for the column
gameField[j][i]= new GameObject(i,j);
setCellColor(j,i,Color.ORANGE);
}
}
А Самое главное- как ибо в интернете нарыть у мня не получилось
Так же хотел узнать, откуда взялся метод
SetCellColor
Я давно начал сапера и долго у нему не возвращался и этот метод я не могу найти в системе файлов у себя. при Cntrl+click на этом методе получаю сообщение, будто сейчас собрался просматривать нелегальный контент для взрослых который поясняет что этот код находится в декомпайлере. Это значит что этот метод находится на сервере JavaRush?
Последний комментарий чтобы сохранить и не забыть (Kudos to Ksenia Volkova)
Расскажите почему в цикле нужно указывать порядок [j][i], а не наоборот? Не могу понять почему в GameObject(i, j) один порядок а в gameField[j][i] другой
Потому что двумерный массив - это массив строк, а не массив столбцов. (Ведь при выводе на экран мы печатаем данные построчно, а не колонками).
То есть каждая ячейка масcива gameField представляет собой одну строку. А каждая строка - это массив клеток, у которых одна и та же координата по вертикали (y), но разные координаты по горизонтали (x).
Когда ты пишешь gameField[j][i], то первая переменная - j - отвечает за номер строки (координата y), а вторая - i - за позицию в этой строке (координата x).
Важно, что первая из них - координата по вертикали, то есть соотвествует оси y, а вторая - координата по горизонтали, т.е. x.
Поэтому в массиве указывается сначала вертикаль, а потом горизонталь (y, x). А в методе setCellColor или в конструкторе GameObject - традиционным образом (x, y).
Поэтому gameField[j][i] соответствует new GameObject(i, j)
И наоборот gameField[i][j] соответствует new GameObject(j, i)