예제 #1
0
        private APIMsgConclusion handleSimulateMoveDelta(JSONObject jObj)
        {
            JSONObject jPlayer = jObj.GetField(Constants.JProtocol.player);
            JSONObject jEnemy  = jObj.GetField(Constants.JProtocol.enemy);
            BoardMoves moves   = parseBoardMoves(jObj);

            SnakePlayer p = new SnakePlayer()
            {
                x   = (int)jPlayer.GetField(Constants.JProtocol.posX).i,
                y   = (int)jPlayer.GetField(Constants.JProtocol.posY).i,
                dir = moves.playerMove
            };
            SnakePlayer e = new SnakePlayer()
            {
                x   = (int)jEnemy.GetField(Constants.JProtocol.posX).i,
                y   = (int)jEnemy.GetField(Constants.JProtocol.posY).i,
                dir = moves.enemyMove
            };

            Board b = new Board(new SnakePlayer[] { p, e }, false);

            b.playMove(new string[] { moves.playerMove, moves.enemyMove });
            SimulatedMove temp = new SimulatedMove()
            {
                enemyMove = moves.enemyMove, playerMove = moves.playerMove, board = b
            };

            string encodedBoards = SnakeProtocolEncoder.compressSimulatedMove(temp);

            return(new APIMsgConclusion()
            {
                status = ResponseStatus.Success, msg = encodedBoards, target = MsgTarget.Player
            });
        }
예제 #2
0
        private APIMsgConclusion activateSimulateMove(JSONObject jObj, Func <Board, string, string, SimulatedMove> simMove)
        {
            JSONObject jBoard     = jObj.GetField(Constants.JProtocol.board);
            Board      startBoard = new Board(jBoard);
            BoardMoves moves      = parseBoardMoves(jObj);

            SimulatedMove temp          = simMove(startBoard, moves.playerMove, moves.enemyMove);//SnakeAPILogic.simulateMove(startBoard, moves.playerMove, moves.enemyMove, false);
            string        encodedBoards = SnakeProtocolEncoder.compressSimulatedMove(temp);

            return(new APIMsgConclusion()
            {
                status = ResponseStatus.Success, msg = encodedBoards, target = MsgTarget.Player
            });
        }