for (int i = 0; i < SIDE; i++) {
for (int j = 0; j < SIDE; j++) {
gameField[j][i] = new GameObject(i, j, isMine);
setCellColor(j, i, Color.GREY);
}
}
может кто-то объяснить, почему gameField[j][i] = new GameObject(i, j, isMine); а не gameField[i][j] = new GameObject(i, j, isMine);
в цикле i = у нас по факту ось X
в цикле j = у нас по факту ось Y
значит gameField[X][Y] должен быть, а принимает только gameField[Y][X]Yaroslav
23 уровень
Почему координаты gameField j i вместо i j
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Михаил
25 сентября 2022, 08:50
У нас вывернута система координат. Ноль находится сверху слева. Рост вниз и вправо.
Соответственно это сделано чтобы договорится с компьютером.
0
Yaroslav
25 сентября 2022, 09:36
все равно не понял, оно ведь и так идет с 0 вправо и с 0 вниз при двух циклах
0
Михаил
25 сентября 2022, 10:16полезный
в нашем сознании идет сначала икс потом игрек. То есть координаты объекта (х,у, мина или нет)
Но матрицы в памяти компьютера идут по-другому.
матрица[3] содержит в себе три элемента. Сейчас пусть это будут простые положительные числа. То есть пусть матрица[3] = {0, 1, 2}, но мы можем захотеть поместить в каждый элемент матрицу. То есть
матрица[3][2] =
{матрица[2] = {0, 1},
матрица[2]= {0, 1},
матрица[2] = {0, 1}}
Здесь первая цифра это столбец. А в координатах первая цифра у тебя номер в строке. Именно поэтому оно и получается вывернуто относительно привычных координат.
+2
Yaroslav
25 сентября 2022, 12:45
спасбо
0