2015-09-26 169 views
0

嗨我應該使用戰略模式來編寫這款遊戲的代碼。我創建了Country類和Character接口。但我有點困惑,我不知道應該在哪裏添加能力?遊戲狀態模式

玩家首先必須爲他的國家選擇一個國家,這可能是:Latveria,Ecotopia,Dinotopia。選擇國家後,玩家必須選擇以下選項之一爲他/她的角色分配一個職業:國王,女王,巨魔和騎士。根據角色類別不同,角色可以有不同的能力:騎士可以輕鬆處理任何種類的武器,其中包括弓箭,劍,刀和斧頭。國王不使用任何武器,他可以制定戰略。女王使用特殊的魔法。巨魔使用刀和軸。所有類型的角色都可以使用其特定的能力進行戰鬥。此外,所有人都可以騎馬游泳。

+0

某種UML包的將是很好的設計這種我已經創建了一件事 – Rob85

+0

。由於我無法在這裏上傳,所以我上傳了imgur:http://imgur.com/KR7GDlx – dummy

回答

0

看着你給的圖我會做不同的。首先,你不需要一個Country類,而只需要它作爲一個列表,並讓你的Character類有一個Country Property,根據用戶選擇的內容從這個列表獲取值。

創建一個字符類,其中包含任何字符相同的所有方法和屬性。

現在創建四種不同的字符類型作爲包含與該類型相關的所有屬性的類,這四個類將繼承Character類。

當用戶創建一個新字符時,您將創建一個新的CharacterType實例,並通過構造函數傳遞國家和類的類型,然後根據給定數據繼續創建字符類型,然後繼續根據需要設置字符。

像這樣的東西應該工作正常

+0

而不是字符界面我應該創建界面。我說得對嗎? – dummy

+0

沒有我將放在單獨的角色類型類如女王和國王等的能力,能力將是每個角色類型的屬性。所以在你的圖上,你對Character類幾乎是正確的,然後把這些能力作爲單個類型的屬性。希望這有助於 – Rob85

+0

我明白了,但不應該在戰略模式中使用接口?因爲在所有的例子中都有接口。 – dummy