Mercurial > sypikslang
annotate gamelib/game_base.py @ 70:442a1bf9b14e
fucking pep8
author | Rizmari Versfeld <rizziepit@gmail.com> |
---|---|
date | Tue, 08 May 2012 23:10:10 +0200 |
parents | 52913ba12988 |
children | b503ccb0a86e |
rev | line source |
---|---|
45
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
1 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
2 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
3 def get_subclasses(base_class, leaf_only=True): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
4 subclasses = [] |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
5 for cls in base_class.__subclasses__(): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
6 if leaf_only and cls.__subclasses__(): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
7 # Not a leaf class, and only want leaves |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
8 continue |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
9 subclasses.append(cls) |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
10 return subclasses |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
11 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
12 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
13 class Science(object): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
14 NAME = None |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
15 PREREQUISITES = () |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
16 ACQUISITION_CHANCE = 1.0 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
17 SCIENCE_TYPE = None |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
18 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
19 def __init__(self, points=0): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
20 self.points = points |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
21 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
22 def spend_point(self): |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
23 self.points += 1 |
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
24 |
58
52913ba12988
Check for multiple points in can_spend
Neil Muller <drnlmuller@gmail.com>
parents:
47
diff
changeset
|
25 def can_spend(self, lab, spend): |
45
1e8f7e694f0c
Refactor missions and sciences a bit to reduce duplication.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff
changeset
|
26 return True |
46
d3d277a42ac6
Less getattr/isinstance silliness.
Jeremy Thurgood <firxen@gmail.com>
parents:
45
diff
changeset
|
27 |
d3d277a42ac6
Less getattr/isinstance silliness.
Jeremy Thurgood <firxen@gmail.com>
parents:
45
diff
changeset
|
28 @classmethod |
d3d277a42ac6
Less getattr/isinstance silliness.
Jeremy Thurgood <firxen@gmail.com>
parents:
45
diff
changeset
|
29 def save_name(cls): |
d3d277a42ac6
Less getattr/isinstance silliness.
Jeremy Thurgood <firxen@gmail.com>
parents:
45
diff
changeset
|
30 return "%s.%s" % (cls.SCIENCE_TYPE, cls.__name__) |
47 | 31 |
32 def save_data(self): | |
33 return (self.save_name(), self.points) |