comparison gamelib/game_base.py @ 45:1e8f7e694f0c

Refactor missions and sciences a bit to reduce duplication.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 07 May 2012 20:44:27 +0200
parents
children d3d277a42ac6
comparison
equal deleted inserted replaced
44:d35a3762edda 45:1e8f7e694f0c
1
2
3 def get_subclasses(base_class, leaf_only=True):
4 subclasses = []
5 for cls in base_class.__subclasses__():
6 if leaf_only and cls.__subclasses__():
7 # Not a leaf class, and only want leaves
8 continue
9 subclasses.append(cls)
10 return subclasses
11
12
13 class Science(object):
14 NAME = None
15 PREREQUISITES = ()
16 ACQUISITION_CHANCE = 1.0
17 SCIENCE_TYPE = None
18
19 def __init__(self, points=0):
20 self.points = points
21
22 def spend_point(self):
23 self.points += 1
24
25 def can_spend(self, lab):
26 return True