diff options
| author | Julian Irwin <julian.irwin@gmail.com> | 2013-01-10 13:50:20 -0600 |
|---|---|---|
| committer | Julian Irwin <julian.irwin@gmail.com> | 2013-01-10 13:50:20 -0600 |
| commit | e98bcfb9149fdfe5c842a2dc93ce79728f804d8e (patch) | |
| tree | d7cee7212f3a954044268e1bae658fdbc69535e9 /weatbag/tiles/n3.py | |
| parent | 1bec3009e4d30e7e7c6854103d2688aa2059ebf5 (diff) | |
| parent | ead0301daaa6f07d9fc740050019bf204543f0ea (diff) | |
Merge remote-tracking branch 'upstream/master' into southern-tiles-1
Diffstat (limited to 'weatbag/tiles/n3.py')
| -rw-r--r-- | weatbag/tiles/n3.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/weatbag/tiles/n3.py b/weatbag/tiles/n3.py new file mode 100644 index 0000000..125898b --- /dev/null +++ b/weatbag/tiles/n3.py @@ -0,0 +1,68 @@ +from weatbag import words +import random + +class Tile: + def __init__(self): + self.enemy_dead = False + self.enemy_life = 2 + + def describe(self): + if not self.enemy_dead: + print("You encounter an orc! He's got a mean look, but you're a " + "strong one. You should be able to take him. Attack or flee?") + else: + print("You see an orc corpse here.") + + + def enemy_swing(self, player): + if self.enemy_dead: + return + print("The enemy takes a swing at you!") + hit = random.choice((True,False)) + if hit: + print("He hits you!") + player.hit_points -= 1 + self.report_player_state(player) + else: + print("He misses!") + + def player_swing(self, player): + hit = random.choice((True,False)) + if hit: + print("You hit him!") + self.enemy_life -= 1 + else: + print("You miss!") + + if self.enemy_life == 0: + print("You have killed the orc!") + self.enemy_dead = True + + def report_player_state(self, player): + print("You are %s" % (player.state_string())) + + def leave(self, player, direction): + if not self.enemy_dead: + if not random.choice((True,False)): + print("The orc blocks your way!") + self.enemy_swing(player) + return False + else: + print("You manage to flee!") + return True + + return True + + no_path_msg = "There is no path leading in that direction." + + def action(self, player, do): + if do[0] == "flee": + self.leave(player, 's') + return + + if do[0] in words.attack: + self.player_swing(player) + self.enemy_swing(player) + + else: + print("Sorry, I don't understand") |
