Skip to content

Instantly share code, notes, and snippets.

@SonOfLilit
Last active December 18, 2015 18:29
Show Gist options
  • Save SonOfLilit/5825843 to your computer and use it in GitHub Desktop.
Save SonOfLilit/5825843 to your computer and use it in GitHub Desktop.
## no classes
def Monster(name, hp, strength):
return {"name": name, "hp": hp, "hp_left": hp, "strength": strength}
def describe_monster(monster):
return "A wild %s. %d/%d HP." % (monster["name"], monster["hp_left"], monster["hp"])
def sustain_damage(monster, damage):
if damage > monster["hp_left"]:
monster["hp_left"] = 0
return True
else:
monster["hp_left"] -= damage
return False
def deal_damage(monster, armor_class):
return max(0, monster["strength"] – armor_class)
def Place(name, description):
return {"name": name, "description": description}
def describe_place(place):
return "The %s.\n\n%s" % (place["name"], place["description"])
m = Monster(“goblin”, 10, 4)
print describe_monster(monster)
sustain_damage(m, 5)
deal_damage(m, 3)
print describe_monster(monster)
p = Place("Townsville", "A small town in nowhere")
print describe_place(p)
## classes
class Monster(object):
def __init__(self, name, hp, strength):
self.name = name
self.hp = hp
self.hp_left = hp_left
self.strength = strength
def describe(self):
return "A wild %s. %d/%d HP." % (self.name, self.hp_left, self.hp)
def sustain_damage(monster, damage):
if damage > self.hp_left:
self.hp_left = 0
return True
else:
self.hp_left -= damage
return False
def deal_damage(self, armor_class):
return max(0, self.strength – armor_class)
class Place(object):
def __init__(self, name, description):
self.name = name
self.description = description
def describe(self):
return "The %s.\n\n%s" % (self.name, self.description)
m = Monster("goblin", 10, 4)
print m.describe()
m.sustain_damage(5)
m.deal_damage(3)
print m.describe()
p = Place("Townsville", "A small town in nowhere")
print p.describe()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment