From 9784f9a5447bbdb9656c7542a857850179bbc81e Mon Sep 17 00:00:00 2001 From: schneider Date: Thu, 15 Dec 2011 19:55:20 +0100 Subject: [PATCH] remote: example: hold count of players --- tools/game/simpletest.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/game/simpletest.py b/tools/game/simpletest.py index c0b1c80..54e608a 100644 --- a/tools/game/simpletest.py +++ b/tools/game/simpletest.py @@ -4,14 +4,23 @@ import r0ketrem0te.packets import time import Queue +maxplayer = 2 +players = {} + def receivedPacket(packet): if isinstance(packet, r0ketrem0te.packets.Join): # flags = 1: join ok # flags = 0: join not ok - ack = r0ketrem0te.packets.Ack(packet.id, packet.ctr, 1) + flags = 0 + if len(players) < maxplayer: + flags = 1 + players[packet.id] = 10 + ack = r0ketrem0te.packets.Ack(packet.id, packet.ctr, flags) qp = r0ketrem0te.bridge.QueuePacket(game.channel, game.playermac, False, ack) game.bridge.putInQueue(queue, qp) - + elif packet.id in players: + players[packet.id] = 10 + game = r0ketrem0te.game.Game('/dev/ttyACM0', "testgame", 83, 81, (1,2,3,2,1)) queue = Queue.Queue() @@ -20,4 +29,11 @@ game.bridge.registerCallback(receivedPacket) while True: time.sleep(1) - + toremove = [] + for player in players: + players[player]-=1 + if players[player] == 0: + toremove.append(player) + for player in toremove: + print "removing player", player + del players[player]