comparison gamelib/scenes/mess.py @ 192:b1f4262139e7

Only vend three cans.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 25 Aug 2010 21:42:01 +0200
parents 278774b31d3c
children 6a52752f4920
comparison
equal deleted inserted replaced
191:278774b31d3c 192:b1f4262139e7
15 'accessible': True, 15 'accessible': True,
16 } 16 }
17 17
18 def __init__(self, state): 18 def __init__(self, state):
19 super(Mess, self).__init__(state) 19 super(Mess, self).__init__(state)
20 self.add_item(EmptyCan("empty_can"))
21 self.add_item(FullCan("full_can"))
22 self.add_item(TubeFragments("tube_fragments")) 20 self.add_item(TubeFragments("tube_fragments"))
23 self.add_item(ReplacementTubes("replacement_tubes")) 21 self.add_item(ReplacementTubes("replacement_tubes"))
24 self.add_thing(CansOnShelf()) 22 self.add_thing(CansOnShelf())
25 self.add_thing(Tubes()) 23 self.add_thing(Tubes())
26 self.add_thing(ToMap()) 24 self.add_thing(ToMap())
80 } 78 }
81 79
82 INITIAL = "cans" 80 INITIAL = "cans"
83 81
84 INITIAL_DATA = { 82 INITIAL_DATA = {
85 'taken_one': False, 83 'cans_vended': 0,
86 } 84 }
87 85
88 def interact_without(self): 86 def interact_without(self):
89 can = FullCan("full_can") 87 starting_cans = self.get_data('cans_vended')
90 self.state.add_item(can) 88 if starting_cans < 3:
91 self.state.add_inventory_item(can.name) 89 can = FullCan("full_can")
92 if not self.data['taken_one']: 90 self.state.add_item(can)
93 self.set_data('taken_one', True) 91 self.state.add_inventory_item(can.name)
94 return Result("Best before along time in the past. Better not eat these.") 92 self.set_data('cans_vended', starting_cans + 1)
93 return Result({
94 0: "Best before along time in the past. Better not eat these.",
95 1: "Mmmm. Nutritious Bacteria Stew.",
96 2: "Candied silkworms. Who stocked this place!?",
97 }[starting_cans])
95 else: 98 else:
96 return Result(choice(( 99 return Result("The rest of the cans are rusted beyond usefulness.")
97 'Another can of imitation chicken? Great.',
98 'Mmmm. Nutritious Bacteria Stew.',
99 "The label has rusted off, I don't want to know what's inside.",
100 "I hope I don't get hungry enough to open these.",
101 )))
102 100
103 def get_description(self): 101 def get_description(self):
104 return "The contents of these cans looks synthetic." 102 return "The contents of these cans looks synthetic."
105 103
106 104