所以我正在開發一個簡單的紙牌遊戲。現在,我正在使用約4個不同的Vector<Card>
容器將卡片保存在Deck,Hand,InPlay和Discard中。我正要開始編寫代碼,以便在必要時將卡從InPlay Vector移動到Discard Vector,並且我意識到我可以使用2個向量並枚舉一組卡狀態來區分卡在遊戲領域中的位置。我應該使用多個向量還是使用枚舉狀態
我的想法是這樣的:
class Card
{
Enum class CardState
{
InHand,
InPlay,
Discarded
};
//other card class data
};
那麼我可以通過一個單一的vector<Card> InPlay
迭代,並覈對這些標誌。甲板仍然是自己的矢量容器。
如果試圖在整個遊戲中管理3個不同的容器,會更容易嗎?
謝謝,Cap'n!如果你說不出來,我正在做的項目是一個簡單的魔法克隆,所以我有另一個我想知道的情況。如果一張牌在場,它可以有多種狀態(輕拍,召喚疾病等等,我沒有使用這些確切的狀態,只是例子)你會如何推薦類似的東西? – Prototype958
使用「currentStates」列表。例如:vector currentStates您可以添加助手方法,如:bool isInState(CardState狀態) –