annotate gamelib/statehelpers.py @ 255:2bd28030e8e4

Hook up parts of the bridge computer system
author Neil Muller <neil@dip.sun.ac.za>
date Fri, 27 Aug 2010 18:13:12 +0200
parents 5cb3fbe61f75
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
182
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
1 """Set of utility classes for common state things"""
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
2
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
3 from pygame.color import Color
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
4 from pygame.colordict import THECOLORS
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
5
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
6 from gamelib.state import Thing, Result, \
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
7 InteractImage, InteractNoImage, InteractRectUnion, \
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
8 InteractAnimated
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
9 from gamelib.constants import DEBUG
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
10
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
11
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
12 class GenericDescThing(Thing):
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
13 "Thing with an InteractiveUnionRect and a description"
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
14
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
15 INITIAL = "description"
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
16
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
17 def __init__(self, prefix, number, description, areas):
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
18 super(GenericDescThing, self).__init__()
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
19 self.description = description
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
20 self.name = '%s.%s' % (prefix, number)
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
21 self.interacts = {
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
22 'description' : InteractRectUnion(areas)
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
23 }
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
24 if DEBUG:
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
25 # Individual colors to make debugging easier
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
26 self._interact_hilight_color = Color(THECOLORS.keys()[number])
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
27
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
28 def get_description(self):
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
29 return self.description
5cb3fbe61f75 Add genric thing with description helper class
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
30