我目前面临的一个设计问题,在我的游戏设计,并不可怕,但它困扰了我足够的,所以我想问问别人的意见:-)游戏设计 - 装卸奖金/鸭子类型 - 蟒蛇
我目前尝试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