【发布时间】:2016-01-06 23:14:34
【问题描述】:
我正在用 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 个可能的方向。如果没有一堆 if 和 else,这将如何以最简单的方式完成?
【问题讨论】:
-
欢迎来到 stackoverflow.com。请花点时间阅读the help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请read about how to ask good questions。您可能还想了解如何创建Minimal, Complete, and Verifiable Example。
-
我已经拆分了您的问题,以便于阅读。我还加粗了一些关键字。
标签: c++ arrays visual-studio loops reversi