Exemplo n.º 1
0
def defend(client, cmd):
	"""Attempt to defend.
	Calls executeGameFunct."""
	if len(cmd) != 2:
		sendError(client, 'Invalid target')
		return
	else:
		targetkey = cmd[1]

	executeGameFunct(client, gamecommands.defend, targetkey)
Exemplo n.º 2
0
def defend(client, cmd):
    """Attempt to defend.
    Calls executeGameFunct."""
    if len(cmd) != 2:
        sendError(client, 'Invalid target')
        return
    else:
        targetkey = cmd[1]

    executeGameFunct(client, gamecommands.defend, targetkey)
Exemplo n.º 3
0
def executeGameFunct(client, gameFunct, targetkey):
	"""Attempt to execute specified game function.
	Response will contain error response if failed.
	Response will contain lobby data (games) if successful.
	Status does not change on success."""
	if client.gamekey == None:
		sendError(client, 'You are not in a game')
	elif (len(client.factory.games[client.gamekey]['players']) 
			!= client.factory.games[client.gamekey]['playerlimit']):
		sendError(client, 'The game is not ready yet')
	elif targetkey not in client.factory.games[client.gamekey]['players'].keys():
		sendError(client, "Couldn't find that player in this game")
	elif client.name in client.factory.games[client.gamekey]['graveyard']:
		sendError(client, "You can't do that from the graveyard")
	else:
		gameFunct(client.factory.games[client.gamekey], client.name, targetkey)

	if client.factory.games[client.gamekey]['winner'] == 'NONE':
		sendToGame(client, client.gamekey, {'status':'In game'})
	else:
		sendToGame(client, client.gamekey,
				{'winner':client.factory.games[client.gamekey]['winner']})
		endGame(client, client.gamekey)
		sendToLobby(client, {})
Exemplo n.º 4
0
def executeGameFunct(client, gameFunct, targetkey):
    """Attempt to execute specified game function.
    Response will contain error response if failed.
    Response will contain lobby data (games) if successful.
    Status does not change on success."""
    if client.gamekey == None:
        sendError(client, 'You are not in a game')
    elif (len(client.factory.games[client.gamekey]['players']) 
            != client.factory.games[client.gamekey]['playerlimit']):
        sendError(client, 'The game is not ready yet')
    elif targetkey not in client.factory.games[client.gamekey]['players'].keys():
        sendError(client, "Couldn't find that player in this game")
    elif client.name in client.factory.games[client.gamekey]['graveyard']:
        sendError(client, "You can't do that from the graveyard")
    else:
        gameFunct(client.factory.games[client.gamekey], client.name, targetkey)

    if client.factory.games[client.gamekey]['winner'] == 'NONE':
        sendToGame(client, client.gamekey, {'status':'In game'})
    else:
        sendToGame(client, client.gamekey,
                {'winner':client.factory.games[client.gamekey]['winner']})
        endGame(client, client.gamekey)
        sendToLobby(client, {})