2017-11-21 3 views
0

昨日pythonを学び始めました。私はすでに壁に乗りました。 私はPythonでゲームの健康機能を作りようとしています。変数Pythonを常にチェックしています

health = 10 

health = (health - 5) 

health = (health - 6) 

ここでは、健康状態が-1になっているので、完全に別のコード行を実行するプログラムが必要です。私は持ちたくない

if(health <= 0): 

    ... 

私はこれをコピーする必要があるので、どこにでもヘルスが変更されています。

ありがとうございます、ありがとう!

答えて

1

常にhealthを確認する必要はありません。健康を低下させる機能(例:attack(character, damage))を呼び出す場合は、いつでもhealth > 0かどうかを確認することができます。そうでない場合は、game_over()に電話する必要があります。ここで

は、関連する質問からいくつかのコードです:

class Character: 
    def __init__(self, name, hp_max): 
     self.name = name 
     self.xp = 0 
     self.hp_max = hp_max 
     self.hp = hp_max 
     # TODO: define hp_bar here 

    def is_dead(self): 
     return self.hp <= 0 

    def attack(self, opponent, damage): 
     opponent.hp -= damage 
     self.xp += damage 

    def __str__(self): 
     return '%s (%d/%d)' % (self.name, self.hp, self.hp_max) 

hero = Character('Mario', 1000) 
enemy = Character('Goomba', 100) 

print(enemy) 
# Goomba (100/100) 

hero.attack(enemy, 50) 
print(enemy) 
# Goomba (50/100) 

hero.attack(enemy, 50) 

print(enemy) 
# Goomba (0/100) 
print(enemy.is_dead()) 
# True 
print(hero.xp) 
# 100 
0

私は、Python言語で慣れていないんだけど、私の提案は、Pythonにtranferredすることができます。

ヘルス値を減少させますが、ゼロより小さい値を戻さない関数を作成します。私は自分のコードの前に置くことがしたい、

function integer decreaseHealth(parameter health, parameter loss) 
{ 
    integer newHealth = health - loss 
    if (health < 0) 
     return 0 
    else 
     return newHealth 
} 
+1

方法 - 健康は健康=健康から離れて離れて取られたとき

その後、私は何も入力する必要はありません:健康 - =損失;ヘルス<0:raise PanicHealthNegative() ' – tripleee

0

は、だから私は、このためのPythonで何かが存在しない

if(health <= 0)" 
    print("Game over") 
else: 
    print("New health") 

恥のようなものを入力する必要があります:これは、擬似コードである

これは、健康状態が0以下になると、これ以降のコードでGame Overが印刷されても問題がないことを意味します。 `デフdecrease_health(損失)のようなものとなり、Pythonでこれを行うには1