intel = 10 #Define the abilities. strn = 10 con = 10 dex = 10 wis = 10 exp = 0 cha = 10 playHp = 20 melWep = 1 # A sword rngWep = 1 #A bow attack = dex+strn/2 #If they hit! melDmg = strn+1+melWep/2 #Melee damage deff = (con/3)+(dex/2)+6 #Defense rngDmg = dex+1+rngWep/2 #Ranged damage print "You are hiking through the woods one day, and you are jumped by a goblin!" #The beginning of the adventure print "Do you want to 1. Attack w/sword, 2. Attack w/bow, 3. Flee, or 4. Nothing" gob1Hp = 10 #First monsters hitpointsdef monsAttk (damage, attack,playHp): #A monsters attack if attack > deff: #Monster hit playHp -= damage #Player takes damage (I think...I will have
to work that out) print "You have sustained", damage, "damage, with", damage-playHp, "remaining" #Inform player of their statusdef gmAttack(monHp, monDef, monAgil) : #A player attack
op1 = raw_input("Your choice?") while op1 != "5": #Just a loop that you can break out of(possibly...working that out) if op1 == '1': #Option 1
if attack + 10 > monDef : #If the player hits monHp-= melDmg #Monster takes damage print "you did", melDmg, "damage! It now has", monHp, "health left!" #Inform player how much health it has.monsAttk(4, 15) #Monster attacks elif op1 == '2': #Option 2 if attack + 10 >monDef: #If you hit the monster
monHp -= rngDmg #Monster takes damage print "you did", rngDmg, "damage! It now has",monHp, "health left!" #Inform player how much health it has monsAttk(4, 15) #Monster attacks
elif op1 == '3' : #Option 3if attack + dex > monAgil : #If they can escape print "Thou hast fled!" #They have fled!
break #Stop the loop (I think. Can someone please inform me as of how this works? I have looked online...it makes no sense to me) elif op1 == '4' : #Option 4...the dumb one monsAttk(4, 15) #Monster attacks monsAttk(4,15) #Monster attacks again, cause they are dumb print "You should attack..." #Inform them of their stupidity else : #Well, what the hell did they pick? print "Unknown option, try again!" #Inform them they didn't pick a valid option while gob1Hp >= 0: #Well it is still alive gmAttack(gob1Hp,13,15) #player attacks if gob1Hp <= 0.5 : #if it dies print "Gratz! You have gotten 5 exp! You only have", 100-exp, "exp left till lv 1!" #print their experience exp += 5 #Give them exp
If you catch an error besides what is wrong, please don't point it out, as I would like to work it out myself, unless marked in the comments. But this one is evading me...I have playHp defined at the beginning, and I am getting this error :
Traceback (most recent call last): File "C:\Users\Quick-Start\Documents\Python Doc's\Game_File.py", line 183, in <module> gmAttack(gob1Hp,13,15) File "C:\Users\Quick-Start\Documents\Python Doc's\Game_File.py", line 167, in gmAttack monsAttk(4, 15) File "C:\Users\Quick-Start\Documents\Python Doc's\Game_File.py", line 157, in monsAttk playHp -= damage UnboundLocalError: local variable 'playHp' referenced before assignmentIf you could please help me, that would be great. I'm just trying to get the game engine working, as of now, it is 30% done, with Inventory, Equipment, and a more sophisticated and simpler code to come. It's a bit of a mess now...
<<attachment: kb1pkl.vcf>>
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor