У меня возникла следующая проблема с моей программой. Это консольное приложение "connect four" Java. При запуске моей программы я сбрасываю 3 вещи.
- Многомерный массив символов
public final int rows = 8, columns = 8;
public char[][] board = new char[rows][columns];
Я сбрасываю его с помощью for-l oop, перезаписывая каждое поле массива символом '.', Который является моей текстурой платы по умолчанию.
public char[][] resetBoard() {
// for loops cycle through every array field
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
board[i][j] = '.';
}
}
return board;
}
Целочисленный массив
public int[] nums = new int[columns];
Я сбросил его с помощью for-l oop, используя переменную i, поскольку я просто нужен массив с длиной столбцов, который просто считает от 1. Он используется, чтобы пользователь знал, какой столбец он выбрал. Как в шахматах "А6", например, без букв.
public int[] resetNums() {
for (int i = 0; i < nums.length; i++) {
nums[i] = i + 1;
}
return nums;
}
Целое число
public int roundCounter = 0;
Целые числа отслеживают, сколько раундов было в текущей игре. Я хочу, чтобы он был напечатан во время игры.
public int resetRoundCounter() {
// Resetting Round Counter, by initializing it to 0
return roundCounter = 0;
}
Я перезагружаю их так:
gameMain main = new gameMain();
gameMode mode = new gameMode();
gameCheck check = new gameCheck();
main.board = main.resetBoard();
main.nums = main.resetNums();
check.roundCounter = check.resetRoundCounter();
Моя проблема при печати игрового поля, массива чисел и раунда Счетчик, похоже, не работает. Игровое поле просто пустое. Массив nums имеет значение только 0, а круглый счетчик остается равным 0. При запуске кода в основном методе он работал лучше, чем при выполнении его через классы et c.
Мой метод печати:
public void printBoard() {
gameMain main = new gameMain();
gameCheck check = new gameCheck();
// Printing number array with space in between the elements
for (int i = 0; i < main.nums.length; i++) {
System.out.print(main.nums[i] + " ");
}
// Printing the round count next to the number array
System.out.println(" Round " + check.getRoundCounter());
for (int i = 0; i < main.rows; i++) {
for (int j = 0; j < main.columns; j++) {
System.out.print(main.board[i][j] + " ");
}
System.out.println();
}
for (int i = 0; i < main.nums.length; i++) {
System.out.print(main.nums[i] + " ");
}
System.out.println("\n");
}
Я мог бы действительно использовать некоторую помощь, так как я не спал всю ночь Первоначально из-за того, как я увлекся программированием, теперь это расстраивает.
Спасибо за чтение и заранее спасибо!