diff options
author | Justin Lewis <jtl1728@rit.edu> | 2010-01-25 22:48:00 (GMT) |
---|---|---|
committer | Justin Lewis <jtl1728@rit.edu> | 2010-01-25 22:48:00 (GMT) |
commit | 7272a3564d30922f1ff5ccff3c99ad0ff0596c03 (patch) | |
tree | a0c8b2550637760a8f87b46cd18b14b44a12d601 /FortuneMaker.activity | |
parent | 8d6b228ff182acad668f8a6af02fd3e364854ff9 (diff) |
Improved room api to allow easier adding of items and enemies
Also now returns true if it was added successfully.
Diffstat (limited to 'FortuneMaker.activity')
-rw-r--r-- | FortuneMaker.activity/Room.py | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/FortuneMaker.activity/Room.py b/FortuneMaker.activity/Room.py index 4c4741c..2964857 100644 --- a/FortuneMaker.activity/Room.py +++ b/FortuneMaker.activity/Room.py @@ -51,15 +51,19 @@ class Room: elif door in DOOR_INDEX and flag in DOOR_FLAGS: self.has_doors = True self.doors[door] = [door, flag] + return True else: print "INVALID DOOR AND/OR FLAG" + return False def remove_door(self, door): if door in DOOR_INDEX: #TODO Check if should change has_door self.doors[door] = ['0', '0'] + return True else: print "INVALID DOOR" + return False def get_door( self, door): if door in DOOR_INDEX: @@ -68,35 +72,58 @@ class Room: def set_room_flag(self, flag): if flag in SPEC_FLAGS: self.special = flag + return True else: print "INVALID FLAG" + return False def get_room_flag( self ): return self.special + def add_enemy( self, enemy ): + for index in range( 0,4 ): + if self.enemy[index] == "0": + return self.set_enemy(index, enemy) + return False + def set_enemy( self, pos, enemy ): - if enemy == "0": - return - elif pos >= 0 and pos <=3 and enemy in ENEM_INDEX: - if enemy != '0': - self.has_enemy = True + if pos >= 0 and pos <=3 and enemy in ENEM_INDEX: self.enemy[pos] = enemy + + self.has_enemy = False + + for enemy in self.enemy: + if enemy != "0": + self.has_enemy = True + break + + return True else: print "INVALID ENEMY POS OR ID" + return False def get_enemy(self, pos): if pos >=0 and pos <=3: return self.enemy[pos] + def add_item( self, enemy ): + for index in range( 0,4 ): + if self.item[index] == "0": + return self.set_item(index, enemy) + return False + def set_item(self, pos, id, flag): - if id == "0": - return - elif pos >= 0 and pos <=3 and id in ITEM_INDEX and flag in ITEM_FLAGS: - if item != '0': - self.has_item = True + if pos >= 0 and pos <=3 and id in ITEM_INDEX and flag in ITEM_FLAGS: self.item[ pos ] = [id, flag] + + self.has_item = False + for item in self.item: + self.has_item = True + + return True else: print "INVALID POS OR ID OR FLAG" + return False def room_to_string(self): str = "" |