2012-12-02 76 views
0

我打算在python遊戲中添加一個健康系統。我希望它在game_state ['']。如何使衛生系統相對於你所受的傷害發生?我需要在python遊戲中製作一個健康系統

像這樣:

print "Your health is", game_state['health'] 
    print "Zombie attacks" 
    global health = game_state['health'] - 10 
    print "Your health is", game_state['health'] - 10 

將類似的東西的工作?我可以使用全球?

回答

1

你想要做這個嗎?

game_state['health'] = game_state['health'] - 10 
+0

對不起,忘了改變這個全局的東西......先寫了,但後來認爲使用game_state會更好。那會工作嗎? –

+1

你爲什麼認爲這不起作用?如果你的'game_state'是全局存儲玩家信息的東西,那麼它應該也可以在那裏增加健康。 – poke

+0

沒關係,我改變了它,它的工作原理!感謝您的幫助:) –

0

(回覆提問者對較早回答的評論)這就是你如何在課堂上實現健康。

import os 
class GameStatus: 
    def __init__(self): 
     self.health = 100 
    def reduce_health(self): 
     self.health = self.health - 10 
     if self.health <= 0: 
      game_over() 

def main_game(): 
    game_status = GameStatus() 
    #... 
    # when player gets hurt 
    game_status.reduce_health() 
    # ... 

def game_over(): 
    print "game over, sorry" 
    os._exit(1) 

正如我所說的,這是矯枉過正,特別是如果你有一個單一的遊戲循環,可能只需要在每一個循環的末尾檢查一次衛生,但如果你開始增加更多的複雜性可能有用。