我正在研究Swing Ti-Tac-Toe变体游戏。在AI类中,我有一个函数可以获取板和morpionType
。它遍历棋盘上所有可用的点intersections
并返回产生游戏结束的交叉点数量。它表现得很奇怪所以我决定在for循环中打印出一个语句。当我这样做时,循环变得无限。
代码位于Event Dispatch Thread中。我无法实际发布整个项目,所以这里是一段代码。
public ArrayList<Point> check4WinIn1(Board board, MorpionType morpionType)
{
ArrayList<Point> winningIntersections=new ArrayList<>();
int counter=0;
for(Point intersection: board.listOfAvailableIntersections)
{
//System.out.println("Testing!!! Testing!!!!");
if(board.check4GameOver(new Morpions(morpionType, intersection, board.morpionRadius, board.getGameCounter())))
{
winningIntersections.add(intersection);
if(winningIntersections.size()==2)
return winningIntersections;
}
}
return winningIntersections;
}
提前致谢!!!