[英]How do I work player health In Python 2.7?
我不確定如何創建一個健康系統,讓職業玩家在被擊中3次后被殺死。 有人可以幫忙嗎? 我正在使用Python 2.7進行編碼。 我目前有
if pygame.sprite.spritecollideany(player, opponents):
player.kill()
我正在考慮使用變量
player.HP = 3
但它不會死!
if pygame.sprite.spritecollideany(player, opponents):
player.HP -1
if player.HP == 0:
player.kill
但是,就像我說的那樣,它不會消失,但是代碼有效。 直到我添加了新系統,它才被淘汰,現在卻沒有。 有人可以幫忙嗎? 謝謝。
就像@ juanpa.arrivillaga在評論中說的那樣,您需要分配player.HP的遞減值,否則,您正在進行減法並丟棄該值。 您需要更改:
player.HP -1
至
player.HP -= 1
這是一個例子:
>>> class A:
... def __init__(self, val):
... self.val = val
... def decrement(self):
... self.val - 1 # <- Does not reassign decremented value
... print self.val
...
>>> a = A(10)
>>> a.decrement()
10
>>> a.decrement()
10
>>> a.decrement()
10
>>> a.decrement()
10
>>> class A:
... def __init__(self, val):
... self.val = val
... def decrement(self):
... self.val -= 1 # <- Does reassign value
... print self.val
...
>>> a = A(10)
>>> a.decrement()
9
>>> a.decrement()
8
>>> a.decrement()
7
>>> a.decrement()
6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.