【发布时间】:2013-02-11 00:36:31
【问题描述】:
public void CheckWin()
{
if (spillebræt[0, 0] == 'X' && spillebræt[1, 0] == 'X' && spillebræt[2, 0] == 'X')
{
Console.WriteLine("Player 1 wins!\nPress ENTER to end game");
Console.ReadLine();
Environment.Exit(0);
}
}
Spillebræt = 游戏板。我正在尝试创建一种方法来确定基于控制台的简单井字游戏的获胜者。对于游戏板,我有一个二维字符数组,最初用“+”符号填充。玩家等级在 2 个玩家轮次之间切换,每次检查是否找到了获胜者。我想我可以使用很多 if 语句来确定获胜者,因为有 8 种可能的解决方案,但我正在寻找一种使用更少行空间的方法。上面的代码显示了我的初始方法(通过 if 语句检查每个可能的解决方案)。
【问题讨论】:
-
虽然有 16 种可能的解决方案采用这种格式,但您也需要考虑
'O'。 -
您必须使用 if 语句设置所有可能的获胜组合
-
@Shaharyar 我不这么认为。还有其他选择。
-
@AndrewMao 我会说这确实是重复的。
-
@OscarMederos 我的意思是他必须定义所有组合,他不必使用 if 语句。