Mercurial > pyntnclick
comparison gamelib/scenes/crew_quarters.py @ 350:125cb389ab90
Hook up poster. Add cameras to crew_quarters and bridge
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Sat, 28 Aug 2010 15:31:45 +0200 |
parents | e1cae2b61443 |
children | bfb6c682b4fb |
comparison
equal
deleted
inserted
replaced
349:0cc6ee8f2827 | 350:125cb389ab90 |
---|---|
2 | 2 |
3 from gamelib.cursor import CursorSprite | 3 from gamelib.cursor import CursorSprite |
4 from gamelib.state import Scene, Item, Thing, Result | 4 from gamelib.state import Scene, Item, Thing, Result |
5 from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, | 5 from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, |
6 InteractRectUnion, InteractImage, | 6 InteractRectUnion, InteractImage, |
7 InteractAnimated, GenericDescThing) | 7 InteractAnimated, GenericDescThing, |
8 BaseCamera) | |
8 | 9 |
9 class CrewQuarters(Scene): | 10 class CrewQuarters(Scene): |
10 | 11 |
11 FOLDER = "crew_quarters" | 12 FOLDER = "crew_quarters" |
12 BACKGROUND = "crew_quarters.png" | 13 BACKGROUND = "crew_quarters.png" |
23 self.add_thing(Safe()) | 24 self.add_thing(Safe()) |
24 self.add_thing(FishbowlThing()) | 25 self.add_thing(FishbowlThing()) |
25 self.add_thing(Safe()) | 26 self.add_thing(Safe()) |
26 self.add_item(Fishbowl('fishbowl')) | 27 self.add_item(Fishbowl('fishbowl')) |
27 self.add_item(DuctTape('duct_tape')) | 28 self.add_item(DuctTape('duct_tape')) |
29 self.add_item(EscherPoster('escher_poster')) | |
30 self.add_thing(PosterThing()) | |
31 self.add_thing(MonitorCamera()) | |
28 self.add_thing(GenericDescThing('crew.plant', 1, | 32 self.add_thing(GenericDescThing('crew.plant', 1, |
29 "The plant is doing surprisingly well for centuries of neglect", | 33 "The plant is doing surprisingly well for centuries of neglect", |
30 ((624, 215, 61, 108),))) | 34 ((624, 215, 61, 108),))) |
31 self.add_thing(GenericDescThing('crew.cat', 2, | 35 self.add_thing(GenericDescThing('crew.cat', 2, |
32 "A picture of a cat labelled 'Clementine'", | 36 "A picture of a cat labelled 'Clementine'", |
147 | 151 |
148 INVENTORY_IMAGE = 'duct_tape.png' | 152 INVENTORY_IMAGE = 'duct_tape.png' |
149 CURSOR = CursorSprite('duct_tape.png') | 153 CURSOR = CursorSprite('duct_tape.png') |
150 | 154 |
151 | 155 |
152 class SafeDetail(Scene): | 156 class MonitorCamera(BaseCamera): |
157 "A Camera pointing to JIM" | |
153 | 158 |
154 FOLDER = 'crew_quarters' | 159 NAME = 'crew.camera' |
155 BACKGROUND = None # TODO | |
156 NAME = 'safe_detail' | |
157 | 160 |
158 SIZE = (300, 300) | 161 INTERACTS = { |
162 'camera' : InteractImage(85, 97, 'camera_medium.png') | |
163 } | |
159 | 164 |
160 def __init__(self, state): | 165 |
161 super(SafeDetail, self).__init__(state) | 166 class PosterThing(Thing): |
167 "A innocent poster on the wall" | |
168 | |
169 NAME = 'crew.poster' | |
170 | |
171 INTERACTS = { | |
172 'poster': InteractImage(29, 166, 'triangle_poster.png'), | |
173 } | |
174 | |
175 INITIAL = 'poster' | |
176 | |
177 def interact_without(self): | |
178 self.state.add_inventory_item('escher_poster') | |
179 self.scene.remove_thing(self) | |
180 return Result("This poster will go nicely on your bedroom wall.") | |
181 | |
182 def get_description(self): | |
183 return "A paradoxial poster hanges below the security camera" | |
184 | |
185 | |
186 class EscherPoster(Item): | |
187 "A confusing poster to disable JIM" | |
188 | |
189 INVENTORY_IMAGE = "triangle_poster.png" | |
190 CURSOR = CursorSprite('triangle_poster.png') | |
191 NAME = "escher_poster" | |
162 | 192 |
163 | 193 |
164 SCENES = [CrewQuarters] | 194 SCENES = [CrewQuarters] |
165 DETAIL_VIEWS = [SafeDetail] |