Note that there are some explanatory texts on larger screens.

plurals
  1. POAnother Name error for my text adventure game Python
    text
    copied!<p>So i am making a text adventure game, and currently i am making the enemies. My class random_enemies makes trash mobs for your character to fight and i have a function in it called weak, normal, strong, etc... that scales with your character depending on which one it is. When i call random_enemies.weak it says (Name Error: global variable "p" is not defined) even though it should be. </p> <pre><code>import random from character import * from player import * class random_enemies(character): def __init__(self,name,hp,maxhp,attack_damage,ability_power,exp): super(random_enemies,self).__init__(name,hp,maxhp) self.attack_damage = attack_damage self.ability_power = ability_power self.exp = exp def weak(): self.hp = random.randint(p.maxhp/10, p.maxhp/5) self.attack_damage = None self.ability_power = None self.exp = None from character import* class player(character): def __init__(self,name,hp,maxhp,attack_damage,ability_power): super(player,self).__init__(name, hp, maxhp) self.attack_damage = attack_damage self.ability_power = ability_power </code></pre> <p>This is my player class and below is the class that player gets "maxhp" from.</p> <pre><code>class character(object): def __init__(self,name,hp,maxhp): self.name = name self.hp = hp self.maxhp = maxhp def attack(self,other): pass p=player(Players_name, 100, 100, 10, 5,) while (p.hp&gt;0): a=input("What do you want to do?") if a=="Instructions": Instructions() elif a=="Commands": Commands() elif a=="Fight": print("Level",wave,"Wave Begins") if wave &lt; 6: b = random_enemies.weak() print("A",b,"Appeared!") print("Stats of",b, ": \n Health=", b.hp,"Attack Damage=",b.attack_damage) continue </code></pre> <p>I just made this really quickly just to test if everything I had was working until I got the error. This is also the place where random_enemies.weak() was called. Also in this is where I defined what "p" was. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload