私は小さなティックタックのつま先のゲームを作成し始めました。これは、ループが再び通過するたびに、オブジェクトの位置を変更することによって 'X'と 'O'の間で切り替える必要があります。ループ内でオブジェクトが更新されない
int m=0;
while(m<=3){
Test t=new Test();
User use= t.turn();
System.out.println(use);
char[][] board=new char[3][3];
System.out.println(" 1 2 3");
for(int y=0;y<board.length;y++){
System.out.print(y+1);
for(int x=0;x<board.length;x++){
board[x][y]=use.getMark();
System.out.print("|"+board[x][y]+"|");
}
System.out.println();
m++;
}
}
}
しかし、たびに「X」が出力されているようです。これはなぜですか、どうすれば修正できますか?
UPDATE:これが必要な場合、私は知らないが、私が使用するオブジェクトを私の番方法からコード決定を持っている:
public User turn(){
User use;
PlayerX playX=new PlayerX();
PlayerO playO=new PlayerO();
Board board=new Board();
int xturn=playX.getTurn();
int oturn=playO.getTurn();
if(xturn<=oturn){
use=playX;
System.out.println("X");
xturn++;
}else{
use=playO;
System.out.println("O");
oturn++;
}
System.out.println(xturn);
System.out.println(oturn);
return use;
}
package TicTacToe;
パブリッククラスユーザー{
private int XCoord;
private int YCoord;
private int Turn=0;
private char Mark;
public int getX(){
return XCoord;
}
public int getY(){
return YCoord;
}
public int getTurn(){
return Turn;
}
public char getMark(){
return Mark;
}
}
UPDATE 2:
だから私は私の問題の大半に、私はまだだ唯一のものを修正しましたループが実行されるたびに再作成されるのではなく、ループの中でオブジェクトを再利用する方法があるのでしょうか(不思議です)毎回私の回転変数を0に更新することを望まないので、これを尋ねます。
私たちに 'Test'と' User'クラスを見せてください。あなたの質問に答えられるのに十分な情報がありません – flakes
毎回新しいボードを作成するのはなぜですか? – Li357
'System.out.println(use);' print? –