Добро пожаловать в Stackoverflow, ChewyParsnips.
Поскольку это вопрос домашнего задания, я не дам вам никакого кода, но я помогу вам проанализировать вопрос и перефразировать некоторые части, чтобы, надеюсь, помочь с понимание.
У вас есть два вопроса: Как изобразить доску? и Как распечатать доску?
Как изобразить доску?
Ответ кроется в вашем собственном тексте:
столбцы для доски создаются как массив в одном классе, затем игровое поле должно быть создано как массив , который заполняется объектами столбца в другом классе.
Но нам нужно преобразовать это в Java.
В вашем классе Column
у вас есть private char[] column
, который является первым массивом.
В вашем классе Board
у вас есть private Column[] board = new Column[NUM_COLS]
, который является вторым массив, готовый к приему объектов столбцов. Теперь вам нужно заполнить массив объектами Column. В конструкторе Board
, т. Е.
public Board() {
//TODO create game board
}
, вам нужно просмотреть размер массива и создать новые Column
объекты. Когда это нужно делать, остерегайтесь границ.
Как распечатать доску?
Опять же, вам нужно пройти через массив в Board
, но теперь также и базовый массив в Column
объект. Здесь вам нужно быть осторожным с тем, как вы перемещаетесь по сетке, потому что вам нужно напечатать строку, но ваша доска основана на столбцах, поэтому вам нужно изменить это представление во время итерации массивов.
Дополнительные соображения
В то время как Connect Four ориентирован на опускание частей вниз по столбцу, может иметь смысл структурировать сетку с фокусом на столбцах. Однако вам также необходимо проверить строки и диагонали на полубайты, и вам нужно распечатать доску, которая работает на основе строк. Итак, если бы вы не были привязаны к структуре домашнего задания, я бы порекомендовал одномерный массив, в котором вы представляете несколько методов, которые дают разные представления.