Beispiel #1
0
class Game:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if not Game._instance:
            Game._instance = object.__new__(cls)
        return Game._instance

    def __init__(self):
        self.entity_manager = EntityManager()
        self.message_dispatcher = MessageDispatcher()

    def add_entity(self, entity):
        self.entity_manager.register_entity(entity)
        entity.game = self

    def update(self):
        for entity in self.entity_manager:
            entity.update()
        self.message_dispatcher.dispatch_delayed_messages()
Beispiel #2
0
import time
from sys import stdin

import ids
from barfly import BarFly
from entities import EntityManager
from messages import MessageDispatcher
from miner import Miner
from minerswife import MinersWife

entities = EntityManager()
messages = MessageDispatcher(entities)

entities.register(Miner(messages, ids.MINER))
entities.register(MinersWife(messages, ids.ELSA))
entities.register(BarFly(messages, ids.BAR_FLY))

while True:
    for i in range(10):
        [e.update() for e in entities]
        time.sleep(1)
        messages.dispatch_delayed_messages()
    print("Enter to continue")
    stdin.readline()