c# - C#井字游戏/字体和数组
问题描述
在井字游戏中,程序适用于水平和垂直,但不适用于对角线。我认为那private bool checkWin
部分是错误的。
private bool checkWin()
{
for (int row=0; row<3; row++)
{
if (values[row,0] != ' ' && values[row,0]==values[row,1]&&values[row,0]==values[row, 2])
{
lockButton(false);
return true;
}
}
for (int col = 0; col < 3; col++)
{
if (values[0, col] != ' ' && values[0, col] == values[1, col] && values[0, col] == values[2, col])
{
lockButton(false);//asdfasdfsdafadsfasdfasdfasdf
return true;
}
}
return false;
}
解决方案
也许您可以尝试在第二个 for 和 return false 之间添加类似这样的内容:
if (values[0, 0] != ' ' && values[0, 0] == values[1, 1] && values[0, 0] == values[2, 2])
{
lockButton(false);
return true;
}else if(values[0, 2] != ' ' && values[0, 2] == values[1, 1] && values[0, 2] == values[2, 0])
{
lockButton(false);
return true;
}
第一个用于 0,0 到 2,2 的对角线,第二个用于 0,2 到 2,0
推荐阅读
- javascript - 如何在没有用户主动登录的情况下从 Outlook 插件任务窗格获取联系人?
- java - Spring servlet 适用于 IntelliJ,但不适用于 tomcat
- azure - Azure 流分析查询将日期时间字段转换为单独的日期和时间字段
- java - JdbcTemplate SQL Server(春季)
- ruby - 有条件的地图
- python - 如何解决使用 Tensorflow 在 CNN 中不学习的问题?
- c# - 如何将 std_string.i 与 swig c++ 包含到 c#
- html - 根据分配时声明的接口,角度表单输入与数据类型不匹配
- javascript - 谷歌地图集群图像中的不透明度
- oracle - Oracle 进程的 CPU 利用率始终为 100%