2009-11-20 187 views
-5

我想用C++爲我的項目構建一個單人紙牌遊戲。紙牌遊戲設計

以下是我想到的:卡片類屬性/成員:套裝,等級,顏色(所有這些都可以是枚舉)操作/功能:翻轉卡,比較卡,打印卡規則類:包含規則並驗證每個用戶的動作/命令來檢查它是否被允許。命令類:我認爲這不一定是一個類。也可以是一個枚舉。基類CardPile。從CardPile派生更多類,如DealPile,Temporary Pile,DestinationPile,TablePile。我不清楚的是類之間的關係。

謝謝!

+6

* sniff *聞起來像作業。 – 2009-11-20 19:46:09

+1

我有禮貌地建議你對自己制定的設計有一個清晰的理解,而不是對你的設計感興趣。 – mquander 2009-11-20 19:47:17

+0

我不會因爲你的「造型」而過分溺水。有許多開源參考。膠水是修改更多「抽象」卡片的圖形用戶界面,這些卡片被放置在堆或堆棧等中。確定它們如何組合在一起的最好方法就是編寫代碼! – 2009-11-20 19:47:18

回答

2

你需要一張可以保存卡片價值和套裝的卡片。

您還需要一個數據結構來表示一個「堆棧」卡。

從那裏開始,構建GUI應該不是那麼具有挑戰性。這是一個非常簡單的項目,你似乎有正確的想法。

+0

是的,我沒有想過要有一個數據結構來表示這堆卡。我在考慮不同類型的甲板/堆。但也許我可以有一個分部數據結構,並在甲板/樁中使用它。謝謝 – AgentHunt 2009-11-20 20:10:40

0

請考慮,而不是做一堆前期設計,重點是創造有用的東西。你的計劃需要做什麼?

它需要洗牌,所以設計一種方式來表示52張牌並將其洗牌。這很容易實現,但這是一個很好的起點。

然後你需要佈置卡片。因此,想出一個方法來佈置卡片,並將其餘部分放在繪圖堆中。

等等。而不是分析對象,重點在行爲。僅根據需要創建對象以支持程序的行爲。這將幫助您避免在分析和超額代碼中迷失方向,並確保您有一個實際上可以做一些有用的事情的程序。如果你在做任何事情之前需要交出你的設計呢?不是一個問題;你的想着我以上所描述的方式。實現將留待以後,但即使只是想着如何例程就像上面的工作將會比設計一堆物體更有價值,而不知道你會怎樣處理它們。)