1

私は Python でゲームを作っていますが、それにはヘルス システムがあります。game_state['health']を使用せずに常に I haveの変更をプログラムにチェックさせることはできますif game_state['health'] = =< 0か?

4

1 に答える 1

2

いくつかの教材、チュートリアルなどを必ず読んでください。

基本的なアプローチは次のようなものです。

class MyCharacter(object):
    """Simple Character Class"""

    def __init__(self, health):
        self._health = health

    @property
    def health(self):
        return self._health

    @health.setter
    def health(self, new_value):
        self._health = new_value
        if new_value <= 0:
            print "What's that strange white light...?"
            raise EndGameEvent("Character is dead... :(")

    def takes_damage(self, damage):
        print "Ouch... that really hurt!"
        self.health = self.health - damage

メインのゲームスレッドはEndGameEventを受け取り、適切に動作します。これはまだチェックを使用していると思いますが、ヘルスステータスをチェックするたびにコードを明示的に記述する必要はありません。

于 2012-12-02T20:18:47.307 に答える