在C ++ reversi游戏中搜索其他作品

时间:2015-10-09 06:00:43

标签: c++ arrays visual-studio loops reversi

我正在用C ++制作一个 Reversi 游戏,但是一旦玩家将棋子放在棋盘上,我就无法弄清楚如何检查连续的敌人棋盘碎片。

电路板是一个8x8二维数组,其值为0,-1或1.

  • -1是白片,
  • 1是黑色和
  • 0是空白细胞。

ApplyMove 功能只会将当前玩家的棋子放在棋盘上,并检查是否有任何方向的敌人棋子。然后它将朝那个方向翻转所有碎片。

我的功能将包含以下参数:

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

我希望程序使用循环从播放器放置的片段开始迭代所有8个可能的方向。如果没有一堆ifs和elses,如何以最简单的方式实现这一目标?

1 个答案:

答案 0 :(得分:0)

让我感到很简单的一种方法是使用取值为1,0,-1的变量xoffsetyoffset。对这些变量的值使用for循环,然后使用while循环来跟踪连续的部分。