Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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")
            
Пример #4
0
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")