From 4cfb49cf5fe9513ac368ad8b09e9405cacaa9f56 Mon Sep 17 00:00:00 2001 From: Thomas Kluyver Date: Mon, 7 Jan 2013 14:05:41 +0000 Subject: Add transfer() utility function. --- weatbag/utils.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 weatbag/utils.py (limited to 'weatbag/utils.py') diff --git a/weatbag/utils.py b/weatbag/utils.py new file mode 100644 index 0000000..0f73294 --- /dev/null +++ b/weatbag/utils.py @@ -0,0 +1,23 @@ +"""Utility functions for the game.""" + +def transfer(item, from_collection, to_collection, n=1): + """Move an item from one dictionary of objects to another. + + Returns True if the item was successfully transferred, False if it's not in + from_collection. + + For example, to have the player pick up a pointy stick:: + + if transfer('pointy stick', tile.contents, player.inventory): + print("You take the stick.") + else: + print("There's no stick here.") + """ + if from_collection.get(item, 0) < n: + return False + from_collection[item] -= n + if item in to_collection: + to_collection[item] += n + else: + to_collection[item] = n + return True -- cgit v1.3