gameField[y][x] = new GameObject(x, y);
Виктор
38 уровень
Добрый день Почему происходит такое заполнение ячеек?
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavlo Plynko Java-разработчик в CodeGym Expert
22 февраля 2020, 17:41
Привет! Ты мог бы попытаться визуально изобразить двумерный массив gameField ? Ну т.е. либо в пеинте нарисовать, либо просто напечатать, как ты в голове его себе визуализируешь? Например, какой-нибудь одномерный массив можно визуализирвать так:
или так:
{1, 43, 12, 234234, 2, 0}
А что у тебя в голове возникает при мысли о gameField[][] ?
0
Виктор
22 февраля 2020, 21:19
Я себе представляю двухмерный массив gameField[][] = {{}};
0
Ksenia Volkova Java Developer в DXC Master
22 февраля 2020, 21:54
А с игровым полем это у тебя как-то связывается?
0
Виктор
22 февраля 2020, 22:07
Да
private final static int SIDE = 9;
private GameObject[][] gameField = new GameObject[SIDE][SIDE];
Но вопрос у меня был почему заполняется таким образом :
gameField[y][x] = new GameObject(x, y);
А не следующим образом gameField[x][y] = new GameObject(x, y);
0
Ksenia Volkova Java Developer в DXC Master
22 февраля 2020, 22:10
Я имею в виду - у тебя в голове твое представление о двумерном массиве с игровым полем как связано?
(Это имеет самое прямое отношение к твоему вопросу)
0
Виктор
22 февраля 2020, 23:40
Если к примеру массив = {{1,2},{3,4}}
Я представляю игровое поле квадрат из четырех клеток
1 3
2 4
0
Pavlo Plynko Java-разработчик в CodeGym Expert
23 февраля 2020, 07:18
т.е. одномерные массивы внутри внешнего массива ты располагаешь (мысленно) вертикально, верно? Как-то так:
0
Виктор
23 февраля 2020, 09:35
Да, именно так
0
Ksenia Volkova Java Developer в DXC Master
23 февраля 2020, 10:22полезный
Мы можем выводить данные в консоль столбцами? Сначала вывести первый столбец, потом второй и т.д.?
Мы можем выводить данные строками.
И массив массивов - это массив строк. Индекс внешнего массива соответствует номеру "строки" (координате по оси y), а индекс внутреннего - позиции в этой строке (координате по оси x).
Отсюда gameField[y][x]
+1
Pavlo Plynko Java-разработчик в CodeGym Expert
23 февраля 2020, 13:20решение
Собственно, как и написала Ксения, не все представляют матрицу в виде столбцов. В частности, разработчикам игрового движка матрица видится как набор строк. Вот они под себя все и напрограммировали :)
Кстати, если мы решим задать матрицу явно, "литералом", то сделать это в виде столбцов в джаве нет возможности:
+3
Виктор
23 февраля 2020, 21:02
Спасибо)
0