我一直在尝试用Java创建井字游戏,以帮助我从头开始创建面向对象的项目。但是我遇到了一个问题,正在寻找一些指导。
目前我只是完成项目的一半,所以我只给你快速更新一下我到目前为止所做的事情。
该项目目前具有Game类作为驱动程序。它具有一个Board类,用于存储板上位置(A1,A2,A3 ...)及其值(“ X”,“ O”,null)之间的映射。还有一个Player类,该类为运动员所在的团队(X或Os)和获胜次数(尚未实现获胜的功能)保留字段。
我遇到的问题是从Game创建两个Player类的实例(player1和player2)。
我已经将它们定义为Game中的字段,如下所示:
public static Player player1 = new Player();
public static Player player2 = new Player();
然后要求player1在X和O之间选择,而player2则相反。
player1.setTeam(Character.toUpperCase(teamChoice));
if(player1.getTeam() == 'X')
player2.setTeam('O');
else
player2.setTeam('X');
在我的脑海中,这应该起作用。但是,当我打印出播放器选项时,它会打印出已设置为player2的任何内容。
System.out.println("Player 1 you have selected " + player1.getTeam() + "\n"); System.out.println("Player 2 you will be " + player2.getTeam() + "\n");
Player类的内容如下:
public class Player {
public static int wins = 0;
public static Character team;
public Player(){
}
public int getWins(){return wins;}
public Character getTeam(){return team;}
public void setTeam(Character team){
Player.team = team;
}
}
我一直在尝试用Java创建井字游戏,以帮助我从头开始创建面向对象的项目。但是我遇到了一个问题,正在寻找一些指导。我只是...
问题在这里: