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 }); }
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 }); }