2012-02-16 79 views
1

我正在製作類似於口袋妖怪的遊戲,現在我正試圖找出處理我的戰鬥的最佳方式。如何在Android遊戲中處理類,活動設計

我創建了一個怪物類,當instanced包含特定怪物的名字,健康狀態,統計數據等時,我將有兩個怪物相互爭鬥,玩家可以選擇一個動作(可能是一個類,以及傷害,信息和類型統計)來攻擊對手。

爲了讓我可以使用方法來攻擊和計算傷害,我最好能讓Moves類成爲一項活動嗎?或者我應該創建一個戰鬥活動,讓我發送怪物相關數據,並處理改變健康狀況並打印文本以解釋發生的事情?這樣,我的怪物和動作類只保存信息,不使用任何方法。

回答

1

從設計的角度來看,你的第二個想法更多的是提示。

,你有基本的想法是,每個對象(怪物,在這種情況下)都提供中獲得什麼動作都可以,目前統計的公共職能等

因此戰活動會期望有每個團隊一個或多個怪物對象,規則定義爲什麼使得戰鬥勝利,處理哪個怪物先行等。

因此,如果一個怪物受到傷害,我們需要保存它,那麼可以在怪物級如:

public void takeDamage(double damage) { 
this.hp -= damage; 
//Handle status updates if hp <= 0 

//Automatically save the monster's state, to prevent cheating by quitting before battle is over! 
this.saveMonsterState(); 
} 

只要一個怪物擊中另一個怪物,就會從戰鬥活動中調用。希望有所幫助!