view 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
line wrap: on
line source

class ResearchArea(object):
    NAME = None
    PREREQUISITES = ()

    def __init__(self):
        self.points = 0

    def spend_points(self, points):
        self.points += points


class Tesla(ResearchArea):
    NAME = "Tesla"


class Robotics(ResearchArea):
    NAME = "Robotics"


class Rocketry(ResearchArea):
    NAME = "Rocketry"


class Biogenetics(ResearchArea):
    NAME = "Biogenetics"


class Psychology(ResearchArea):
    NAME = "Psychology"


class Fusion(ResearchArea):
    NAME = "Fusion"


class Medical(ResearchArea):
    NAME = "Medical Experiments"


class Lasers(ResearchArea):
    NAME = "Lasers"


class Space(ResearchArea):
    NAME = "SPAAAAAACE!"
    PREREQUISITES = (
        (Robotics, 1),
        (Rocketry, 2),
        )


class ArtificialIntelligence(ResearchArea):
    NAME = "Artificial Intelligence"
    PREREQUISITES = (
        (Robotics, 4),
        (Psychology, 2),
        )