Я начал создавать небольшую игру с tic tac toe, которая каждый раз, когда лоп снова проходит, он должен переключаться между «X» и «O», изменяя местоположение объекта:Объект, не обновляющийся в цикле (java)
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? –