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):