annotate gamelib/research.py @ 17:10d3db1f1e08

Set up initial research and rework breakthroughs.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 06 May 2012 17:39:37 +0200
parents 9d61abb3cfaf
children 23720d0fd9a0
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
17
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
5 def __init__(self, points=0):
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
6 self.points = points
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7
17
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
8 def spend_point(self):
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
9 self.points += 1
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
10
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
11 def can_spend(self, lab):
10d3db1f1e08 Set up initial research and rework breakthroughs.
Jeremy Thurgood <firxen@gmail.com>
parents: 14
diff changeset
12 return True
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13
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 class Tesla(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16 NAME = "Tesla"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17
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 class Robotics(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 NAME = "Robotics"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21
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 class Rocketry(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
24 NAME = "Rocketry"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
26
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
27 class Biogenetics(ResearchArea):
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
28 NAME = "Biogenetics"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
29
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
30
12
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
31 class Psychology(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
32 NAME = "Psychology"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
33
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 class Fusion(ResearchArea):
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
36 NAME = "Fusion"
12
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
37
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 class Medical(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
40 NAME = "Medical Experiments"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
41
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 class Lasers(ResearchArea):
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
44 NAME = "Lasers"
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
45
f9756477cbce Note more research area ideas
Neil Muller <drnlmuller@gmail.com>
parents: 4
diff changeset
46
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
47 class Space(ResearchArea):
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
48 NAME = "SPAAAAAACE!"
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
49 PREREQUISITES = (
4
5e21bf2b6853 Fix very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents: 3
diff changeset
50 (Robotics, 1),
5e21bf2b6853 Fix very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents: 3
diff changeset
51 (Rocketry, 2),
3
6ab4f1ab9eab Very basics of research and products.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
52 )
14
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
53
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
54
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
55 class ArtificialIntelligence(ResearchArea):
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
56 NAME = "Artificial Intelligence"
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
57 PREREQUISITES = (
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
58 (Robotics, 4),
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
59 (Psychology, 2),
9d61abb3cfaf Better subclass handling.
Jeremy Thurgood <firxen@gmail.com>
parents: 12
diff changeset
60 )