массивы — Поиск других частей в реверси-игре C ++

Я делаю Реверси игра в C ++, но у меня возникают проблемы с выяснением того, как проверять наличие последовательных фигур вражеской доски, как только игрок помещает их на доске.

Плата представляет собой двумерный массив 8×8 со значениями 0, -1 или 1.

  • -1 — белая фигура,
  • 1 черный кусок и
  • 0 является вакантной ячейкой.

Функция ApplyMove просто поместит фигуру текущего игрока на доску и проверит, есть ли вражеские фигуры в каком-либо направлении. Это тогда перевернет все части в этом направлении.

Моя функция будет иметь следующие параметры:

void ApplyMove(char board[BOARD_SIZE][BOARD_SIZE], int row, int col, char currentPlayer)

Я хочу, чтобы программа использовала циклы для перебора всех 8 возможных направлений, начиная с фрагмента, который был помещен игроком. Как бы это было достигнуто самым простым способом без множества ифсов и других?

0

Решение

Один способ, который кажется мне простым, — это использование переменных xoffset а также yoffset которые принимают значения 1, 0, -1. Использовать for Цикл значений этих переменных, а затем while цикл, чтобы следовать последовательным частям.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]