Пример #1
0
class GameWorldService(service.Service):

    def __init__(self):
        self.clients = []
        self.game = Game()
        self.mob = Actor("eeeeeeewwwwwww")
        self.game.place(self.mob, (1,1))
        self.game.register(self.on_notify)
        reactor.callLater(1, self.tick)
    def tick(self):        
        self.mob.cue()
        reactor.callLater(0.5, self.tick)
    def on_notify(self, source, event):        
        self.ansiMap = renderANSI(self.game.map)
        #@TODO: clients should register directly with world
        for c in self.clients:
            c.on_notify(source, event)

    def getAnsiMap(self):
        return self.ansiMap
    def getAnsiFactory(self):
        f = protocol.ServerFactory()
        f.protocol = AnsiGameWorldProtocol
        f.service = self
        f.getAnsiMap = self.getAnsiMap
        return f
Пример #2
0
class GameWorldService(service.Service):
    def __init__(self):
        self.clients = []
        self.game = Game()
        self.mob = Actor("eeeeeeewwwwwww")
        self.game.place(self.mob, (1, 1))
        self.game.register(self.on_notify)
        reactor.callLater(1, self.tick)

    def tick(self):
        self.mob.cue()
        reactor.callLater(0.5, self.tick)

    def on_notify(self, source, event):
        self.ansiMap = renderANSI(self.game.map)
        #@TODO: clients should register directly with world
        for c in self.clients:
            c.on_notify(source, event)

    def getAnsiMap(self):
        return self.ansiMap

    def getAnsiFactory(self):
        f = protocol.ServerFactory()
        f.protocol = AnsiGameWorldProtocol
        f.service = self
        f.getAnsiMap = self.getAnsiMap
        return f
Пример #3
0
    def test_observable(self):
        g = Game()
        a = Avatar()
        
        self.events = 0
        def observer(*args): self.events += 1
        g.register(observer)

        g.spawn(a, (5,5))
        a.walk(Map.SOUTH)
        assert self.events == 2