台灣最大程式設計社群網站
線上人數
1074
 
會員總數:246136
討論主題:189720
歡迎您免費加入會員
討論區列表 >> Java >> 求救XO棋的問題!
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
求救XO棋的問題!
價值 : 5 QP  點閱數:295 回應數:2
樓主

海洋風
初學者
80 1
12 3
發送站內信

1.目前我自學Java,撰寫一個XOGameGame,目前尚未撰寫判斷誰會win(不是要問這個),程式可以執行。
2.第一個player 代表為 "X" ,第二個則為"O"。
3.執行第一次會出現棋盤位置"x",第二次則位置會變成"O",但第一次的位罝也變成"O"。
4.網路查詢很久,也看不出問題,請高手幫忙,謝謝!
5.以下為原始程式碼。

import java.util.*;
import java.lang.*;

class GameBoard{
private String[][] board =new String[3][3];
final int max_count=2,min_count=0; // 判斷是否在棋盤中行列範圍值
private int player=1;// 判斷是哪個玩家

private void DrawBoard (int row,int column){
for(int i=0;i<3;i++){
System.out.println("\n-------------");
for(int j=0;j<3;j++){
System.out.print("|");
if(board[i][j]!=null){
System.out.print(board[row][column]+"|");
}
else{
System.out.print("|\t");
}

}
}
System.out.println("\n-------------");
}
public boolean judge(int currnet){

if (Math.max(currnet, min_count) != Math.min(currnet, max_count)) {
System.out.println("The Position You Entered is illegal !!");
return true;
}
else {
return false ;
}
}

public boolean judge(int row, int column){
if(board[row][column]!=null){
System.out.println("Chess's Position is illeagl !");
return true;
}
else{
player++;
if(player%2==0){
board[row][column]="X";
}
else{
board[row][column]="O";
}

DrawBoard(row,column);
return false;
}

}

}


public class XOgame {
public static void main(String[] args) {
GameBoard Game=new GameBoard();
Scanner input=new Scanner(System.in);
int row ,column;
boolean Turn_on=true;

while (Turn_on){
System.out.print("Please Enter Rows(0,1,2):");
row=input.nextInt();
if(Game.judge(row)) continue;

System.out.print("Please Enter Column(0,1,2):");
column=input.nextInt();
if(Game.judge(column)) continue;

if(Game.judge(row,column)) continue;

}
}
}

搜尋相關Tags的文章: [ java ] , [ xo game ] ,
本篇文章發表於2020-04-10 10:59
1樓
最有價值解答

o小高o
檢舉此回應
這裡看起來有點怪怪的:



你判斷了board[i][j]!=null 怎麼印出的不是board[i][j] 而是印了 board[row][column] ?
那不就每次印出來都是一樣的?
本篇文章回覆於2020-04-10 14:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

海洋風
檢舉此回應
感謝!一直以為是String 陣列寫錯,搞錯方向了....已解決!
本篇文章回覆於2020-04-13 12:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.