我正在用 C# 制作 Connect 4 控制台游戏。除了功能之外,我已经设置了所有应用程序并正常工作hasGameBeenWon()
。该函数在 Main do...while 循环中调用,并在游戏尚未获胜时返回 false。
static bool gameHasEnded(int currentTurn)
{
int currentTurnPiece;
if (currentTurn.Equals(1))
{
currentTurnPiece = BLUE;
}
else if (currentTurn.Equals(2))
{
currentTurnPiece = RED;
}
return false;
}
(显然,这段代码是不完整的)
...是它当前的样子,currentTurn
var 是当前玩家回合的 int 值(可以是 1 或 2)。BLUE 和 RED 是分配了值 1 和 2 的常量,当应用程序打印到控制台时,它们在板上转换为蓝色和红色。
现在我被困在如何检查游戏是否有效且尽可能简单。该板存储在一个名为 的数组中board
,我需要检查是否有一组 4 个相同的值向上/向下、向左/向右以及在所有方向上对角线。向上/向下和向左/向右检查并不难,但我认为每次检查对角线可能有点慢。
无论如何,我是否可以加快检查整个电路板或可能完全跳过检查整个电路板并可能只搜索相关区域?