gpt4 book ai didi

java - Java 中的井字游戏

转载 作者:行者123 更新时间:2023-12-02 05:57:59 25 4
gpt4 key购买 nike

我很难弄清楚如何打印出获胜者是谁。我是否应该创建一个单独的方法来决定是否有人获胜或平局?这是我到目前为止的代码。任何帮助是极大的赞赏。

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[][] board = {
{" ", " ", " "},
{" ", " ", " "},
{" ", " ", " "}
};
boolean done = false;
int player = 1;
int row = 0;
int col = 0;
while (done != true) {
System.out.println("Enter the row and column for your next move");
row = in.nextInt();
col = in.nextInt();
if (player == 1) {
board[row][col] = "X";
player = 2;
} else {
board[row][col] = "O";
player = 1;
}
printBoard(board);

}

}

public static void printBoard(String[][] boardValues) {
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 3; col++) {
System.out.print("|" + boardValues[row][col] + "|");
}
System.out.println();
System.out.println("-------");
}
}

最佳答案

正如评论中提到的,您缺少确定某人是否获胜的所有逻辑。我个人认为这种情况下的主要内容是:

print the blank board
while (done is false)
player makes move
check for win if true set done to true
print board

然后基本上你需要一个函数来进行移动,以某种方式确定它是 X 还是 O。然后是一个检查获胜的方法,这只需要根据上次检查以来的最后一步进行检查,或者它检查所有选项可能更容易。最后打印更新后的棋盘,退出循环后您可以打印一条获胜消息。

我发现这将程序分解为一个很好的简单结构。此链接包含一些您可能可以学习的代码。
http://www3.ntu.edu.sg/home/ehchua/programming/java/JavaGame_TicTacToe.html

祝你好运

关于java - Java 中的井字游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com