Я создаю настольную игру с двумя разными цветными частями, черными и красными.Настольная игра Capturing Pieces
Если игрок окружает фигуры противников своим, горизонтальным или вертикальным, части удаляются. Вот несколько фотографий, чтобы продемонстрировать это:
Моя доска - это простой 2-мерный целочисленный массив со значениями 0, 1 или 2 в зависимости от того, пустое ли пространство, красная часть или черная часть.
Это код, который я придумал до сих пор, однако я получаю проблемы с ошибками вне границ, а также не учитывает захват более одной части.
static final int EMPTY = 0, BLACK = 1, RED = 2, ROW = 9, COLUMN = 9;
board = new int[ROW][COLUMN];
public void captureRedPieces() {
for(int i = 0; i < ROW; i++) {
for(int j = 0; j < COLUMN; j++) {
if(i <= ROW - 2) {
if(board[i][j] == 1 && board[i + 1][j] == 2 && board[i + 2][j] == 1) {
board[i + 1][j] = EMPTY;
}
}
if(i <= COLUMN - 2) {
if(board[i][j] == 1 && board[i][j + 1] == 2 && board[i][j + 2] == 1) {
board[i][j + 1] = EMPTY;
}
}
}
}
}
Может ли кто-нибудь помочь мне придумать лучшее решение для захвата предметов?