#Variables
enemy=['Dummy','Ghost','Warrior','Zombie','Skeleton']
current_enemy=random.choice(enemy)
enemy_health=randint(1,100)
dmg=randint(0,50)
current_enemy_health=enemy_health-dmg
#Functions
def enemy_stats(current_enemy_health):
if current_enemy_health<=0:
print(current_enemy,"died.")
if current_enemy_health>0:
dmg=randint(0,50)
current_enemy_health=enemy_health-dmg
print(current_enemy,"has",current_enemy_health,"health left.")
#Meeting an enemy - Attack/Defend Option
def encounter(current_enemy):
print(name,"encountered a",current_enemy,"with",current_enemy_health,"health.","What do you do?")
print("Attack? or Defend?")
def battle():
encounter(current_enemy)
#Attack Or Defend?
choice=input("What do you do?")
if choice!="Attack" or choice!="Defend": #If the choice isn't attack then ask again
print("Do you attack or defend?")
choice=input("What do you do?")
#Say correct sentence depending on what you do.
if choice=="Attack": #If the choice was attack then do a random number of dmg to it
print(name,choice+"s",current_enemy,".","You deal",dmg,"damage","to it.")
enemy_stats(current_enemy_health)
if choice=="Defend": #If ... to it
print(name,choice+"s.")
#Check to see if the enemy is still alive
while current_enemy_health>1:
#Attack Or Defend?
choice=input("What do you do?")
if choice!="Attack" or choice!="Defend": #If the choice isn't attack then ask again
print("Do you attack or defend?")
choice=input("What do you do?")
#Say correct sentence depending on what you do
if choice=="Attack": #If the choice was attack then do a random number of dmg to it
print(name,choice+"s",current_enemy,".","You deal",dmg,"damage","to it.")
enemy_stats(current_enemy_health)
if choice=="Defend": #If ... to it
print(name,choice+"s.")
#Checks to see if the enemy is dead
if current_enemy_health<=0:
print(name,"successfully killed a",current_enemy)
battle(
)Variable Addieren und Subtrahieren/Randomisierung Probleme
So mache ich ein textbasiertes RPG-Spiel. Alles läuft gut, aber es gibt eine Sache, die ich nicht beheben kann, ich habe eine Menge Dinge ausprobiert, um das Problem zu beheben, im Grunde, wenn Sie begegnen und Feind es mit einer zufälligen Menge an Gesundheit hervorbringt. Sie treffen es dann für etwas Schaden. 'Zombie mit 20 Gesundheit spawned. Was wirst du machen?' Ich greife an und sage, dass ich 9 Schaden verursache. Was passiert ist, dass die Gesundheit nur zu einer zufälligen Zahl statt 20-9 geht. Oder sag ich habe 21 Schäden gemacht. Was diesmal passiert ist, dass die Gesundheit wieder auf eine zufällige Zahl statt 20-21 und sterben geht. Grundsätzlich, was ich nicht beheben kann, ist der Gesundheits-Teil. Ich habe es nicht geschafft zu sehen, ob die Gesundheit < 0 funktioniert, da ich den Feind niemals auf 0 Gesundheit bringen kann.
Jede Hilfe wäre willkommen.
Nun, Sie berechnen 'current_enemy_health = enemy_health-dmg' und' dmg = randint (0,50) ', also kein Wunder, es ist eine zufällige Menge ... btw. Sie könnten einen [PEP 8] (https://www.python.org/dev/peps/pep-0008/) Formatierer auf Ihren Code anwenden, etwas wie [autopep8] (https://pypi.python.org/pypi/autopep8) vielleicht – miraculixx