From 912f8334ba33b59acdfcc1a35f306ca14387611d Mon Sep 17 00:00:00 2001 From: Jan T Date: Tue, 28 Jul 2015 15:19:52 +0300 Subject: Added help command. Replaced hard-coded 'quit' command with a words.py entry. Cleaned up code to pass flake8 style check. --- weatbag/action.py | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'weatbag/action.py') diff --git a/weatbag/action.py b/weatbag/action.py index 73e5a47..0f1a848 100644 --- a/weatbag/action.py +++ b/weatbag/action.py @@ -2,6 +2,7 @@ import sys from . import words from weatbag.items import combine + def get_action(): """Prompts for an action, splits it into words, and removes any prepositions. @@ -14,26 +15,38 @@ def get_action(): action = [w for w in action if w not in words.prepositions] return action -move_directions = {'n','e','s','w','north','east','south','west'} +move_directions = {'n', 'e', 's', 'w', 'north', 'east', 'south', 'west'} + def is_move(do): - return len(do) == 2 and (do[0] in words.move) and (do[1] in move_directions) + return len(do) == 2 and (do[0] in words.move) and (do[1] in move_directions) + + +def display_help(): + print("Available commands:") + print("move, give, use, fight, drop, take, look, attack, combine, talk, help, exit") + def handle_action(tile, player, do): - if len(do) == 1 and do[0] == 'quit': + + if len(do) == 1 and (do[0] in words.exit): sys.exit() - + + elif len(do) == 1 and (do[0] in words.instructions): + # Show help text + display_help() + elif len(do) == 2 and (do[0] in words.look) and (do[1] in words.surroundings): # Look around tile.describe() - + elif len(do) == 2 and (do[0] in words.look) and (do[1] in words.inventory): # Look at bag for item, n in player.inventory.most_common(): if n < 1: break print(item, '(%d)' % n) - + elif len(do) >= 3 and (do[0] in words.combine): for split in range(2, len(do)): item1 = ' '.join(do[1:split]) @@ -47,25 +60,25 @@ def handle_action(tile, player, do): player.inventory.update(results) else: print("You can't combine {} with {}".format(item1, item2)) - + else: print("You don't have a {}".format(item2)) - + return - + elif player.has(item2): print("You don't have a {}".format(item1)) return - + else: print("You don't have those items.") - + else: tile.action(player, do) move_coords = { - 'n': (0, 1), + 'n': (0, 1), 's': (0, -1), 'w': (-1, 0), - 'e': (1, 0) + 'e': (1, 0) } -- cgit v1.3