Exemplo n.º 1
0
        public Game(IMonsterFactory factory)
        {
            gamer = new Hero(); // герой, за которого играем

            //Список комнат в локации
            Room[] rooms = new Room[]
            {
                new Room(),
                new Room(),
                new Room()
            };

            //Список сокровищ в локации
            Treasure[] treasures = new Treasure[]
            {
                new Treasure(),
                new Treasure(),
                new Treasure()
            };

            IMonster[] monsters = new IMonster[50]; // Список монстров в локации

            for (int i = 0; i < monsters.Length; i++)
            {
                monsters[i] = factory.Create(); // задаем тип монстра
            }

            location = new Dangeon(monsters, rooms, treasures); // инициализация игровой локации
        }
Exemplo n.º 2
0
    public static Dangeon Generate()
    {
        var result = new Dangeon();

        result.floors = Enumerable.Range(0, 10).Select(index => new DangeonFloor()).ToList();


        //接続部の作成

        for (int i = 0; i < 10; i++)
        {
            DangeonFloor floor = result.floors[i];
            //前のフロアへの接続部
            if (0 < i)
            {
                floor["Prev"] = result.floors[i - 1];
                //適当に階段を生成
                floor.Portal[new V3()
                             {
                                 x = 1,
                                 y = 2,
                                 z = 3
                             }] = "Prev";
            }

            //次のフロアへの接続部
            if (i < 10)
            {
                floor["Next"] = result.floors[i + 1];
            }
        }



        return(result);
    }