import random
class Unit:
def __init__(self, n, hp, s, d, a):
self.name = n
self.maxHP = hp
self.curHP = hp
self.strength = s
self.defence = d
self.agility = a
def battle( a, b ):
turn = 1
if a.agility > b.agility:
attacker = a
defender = b
else:
attacker = b
defender = a
doBattle = True
while (doBattle):
print "\n --- Turn " , turn , ": " , attacker.name , " ---"
print attacker.name , ": " , attacker.curHP
print defender.name , ": " , defender.curHP , "\n"
if defender.agility > attacker.agility and random.randint(1,4) == 4:
print attacker.name , " missed."
else:
attackDamage = attacker.strength - defender.defence
if attackDamage < 0:
attackDamage = 0
defender.curHP -= attackDamage
print attacker.name , " did " , attackDamage , " damage to " , defender.name , "."
if defender.curHP <= 0:
doBattle = False
print "\n\n" , attacker.name , " won the battle!"
else:
temp = defender
defender = attacker
attacker = temp
turn = turn + 1
name = raw_input("Your name good sir.\nName: ")
character = Unit(name, random.randint(10,30), random.randint(2,5), random.randint(1,3), random.randint(1,5) )
while raw_input("Fight? [y/n]: ") == "y":
character.curHP = character.maxHP
enemy = Unit("Monster", random.randint(10,30), random.randint(2,5), random.randint(1,3), random.randint(1,5) )
battle( character, enemy )
|