Я пытаюсь переключаться между двумя игроками в классе «Матч». Но я не могу понять, почему он не работает ... Кажется, он только изменяет переменную localy внутри функции switchPlayer ().
int main() {
Game game = Game();
cout << game.getMatch().getCurrentPlayer()->getName() << endl;
game.getMatch().switchPlayer();
cout << game.getMatch().getCurrentPlayer()->getName() << endl;
}
class Match {
public:
Match();
Player* getCurrentPlayer() const;
void switchPlayer();
private:
Player* player1; //White
Player* player2; //Black
int currentPlayer;
};
Player* Match::getCurrentPlayer() const{
switch (currentPlayer)
{
case 1:
return player1;
case 2:
return player2;
default:
cout << "joueurs qui n'existe pas" << endl;
return player1;
}
}
void Match::switchPlayer() {
cout << currentPlayer << endl;
currentPlayer = currentPlayer == 1 ? 2 : 1;
cout << currentPlayer << endl;
}
Terminal: Marie 1 2 Mar ie