Exemplo n.º 1
0
        public void onPlayerMove(object obj, ConnectedClient c)
        {
            Game.CommProtocol.StringMessage moveMsg = (Game.CommProtocol.StringMessage)obj;
            if (gameOver || moveMsg.color != currentPlayer().color)
            {
                return;
            }

            int[] start = new int[2], target = new int[2];
            if (moveHandler.checkIfValidMove(moveMsg.msg, ref start, ref target, playerColorToInt(moveMsg.color)))
            {
                logic.makeMove(start, target, playerColorToInt(moveMsg.color));
                currentMoveNumber++;
                broadcastBoard();
                gameLog.pushToRawLog(moveMsg.msg);

                if (logic.winCheck())
                {
                    victory();
                    return;
                }
                nextPlayer();
            }

            requestMove();
        }