我目前面臨的一個設計問題,在我的遊戲設計,並不可怕,但它困擾了我足夠的,所以我想問問別人的意見:-)遊戲設計 - 裝卸獎金/鴨子類型 - 蟒蛇
我目前嘗試pygame,我已經開發了一個小空間射手,現在我想處理一些獎金。
現在我有一個抽象類,獎金從中獲得目前實施的所有獎金:「健康紅利」,這還給一些健康的球員,「死亡獎金」,這降低了玩家的健康1.
在我的遊戲循環這裏是我做的(大約):
def testCollisionBonusBolt():
#bolts are sprites fired by the player that allow him to get the bonuses
collisions = pygame.sprite.groupcollide(bonusesGroup, boltsGroup, True, True)
for col in collisions:
player.bonuses.append(col)
,並在之後我告訴玩家使用獎金
class Player:
...
def useBonuses(self):
for bonus in self.bonuses:
bonus.use(self)
直到現在everyt但是我想添加一個「炸彈加值」,當玩家射擊時會爆炸並殺死周圍的敵人。
這個「獎勵」實現了抽象類Bonus的「使用(目標)」方法與其他人一樣,但是我覺得在獎金列表中添加這樣一個獎金是不好的,因爲應該沒有關係它們之間!
獎金背後的概念是,這是「對某事做某事的東西」,以前是我的玩家類的目標,但現在它不是那麼清晰...... 當然不是調用player.useBonuses()在檢測到哪些獎金在哪裏拍攝後,我可以測試類型(使用isinstance),例如獎金,但是在所有關於鴨子打字的討論之後,爲什麼這是pythonic方式,我在想如何管理我的獎金問題?
感謝您閱讀這篇文章,希望大家能幫助我!
問候
炸彈在炸彈上爆炸時,炸彈不會圍繞玩家區域爆炸,而可能在屏幕上的任何地方爆炸,並且絕對與當前玩家的位置無關。 對不起,不清楚。 – attwad 2009-07-07 02:44:10