在一个简短的Google之后,会弹出以下代码:https : //prereview.stackexchange.com/questions/100917/connect-
four-game-in-
java或http://www.lazylab.org/152/java/connect- Java
/或带有4D数组对角线检查的Connect4游戏中的四个游戏编码难题算法
所以它很容易找到。还有这个Scala实现也可以做到这一点。然后只有另一种语言:https : //github.com/Green7izard/AP-
ASE/blob/master/Scala/src/Day1.scala
基本上有3种取胜方式:
- 水平(行)。检查每个棋盘[i],看看玩家是否连续有4个,但是要注意数组的边缘。
- 垂直(列)。检查每个板[currentRow] [i],看是否有4个“ currentRow”相同的I。
最后一个选项是对角线。这一个比较难,因为您还要检查2个方向。
这意味着您无法一次性检查完成情况。但是您可以创建一个将检查所有值的函数,例如:
public void int GetWinner(){ int result = 0; result= CheckHorizontal(); if(result>0) return result; result= CheckVertical(); if(result>0) return result; result= CheckDiagonalTopLeftBotRight(); if(result>0) return result; result= CheckDiagonalBotLeftTopRight(); return result;}每一步之后执行,如果结果不为0,您将有赢家!但是有更好的方法来执行此壮举!



