Beispiel #1
0
 def __init__(self, playerColor):
     """
     Simple client object used to communicate to server
     :param playerColor: The active players color. options red, or blue
     """
     self.playerColor = playerColor
     if not self.playerColor.lower() in utils.getGameContent().keys():
         raise utils.ServerException("Invalid player color %s" % self.playerColor)
     self.context = None
     self.redScore = 0
     self.blueScore = 0
     self.turn = 4
     self.timeout = 10
Beispiel #2
0
 def __init__(self, playerColor):
     """
     Simple client object used to communicate to server
     :param playerColor: The active players color. options red, or blue
     """
     self.playerColor = playerColor
     if not self.playerColor.lower() in utils.getGameContent().keys():
         raise utils.ServerException("Invalid player color %s" %
                                     self.playerColor)
     self.context = None
     self.redScore = 0
     self.blueScore = 0
     self.turn = 4
     self.timeout = 10
Beispiel #3
0
#------------------------------------------------------------------------------
# server.py - server for simple zero-sum game
#------------------------------------------------------------------------------

import zmq
import json
import utils

GAME_CONTENT = utils.getGameContent()
PORT = utils.defaultServerPort()
HOST = utils.defaultHost()


def start():
    """
    Start the game server and wait for other players to join game
    """
    context = zmq.Context()
    socket = context.socket(zmq.REP)
    socket.bind("tcp://%s:%s" % (HOST, PORT))
    print "server started.."

    while True:
        #  Wait for next request from client
        gameData = json.loads(socket.recv())
        print "data recieved %s" % gameData
        score = gameData.get('score')
        try:
            computerData = getComputerChoice(gameData)
        except utils.ServerException, e:
            errorData = {"Error": e.message}
Beispiel #4
0
#------------------------------------------------------------------------------
# __init__.py - windows used to visualize game
#------------------------------------------------------------------------------

import functools
import utils
import Tkinter
import ttk

GAME_CONTENT = utils.getGameContent()

class GameWindow(Tkinter.Tk):
    def __init__(self, newPlayerCallback, requestCallback, *args, **kwargs):
        """
        Simple Tk UI to give visualization to game
        :param newPlayerCallback: Callback for when a new player is created
        :param requestCallback: Callback for when player makes a choice
        """
        Tkinter.Tk.__init__(self, *args, **kwargs)
        self.newPlayerCallback = newPlayerCallback
        self.requestCallback = requestCallback
        self.center(240, 80)
        self.title("You'll never win!")
        self.call('wm', 'attributes', '.', '-topmost', True)
        self.after_idle(self.call, 'wm', 'attributes', '.', '-topmost', False)
        self.protocol("WM_DELETE_WINDOW", self.close)
        self.initUi()
        self.lift()
        self.wait_window(self)

    def initUi(self):