annotate gamelib/research.py @ 24:23720d0fd9a0

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