예제 #1
0
        private static void Main(string[] args)
        {
            if (!IsWindows())
            {
                throw new Exception("Not running on a windows os");
            }

            //Works for getting files from desktop
            var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            if (!dir.EndsWith(@"CharacterLibrary\Files"))
            {
                dir = GetPathToGlobalFiles(dir);
            }

            var xmlDocPath = dir + @"\config.xml";

            using (var writer = new StreamWriter("asdf.txt"))
            {
                writer.WriteLine(xmlDocPath);
            }

            var mapPath = dir + @"\map.png";
            var appPath = dir + @"\ImageDisplayApp.exe";

            IBattleManager battleManager = new BattleManager();

            IReader reader = new XmlReader(battleManager);

            reader.ReadDocument(xmlDocPath);

            IPlayer player = SetupPlayer(reader.Width, reader.Height);

            IMap map = new GlobalMap(reader.Width, reader.Height, mapPath, appPath, reader.Tiles);

            var dungeons = GetDungeonTiles(map.GetMapGrid());

            IVictoryCondition victoryCondition = new DungeonVictoryCondition(map, player, dungeons);

            map.GetTileByLocation(player.GetCurrentLocation()).Visited = true;

            IGameManager game = new GameManager(map, victoryCondition, player);

            game.Play();
        }