From 7363556ad537bcda8696a70342a37b16673af18d Mon Sep 17 00:00:00 2001 From: Kieran Kihn <114803508+kierankihn@users.noreply.github.com> Date: Thu, 4 Dec 2025 13:28:56 +0800 Subject: [PATCH] feat(game): add `init` method to `ClientGameState` - Introduced `init` method to initialize `discardPile` in `ClientGameState`. - Added `` header to support future range-based operations. --- src/game/GameState.cpp | 7 +++++++ src/game/GameState.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/game/GameState.cpp b/src/game/GameState.cpp index 2b701c7..7113cba 100644 --- a/src/game/GameState.cpp +++ b/src/game/GameState.cpp @@ -6,6 +6,7 @@ */ #include "GameState.h" +#include #include #include @@ -104,6 +105,12 @@ namespace UNO::GAME { return this->player_.getCards(); } + void ClientGameState::init(DiscardPile discardPile) + { + this->discardPile_ = std::move(discardPile); + } + + void ClientGameState::draw(const Card &card) { this->player_.draw(card); diff --git a/src/game/GameState.h b/src/game/GameState.h index fa0aabc..e54a406 100644 --- a/src/game/GameState.h +++ b/src/game/GameState.h @@ -318,6 +318,11 @@ namespace UNO::GAME { */ [[nodiscard]] const std::multiset &getCards() const; + /** + * 初始化客户端状态 + */ + void init(DiscardPile discardPile); + /** * 摸一张牌 * @param card 摸的牌