1
按照特定的标准,我必须使用GridWorld制作一个正常运行的井字游戏。我已经完成了大部分课程,但有一种方法是我坚持不懈的。我不确定如何检查对角线或垂直线是否有赢者。以下是方法。Java井字游戏错误
public String getWinner()
{
Grid<Piece> grid = getGrid();
if(grid == null)
{
return "no winner";
}
String winner = "";
for (int r = 0; r<grid.getNumRows(); r++)
{
Piece row0 = grid.get(new Location(r,0));
Piece row1 = grid.get(new Location(r,1));
Piece row2 = grid.get(new Location(r,2));
if(row0 == null || row1 == null || row2 == null)
{
continue;
}
if(row0.getName().equals(row1.getName()) && row0.getName().equals(row2.getName()))
{
winner = row0.getName()+ " wins horizontally!";
break;
}
}
//check for vertical winner
//check for diagonal winner
if(isWorldFull() && winner.length() == 0)
{
winner = "cat's game - no winner!\n\n";
}
else if(!isWorldFull() && winner.length() == 0)
{
winner = "no winner";
}
return winner;
}
任何和所有的帮助将不胜感激。
啊哈!我现在明白了。感谢您的帮助如此之快。在这种情况下,我需要同时检查col和row的对角线。 – ChriskOlson
@ChriskOlson如果你发现我的答案正确,那么请接受它:) – ciamej