Пример #1
0
        public void SquaresAreAdjacent()
        {
            var gameState   = CreateSampleGameState();
            var moveRequest = new MoveRequest()
            {
                Player = "P1",
                State  = gameState
            };
            var game = GameStateParser.Parse(moveRequest);

            Assert.IsTrue(game.Grid[0, 19].IsAdjacentTo(game.Grid[0, 18]));
        }
Пример #2
0
        public void CanCreateGame()
        {
            var gameState   = CreateSampleGameState();
            var moveRequest = new MoveRequest()
            {
                Player = "P1",
                State  = gameState
            };
            var game = GameStateParser.Parse(moveRequest);

            Assert.IsNotNull(game);
        }
Пример #3
0
        public IEnumerable <BotletMove> GetMoves(MoveRequest request)
        {
            GameBoard         game    = GameStateParser.Parse(request);
            List <BotletMove> myMoves = new List <BotletMove>();
            List <Square>     myBots  = GetMyBots(game.Grid);

            foreach (Square bot in myBots)
            {
                var myMove = bot.GetMoveTo(game.Grid.EnemySpawn);
                myMoves.Add(myMove);
            }
            return(myMoves);
        }
Пример #4
0
        public IEnumerable <BotletMove> GetMoves(MoveRequest request)
        {
            var game = GameStateParser.Parse(request);

            Random myRandom = new Random();

            var myMoves = new List <BotletMove>();

            foreach (var bot in game.Grid.MyBots)
            {
                var possibleMoves  = bot.GetAdjacentSquares().ToList();
                var randomNumber   = myRandom.Next(0, possibleMoves.Count);
                var squareToMoveTo = possibleMoves[randomNumber];
                var botletMove     = bot.GetMoveTo(squareToMoveTo);
                myMoves.Add(botletMove);
            }
            return(myMoves);
        }
Пример #5
0
        public IEnumerable <BotletMove> GetMoves(MoveRequest request)
        {
            Soldier.Reset();
            var            game            = GameStateParser.Parse(request);
            var            squaresToAssign = game.Grid.Where(x => x == SquareType.PlayerBot).OrderBy(x => x.DistanceFrom(game.Grid.MySpawn)).ToList();
            List <Soldier> myArmy          = new List <Soldier>();

            for (int i = 0; i < squaresToAssign.Count; i++)
            {
                var square = squaresToAssign[i];
                myArmy.Add(GetAssignment(square, game.Grid, squaresToAssign.Count, i));
            }
            List <BotletMove> moves = new List <BotletMove>();

            foreach (var soldier in myArmy)
            {
                var move = soldier.GetMove();
                moves.Add(move);
            }
            return(moves);
        }