Mercurial > zrpn
changeset 51:b23c901b2807
changed one of packets, updated networking
| author | Szymon Wróblewski <bluex0@gmail.com> |
|---|---|
| date | Sat, 07 Jul 2012 19:35:42 +0200 |
| parents | 299a6ee13abc |
| children | 92021cc52658 37d28c317b10 |
| files | zrpn/client.py zrpn/packets.py zrpn/pygame_network/__init__.py zrpn/pygame_network/connection.py zrpn/server.py zrpn/sprites.py |
| diffstat | 6 files changed, 19 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/zrpn/client.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/client.py Sat Jul 07 19:35:42 2012 +0200 @@ -30,10 +30,11 @@ if event.p_type == packets.INIT: self.display.load_board(event.packet.board, event.packet.sprites) - elif event.net_type == packets.ANIMATION: - self.display.do_animations((event.packet,)) + elif event.p_type == packets.ANIMATIONS: + self.display.do_animations(event.packet.animations) + self.client.step() self.display.frame() - self.client.step() + def main():
--- a/zrpn/packets.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/packets.py Sat Jul 07 19:35:42 2012 +0200 @@ -1,4 +1,4 @@ import pygame_network as net INIT = net.register('init', ('board', 'sprites')) -ANIMATION = net.register('animation', ('kind', 'sprite', 'delay')) +ANIMATIONS = net.register('animations', ('animations',)) CLICK = net.register('click', ('x', 'y'))
--- a/zrpn/pygame_network/__init__.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/pygame_network/__init__.py Sat Jul 07 19:35:42 2012 +0200 @@ -1,13 +1,12 @@ import packet +import connection import syncobject from client import Client from server import Server from receiver import Receiver try: - import pygame + import event except ImportError: pass -else: - import event register = packet.PacketManager.register
--- a/zrpn/pygame_network/connection.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/pygame_network/connection.py Sat Jul 07 19:35:42 2012 +0200 @@ -10,11 +10,14 @@ 'STATE_DISCONNECT_LATER', 'STATE_ZOMBIE') +import logging from weakref import proxy from functools import partial import enet from packet import PacketManager +_logger = logging.getLogger(__name__) + # dummy events def _connected_event(connection): pass def _disconnected_event(connection): pass @@ -100,8 +103,10 @@ def _receive(self, data, channel): packet_id, packet = self._packet_manager.unpack(data) + name = packet.__class__.__name__ + _logger.info('Received %s packet', name) + name = 'net_' + name _received_event(self, channel, packet, packet_id) - name = 'net_' + packet.__class__.__name__ for r in self._receivers: getattr(r, name, r.on_recive)(channel, packet_id, packet)
--- a/zrpn/server.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/server.py Sat Jul 07 19:35:42 2012 +0200 @@ -9,16 +9,15 @@ animations = self.server.board.kill_one(packet) animations.extend(self.server.board.update()) for connection in self.server.peers.values(): - for animation in animations: - connection.net_animation(*animation) + connection.net_animations(animations) - def on_connected(self): + def on_connect(self): self.connection.net_init(self.server.board.board, self.server.board.cells) class Server(object): def __init__(self, port): - self.server = net.Server(port=port) + self.server = net.Server(port=port, connections_limit=10) self.server.receiver_cls = ClientReceiver self.server.board = board.Board()
--- a/zrpn/sprites.py Sat Jul 07 18:29:43 2012 +0200 +++ b/zrpn/sprites.py Sat Jul 07 19:35:42 2012 +0200 @@ -31,18 +31,18 @@ self.image = self.steps[0] self.rect = self.image.get_rect() self.rect.topleft = x * 24, y * 24 - self.animations = [] + self.animations = [self.anim_wait(1)] self.last_delay = 0 def update(self): - self.dirty = False + self.dirty = 0 while self.animations: try: self.animations[0].next() except StopIteration: self.animations.pop(0) else: - self.dirty = True + self.dirty = 1 return def fall(self, delay=0):
