猿问

我试图为健康栏创建一个 while 循环,但出现除法错误

你好,所以我有一个来自较大代码的一小段代码,用于显示游戏中敌人的生命值,但由于某种原因,即使我认为它应该停止,循环仍在继续,我有什么吗失踪或做错了?


import pygame, sys

import time

import random

import os

import sqlite3

import os.path


damage_done = 1

random_monster_health = random.randint(7,10)

alive = True

print (random_monster_health)


while alive == True:

    mob_health = random_monster_health - damage_done

    print ("mob health is {}" .format(mob_health))

    if mob_health != 0:

        percent_damage_done = mob_health / int(random_monster_health)

        how_much_health_bar = 1180 * (percent_damage_done)

    else:

        pass

    random_monster_health = mob_health

    print(random_monster_health)

    if mob_health != 0:

        print("the monster is still alive")

        pass

    else:

        alive == False

        print ("the monster is dead")

        pass


print("the loop has ended")


HUX布斯
浏览 85回答 1
1回答

动漫人物

else:    alive == False    print ("the monster is dead")    pass这部分是错误的。你正在alive比较False它应该是else:    alive = False    print ("the monster is dead")旁注:您不需要在每个 if 语句中使用 pass。
随时随地看视频慕课网APP

相关分类

Python
我要回答