添加System.out.println()时,循环变为无限

时间:2018-02-07 18:58:39

标签: java swing for-loop infinite system.out

我正在研究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;
}

提前致谢!!!

0 个答案:

没有答案