LPTHWの演習 36 からゲームを動作させようとしています。
戦闘時以外は、ゲーム全体を機能させることができます。ここが私が問題だと思うところです。
def combat_engine():
global wins, hit_points, current_hp
if monster_current_hp or current_hp > 0:
print "You can type 'a' for attack, or 'q' for quit, choose one."
answer = raw_input(":> ")
if 'a' in answer:
attack(monster)
attack('player')
combat_engine()
elif 'q' in answer:
print t.white_on_red("You give up and are devoured by the %s.") % monster
exit(0)
else:
print "I dont understand %s." % answer
next()
combat_engine()
elif monster_hp == 0:
print "You defeated the %s, congradulations %s!" % monster, name
wins = wins + 1
if wins == 5:
you_win()
elif victim == 'player':
hit_points = hit_points + d6()
current_hp = hit_points
print "You feel hardier."
next()
barracks()
elif current_hp == 0:
print "You have been deafeted by the %s, better luck next time." % monster
next()
exit(0)
else:
print "Bug Somewhere"
バグはこの関数のどこかにあると思います。各キャラクターのHP値をプリントアウトすると、モンスターのHPが-2になった後も戦闘が続いていました。多分それはブール値の問題ですか?
私がやりたいことは、勝つためにすべての統計調整を行い、負けた場合はゲームを終了することです. 私はこれを乗り越えて、私の人生をより簡単にするクラスとディクテーションについて学び始めたいと思っています。もっと情報を投稿する必要があるかどうか教えてください。私はこれが初めてで、ここに質問を投稿するのはまだ得意ではありません。
前もって感謝します!