Я пытался создать игру ti c -ta c -toe в Java, чтобы помочь мне улучшить создание объектно-ориентированных проектов с нуля. Но я столкнулся с проблемой и ищу какое-то руководство.
В настоящий момент я только на полпути к проекту, поэтому я просто дам вам быстрое обновление того, что я сделал до сих пор. .
В настоящее время в проекте в качестве драйвера используется класс Game. Он имеет класс Board, в котором хранится карта между местоположениями на доске (A1, A2, A3 ...) и их значениями ('X', 'O', null). И класс Player, который содержит поля для команды, в которой находится игрок (X или Os), и количество побед (функциональность для победы еще не реализована).
Проблема, с которой я столкнулся, заключается в создании два экземпляра класса Player (player1 и player2) из Game.
Я определил их как поля в Game следующим образом:
public static Player player1 = new Player();
public static Player player2 = new Player();
player1 затем предлагается выбрать между X и Os и player2 дают противоположное.
player1.setTeam(Character.toUpperCase(teamChoice));
if(player1.getTeam() == 'X')
player2.setTeam('O');
else
player2.setTeam('X');
В моей голове это должно работать. Тем не менее, когда я распечатываю выбор игрока, он печатает, какой плеер2 был установлен.
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;
}
}