Затруднение с заполнением массива

Есть игра - XO.

Есть поле класса fieldSize, определяющее размер игры. Т.е. fieldSize = 4, означает размер игрового поля 4х4.

Пытаюсь заполнить список/массив координатами выигрышных ЛИНИЙ. Для дальнейшего поиска победителя.

Т.е. должно быть, к примеру [[0,0],[0,1],[0,2],[0,3]]. Это для нулевой линии. Линий в итоге 4.

ВОПРОС: как правильно организовать и ВО ЧТО это заполнить? Пока остановился на этом и не знаю/думаю что дальше сделать:

int[][] fillLines(Field field){
        int[][] lines = new int[][];
        for (int i = 0; i < gameSIZE; i++) {
            for (int j = 0; j < gameSIZE; j++) {
                 <<---------------------------------
            }
        }
    }

Ответы (1 шт):

Автор решения: Daniil Loban

Думаю, можно организовать класс ячейки, (со своими методами если потребуется). Для доски я бы тоже создавал класс. Логику можно было бы подключать отдельно инверсией зависимостей - тогда можно делать под любую игру где есть поля.

import java.util.*;

public class Game
{
  static class Cell {
    public int v[] = {0, 0};
    public Cell(int x, int y) {
      this.v[0] = x;
      this.v[1] = y;
    }
    @Override
    public String toString() { 
        return String.format("[" + v[0] + ","  + v[1] + "]"); 
    } 
  }
  public static Cell[][] make(int gameSIZE){
    Cell[][] lines = new Cell[gameSIZE][gameSIZE];
    for (int i = 0; i < gameSIZE; i++) {
        for (int j = 0; j < gameSIZE; j++) {
            lines[i][j] = new Cell(i, j);
        }
    }
    return lines;
  }
  public static void main(String[] args){
    Cell[][] f1 = make(2);
    Cell[][] f2 = make(4);
    System.out.println(Arrays.deepToString(f1));
    System.out.println(Arrays.deepToString(f2));
  }
}

вывод:

[
 [[0,0], [0,1]],
 [[1,0], [1,1]]
]


[
  [[0,0], [0,1], [0,2], [0,3]],
  [[1,0], [1,1], [1,2], [1,3]],
  [[2,0], [2,1], [2,2], [2,3]], 
  [[3,0], [3,1], [3,2], [3,3]]
]
→ Ссылка