Mercurial > pyntnclick
diff gamelib/scenes/map.py @ 132:686bb74a52f8
Map shows accessible areas.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Tue, 24 Aug 2010 19:22:01 +0200 |
parents | 97c5ff0a05bb |
children | 0530547a131f |
line wrap: on
line diff
--- a/gamelib/scenes/map.py Tue Aug 24 18:52:52 2010 +0200 +++ b/gamelib/scenes/map.py Tue Aug 24 19:22:01 2010 +0200 @@ -27,6 +27,10 @@ self.add_thing(ToEngine()) self.add_thing(ToMachine()) + def enter(self): + for door_thing in self.things.values(): + door_thing.check_dest() + class DoorThing(Thing): @@ -36,9 +40,16 @@ def interact_without(self): """Go to destination.""" if self.DEST in self.state.scenes: - self.state.set_current_scene('bridge') + self.state.set_current_scene(self.DEST) return Result("You head for the %s." % self.DEST) + def check_dest(self): + if self.DEST in self.state.scenes: + if self.state.scenes[self.DEST].get_data('accessible'): + self.set_interact('accessible') + else: + self.set_interact('inaccessible') + class ToCryo(DoorThing): "Way to cryo room." @@ -47,10 +58,11 @@ DEST = "cryo" INTERACTS = { - "room": InteractText(100, 200, "To Cryo"), + "inaccessible": InteractText(100, 200, "To Cryo"), + "accessible": InteractText(100, 200, "To Cryo", (0, 127, 0)), } - INITIAL = "room" + INITIAL = "inaccessible" class ToBridge(DoorThing): @@ -60,10 +72,11 @@ DEST = "bridge" INTERACTS = { - "room": InteractText(300, 200, "To Bridge"), + "inaccessible": InteractText(300, 200, "To Bridge"), + "accessible": InteractText(300, 200, "To Bridge", (0, 127, 0)), } - INITIAL = "room" + INITIAL = "inaccessible" class ToMess(DoorThing): @@ -73,23 +86,25 @@ DEST = "mess" INTERACTS = { - "room": InteractText(100, 300, "To Mess"), + "inaccessible": InteractText(100, 300, "To Mess"), + "accessible": InteractText(100, 300, "To Mess", (0, 127, 0)), } - INITIAL = "room" + INITIAL = "inaccessible" -class ToEngine(Thing): +class ToEngine(DoorThing): "Way to engine room." NAME = "map.toengine" DEST = "engine" INTERACTS = { - "room": InteractText(300, 300, "To Engine"), + "inaccessible": InteractText(300, 300, "To Engine"), + "accessible": InteractText(300, 300, "To Engine", (0, 127, 0)), } - INITIAL = "room" + INITIAL = "inaccessible" class ToMachine(DoorThing): @@ -99,10 +114,11 @@ DEST = "machine" INTERACTS = { - "room": InteractText(100, 400, "To Machine"), + "inaccessible": InteractText(100, 400, "To Machine"), + "accessible": InteractText(100, 400, "To Machine", (0, 127, 0)), } - INITIAL = "room" + INITIAL = "inaccessible" SCENES = [Map]