def handleclick(event): """Run the events for a canvas click""" tname = findterritory(canvas.canvasx(event.x), canvas.canvasy(event.y)) if tname is None: return #if this is a client, don't listen to commands if riskengine.currentplayer and \ hasattr(riskengine.currentplayer,"connection"): return riskengine.handleselection(riskengine.territories[tname], event.num)
def server_receive_message(mess, sock): """Run when the server receives a message""" print >>riskengine.verbosefile, mess, "server received" parts = splitparms(mess) if parts[0] == "newplayer": riskgui.net_newplayer(parts[1]) riskengine.players[parts[1]].connection = sock for sck in sockets: if sck != sock: sendparts(sck, "newplayer", parts[1]) if parts[0] == "handle_selection": if hasattr(riskengine.currentplayer, "connection") and riskengine.currentplayer.connection == sock: riskengine.handleselection(riskengine.territories[parts[1]], int(parts[2])) if parts[0] == "start_fortifying": riskengine.startfortifying() if parts[0] == "next_turn": riskengine.nextturn() if parts[0] == "turnincards": if hasattr(riskengine.currentplayer, "connection") and riskengine.currentplayer.connection == sock: cd = [] for c in riskengine.currentplayer.cards: if c.territory in parts[1:]: cd.append(c) riskengine.turnincards(riskengine.currentplayer, cd) if parts[0] == "message": pla = sockettoplayer(sock) if pla: plname = pla.name else: plname = "Someone" riskgui.set_status(plname + " sent message: " + parts[1]) if parts[0] == "leaving": sockets.remove(sock) sock.close() pla = sockettoplayer(sock) if pla: plname = pla.name else: plname = "Someone" riskgui.set_status(plname + " has left")