public void TestMethod1()
        {
            Field field = new Field
            {
                Height = 16,
                Width  = 16
            };

            field.InitField();
            field.MyId = "0";

            var line = ".,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,x,0,1,x,.,.,.,.,.,.,.,.,x,x,x,x,x,.,.,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.,.,.,x,x,x,x,x,x,x,x,x,x,x,x,.,.";

            field.ParseFromString(line);
            var myPos    = field.MyPosition;
            var enemyPos = field.EnemyPosition;

            var bot = new AwesomeBot();

            var move = bot.DoMove(new BotState
            {
                Field   = field,
                MyName  = "1",
                Players = new Dictionary <string, Player> {
                    ["player0"] = new Player("player0"), ["player1"] = new Player("player1")
                },
                MaxTimebank = 10000,
                MaxRounds   = 1,
                TimePerMove = 200,
                RoundNumber = 0,
                Timebank    = 10000
            });

            Assert.AreNotEqual(myPos, enemyPos);
        }
        public void Run()
        {
            string line;

            while ((line = Console.ReadLine()) != null)
            {
                var parts = line.Split(' ');
                switch (parts[0])
                {
                case "settings":
                    ParseSettings(parts[1], parts[2]);
                    break;

                case "update":
                    if (parts[1].Equals("game"))
                    {
                        ParseGameData(parts[2], parts[3]);
                    }
                    break;

                case "action":
                    if (parts[1].Equals("move"))
                    {
                        var move = _bot.DoMove(_currentState);
                        Console.WriteLine(move?.ToString() ?? MoveType.Pass.ToString());
                    }
                    break;

                default:
                    Console.Error.WriteLine("Unknown command");
                    break;
                }
            }
        }