Beispiel #1
0
        private static void StartGame(string rulesPath, string mapPath)
        {
            map = InitializeMap(rulesPath, mapPath);

            do
            {
                Console.Clear();
                PrintMapScreen();
                PrintGameMenu();
                ConsoleKeyInfo input            = Console.ReadKey(true);
                MaptileInfo    selectedTileInfo = map.SelectedTile;
                // Нет проверок на выделенный тайл,
                // потому что играю от API.
                if (input.Key == ConsoleKey.DownArrow)
                {
                    ++map.SelectedTileY;
                }
                else
                if (input.Key == ConsoleKey.UpArrow)
                {
                    --map.SelectedTileY;
                }
                else
                if (input.Key == ConsoleKey.LeftArrow)
                {
                    --map.SelectedTileX;
                }
                else
                if (input.Key == ConsoleKey.RightArrow)
                {
                    ++map.SelectedTileX;
                }
                else
                if (input.Key == ConsoleKey.Enter)
                {
                    if (map.UnitSelected)
                    {
                        map.ConfirmSelectedUnitRoute();
                    }
                    else
                    if (map.SelectedTile.ContainsUnit)
                    {
                        map.SelectUnit();
                    }
                }
                else
                if (input.Key == ConsoleKey.Spacebar)
                {
                    map.AddSelectedUnitRoute();
                }
                else
                if (input.Key == ConsoleKey.Escape)
                {
                    map.UnselectUnit();
                }
                else
                if (input.Key == ConsoleKey.T)
                {
                    map.MakeTurn();
                }
                else
                if (input.Key == ConsoleKey.P)
                {
                    map.PassTurn();
                }
            } while (true);
        }