我目前正在研究一款桌面戰爭遊戲,一款基於回合制策略遊戲的雙人遊戲。進展一直順利,直到遇到產卵單位的問題。產卵倍數相同的精靈
該程序不會產生多個相同的單位,或在舊的死亡後重新生成新的。
下面是一些信息可以幫助:
- 每個類存儲在一個變量:(
redI = Red_Infantry()
) - 所有功能都存儲在主循環。
- 精靈類具有硬編碼的X和Y值,用於產卵單位和移動單位。
我該怎麼辦?
按照要求,這裏是紅軍步兵類:
class Red_Infantry(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_image('Soldier_red.png', -1)
self.selected = 0
self.area = screen.get_rect()
self.rect.topleft = (100, 300)
self.health = 100 #Soldiers are have mediocre toughness.
self.attack_damage = 25
self.range_maximum = 20 #in pixels, this is melee range
self.range_minimum = 0
self.update()
def update(self):
if self.health <= 0:
self.kill()
和產卵本機代碼:
if spawned_units < 3 and PHASE == 1 and TURN == 'Red':
if REDGOLD < 10:
print "Out of money! Moving to Phase 2!"
PHASE = 2
spawned_units = 0
elif event.type == KEYDOWN and event.key == K_1:
if REDGOLD >= 10 and REDCOMMAND >= 5:
Sprites.append(redI)
REDGOLD -= 10
REDCOMMAND -= 5
spawned_units = spawned_units + 1
else:
print "Not enough gold!"
這是類似風格的所有單位。它第一次正確執行,但不是第二次,第三次等,這意味着我只能有一名士兵。另外,當那個士兵通過self.kill死亡時,如果我嘗試產卵,它就不會回來。
這些信息不足。嘗試提供(至少)你的類定義以及你如何創建新實例的例子。 –
@ robots.jpg進行編輯,希望能有所幫助 – Oventoaster