annotate gamelib/research.py @ 14:9d61abb3cfaf

Better subclass handling.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 06 May 2012 15:58:03 +0200
parents f9756477cbce
children 10d3db1f1e08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
1 class ResearchArea(object):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
2 NAME = None
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
3 PREREQUISITES = ()
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
4
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
5 def __init__(self):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
6 self.points = 0
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
8 def spend_points(self, points):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
9 self.points += points
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
10
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
11
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
12 class Tesla(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13 NAME = "Tesla"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
14
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
15
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16 class Robotics(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17 NAME = "Robotics"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
18
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
19
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 class Rocketry(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21 NAME = "Rocketry"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
22
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
23
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
24 class Biogenetics(ResearchArea):
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25 NAME = "Biogenetics"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
26
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
27
12
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
28 class Psychology(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
29 NAME = "Psychology"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
30
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
31
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
32 class Fusion(ResearchArea):
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
33 NAME = "Fusion"
12
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
34
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
35
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
36 class Medical(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
37 NAME = "Medical Experiments"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
38
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
39
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
40 class Lasers(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
41 NAME = "Lasers"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
42
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
43
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
44 class Space(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
45 NAME = "SPAAAAAACE!"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
46 PREREQUISITES = (
4
5e21bf2b6853 Fix very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents: 3
diff changeset
47 (Robotics, 1),
5e21bf2b6853 Fix very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents: 3
diff changeset
48 (Rocketry, 2),
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
49 )
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
50
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
51
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
52 class ArtificialIntelligence(ResearchArea):
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
53 NAME = "Artificial Intelligence"
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
54 PREREQUISITES = (
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
55 (Robotics, 4),
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
56 (Psychology, 2),
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
57 )