Ich habe angefangen, ein kleines Tic Tac Toe Spiel zu erstellen, das jedes Mal, wenn der Lop wieder durchläuft, zwischen 'X' und 'O' wechseln sollte, indem man die Objektposition ändert:Objekt wird nicht in Schleife aktualisiert (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++;
}
}
}
Allerdings scheint jedes Mal ein 'X' auszugeben. Warum ist das und wie kann ich es beheben?
UPDATE: Ich weiß nicht, ob dies erforderlich ist, aber ich habe den Code von meiner wiederum Methode zu entscheiden, welche zu verwenden Objekt:
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;
public class User {
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:
So habe ich die meisten meiner Probleme behoben das einzige, was ich noch bin frage mich (es tut mir leid, wenn das eine dumme Frage ist), gibt es sowieso ein Objekt in einer Schleife wieder zu verwenden, anstatt es jedes Mal neu erstellt wird, wenn die Schleife ausgeführt wird. Ich frage dies, weil ich nicht möchte, dass meine Umdrehungsvariable jedes Mal auf 0 aktualisiert wird
Zeigen Sie uns die 'Test'- und' User'-Klassen. Es gibt nicht genügend Informationen hier, um Ihre Frage zu beantworten. – flakes
Warum erstellen Sie jedes Mal ein neues Board? – Li357
Was macht 'System.out.println (use);' print? –