Mercurial > sypikslang
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 |