[英]Tic-Tac-Toe in Java
我很難弄清楚如何打印出勝利者是誰。 我應該創建一個單獨的方法來決定是否有人贏了或抽簽? 這是我到目前為止的代碼。 任何幫助是極大的贊賞。
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
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.