refractor(game): simplify nextPlayer logic in GameState

This commit is contained in:
Kieran Kihn
2025-11-17 13:58:13 +08:00
parent e54bbba4f7
commit 8ef3962451

View File

@@ -204,18 +204,16 @@ namespace UNO::GAME {
void GameState<PlayerStateType>::nextPlayer() void GameState<PlayerStateType>::nextPlayer()
{ {
if (this->isReversed_ == false) { if (this->isReversed_ == false) {
this->currentPlayer_ = std::next(this->currentPlayer_);
if (this->currentPlayer_ == this->players_.end()) { if (this->currentPlayer_ == this->players_.end()) {
this->currentPlayer_ = std::next(this->currentPlayer_);
this->currentPlayer_ = this->players_.begin(); this->currentPlayer_ = this->players_.begin();
} }
} }
else { else {
if (this->currentPlayer_ == this->players_.begin()) { if (this->currentPlayer_ == this->players_.begin()) {
this->currentPlayer_ = std::prev(this->players_.end()); this->currentPlayer_ = this->players_.end();
}
else {
this->currentPlayer_ = std::prev(this->currentPlayer_);
} }
this->currentPlayer_ = std::prev(this->currentPlayer_);
} }
} }