示例#1
0
        public static void Main(string[] args)
        {
            var timer = new Stopwatch();

            timer.Start();
            BitMaps.GenerateMoves();
            BitMaps.GenerateBombs();
            timer.Stop();

            char[,] map = new char[13, 11];
            List <Robot> bots  = new List <Robot>();
            List <Bomb>  bombs = new List <Bomb>();
            var          bomb  = new Bomb();

            bomb.position  = 2;
            bomb.owner     = 0;
            bomb.range     = 3;
            bomb.countDown = 7;
            bombs.Add(bomb);

            bomb           = new Bomb();
            bomb.position  = 13;
            bomb.owner     = 0;
            bomb.range     = 3;
            bomb.countDown = 4;
            bombs.Add(bomb);

            for (int i = 0; i < 11; i++)
            {
                for (int j = 0; j < 13; j++)
                {
                    map[j, i] = '.';
                }
            }

            var r = new Robot();

            r.owner = 0;
            var x = 0;
            var y = 0;

            r.position = BitState.GetBitIndex(x, y);
            r.param1   = 1;
            r.param2   = 3;

            bots.Add(r);

            var bgs = new BitState(map, bots, bombs, 0);

            var best = BitSolution.generateBestRandomSolution(bgs, 0, 20, 90);
            //var move = new Move(MoveType.Move, MoveDirection.Stay);
            var move = best.moves[0];

            bgs.getBot(0).getCommand(move);

            bgs.play(best, 0);
            bgs.score(0);

            Console.Error.WriteLine(timer.ElapsedMilliseconds);
        }
示例#2
0
 public void GetBitIndexTest_0_0_Returns0()
 {
     Assert.AreEqual(0, BitState.GetBitIndex(0, 0));
 }
示例#3
0
 public void GetBitIndexTest_8_1_Returns17()
 {
     Assert.AreEqual(17, BitState.GetBitIndex(8, 1));
 }
示例#4
0
 public void GetBitIndexTest_1_1_ReturnsNeg1()
 {
     Assert.AreEqual(-1, BitState.GetBitIndex(1, 1));
 }
示例#5
0
 public void GetBitIndexTest_12_10_Returns112()
 {
     Assert.AreEqual(112, BitState.GetBitIndex(12, 10));
 }