changeset 46:02d26987c201

added client
author Szymon Wróblewski <bluex0@gmail.com>
date Sat, 07 Jul 2012 18:15:42 +0200
parents a3a29126cb9a
children f6e93c83532f
files zrpn/client.py zrpn/main.py zrpn/server.py
diffstat 3 files changed, 54 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/zrpn/client.py	Sat Jul 07 18:15:42 2012 +0200
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import pygame
+import sys
+import logging
+
+import pygame_network as net
+import pygame_network.event
+
+import board
+import display
+import packets
+
+class Client(object):
+    def __init__(self, address, port):
+        self.display = None
+        self.connected = False
+        self.client = net.Client()
+        self.connection = self.client.connect(address, port)
+
+    def run(self):
+        while True:
+            for event in pygame.event.get():
+                if event.type == pygame.QUIT:
+                    sys.exit()
+                elif event.type == pygame.MOUSEBUTTONDOWN:
+                    x, y = event.pos[0] // 24, event.pos[1] // 24
+                    self.connection.net_click(x, y)
+                elif event.type == net.event.NETWORK:
+                    if event.net_type == net.event.NET_RECEIVED:
+                        if event.p_type == packets.INIT:
+                            self.display.Display(event.packet.board, event.packet.sprites)
+                        elif event.net_type == packets.ANIMATION:
+                            self.display.do_animations((event.packet,))
+            self.display.frame()
+            self.client.step()
+
+
+def main():
+    logging.basicConfig(level=logging.DEBUG)
+    Client('localhost', 10000).run()
+
+if __name__ == '__main__':
+    main()
--- a/zrpn/main.py	Sat Jul 07 18:06:19 2012 +0200
+++ b/zrpn/main.py	Sat Jul 07 18:15:42 2012 +0200
@@ -4,12 +4,9 @@
 import pygame
 import sys
 
-import pygame_network as net
-import pygame_network.event
-
 import board
 import display
-import packets
+
 
 class Game(object):
     def __init__(self):
@@ -31,33 +28,8 @@
                     self.display.do_animations(animations)
             self.display.frame()
 
-class Client(object):
-    def __init__(self, address, port):
-        self.display = None
-        self.connected = False
-        self.client = net.Client()
-        self.connection = self.client.connect(address, port)
-
-    def run(self):
-        while True:
-            for event in pygame.event.get():
-                if event.type == pygame.QUIT:
-                    sys.exit()
-                elif event.type == pygame.MOUSEBUTTONDOWN:
-                    x, y = event.pos[0] // 24, event.pos[1] // 24
-                    self.connection.net_click(x, y)
-                elif event.type == net.event.NETWORK:
-                    if event.net_type == net.event.NET_RECEIVED:
-                        if event.p_type == packets.INIT:
-                            self.display.Display(event.packet.board, event.packet.sprites)
-                        elif event.net_type == packets.ANIMATION:
-                            self.display.do_animations((event.packet,))
-            self.display.frame()
-            self.client.step()
-
 
 def main():
-    #Client('localhost', 10000).run()
     Game().run()
 
 if __name__ == '__main__':
--- a/zrpn/server.py	Sat Jul 07 18:06:19 2012 +0200
+++ b/zrpn/server.py	Sat Jul 07 18:15:42 2012 +0200
@@ -1,17 +1,21 @@
+import logging
 import pygame_network as net
 import board
 import packets
 
+
 class ClientReceiver(net.Receiver):
     def net_click(self, channel, packet_id, packet):
-        self.server.board.kill_one(packet)
-        animations = self.server.board.update()
+        animations = self.server.board.kill_one(packet)
+        animations.extend(self.server.board.update())
         for connection in self.server.peers.values():
-            connection.net_animation()
+            for animation in animations:
+                connection.net_animation(*animation)
 
     def on_connected(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)
@@ -24,6 +28,7 @@
 
 
 def main():
+    logging.basicConfig(level=logging.DEBUG)
     Server(10000).run()
 
 if __name__ == '__main__':