Пример #1
0
        private Room Generate(Options options)
        {
            var roomType = options.RoomTypes[_random.Next(1, options.RoomTypes.Length) - 1];

            var roomWidth = _random.NextOdd(options.MinRoomWidth, options.MaxRoomWidth);

            var roomHeight = roomType == RoomType.Rectangle
                                ? _random.NextOdd(options.MinRoomHeight, options.MaxRoomHeight)
                                : roomWidth;

            var roomX = _random.Next(options.Border, DetermineMaxPosition(options.LevelHeight, roomHeight, options.Border));
            var roomY = _random.Next(options.Border, DetermineMaxPosition(options.LevelWidth, roomWidth, options.Border));

            var room = new Room(roomHeight, roomWidth, roomX, roomY, roomType);

            return(room);
        }