1

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

该板是一个 8x8 二维数组,值为 0、-1 或 1。

  • -1 是白棋子,
  • 1 是黑色棋子,并且
  • 0 为空单元格。

ApplyMove函数将简单地将当前玩家的棋子放在棋盘上并检查是否有敌方棋子在任何方向运行。然后它会朝那个方向翻转所有的碎片。

我的函数将具有以下参数:

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

我希望程序使用循环从玩家放置的棋子开始遍历所有 8 个可能的方向。如果没有一堆 if 和 else,这将如何以最简单的方式完成?

4

1 回答 1

0

一种让我觉得很简单的方法是使用变量xoffset,变量yoffset取值为 1、0、-1。for对这些变量的值使用循环,然后使用while循环跟踪连续的片段。

于 2015-10-09T06:04:15.757 回答