Понедельник, 11.05.2026, 18:24
TagumPlay 

 
Главная Регистрация Вход

Приветствую Вас Гость | RSS
Меню сайта
Последние новости
Мы открыты для Вас
Поиск
Главная » Статьи » Создание игр

Генерация лесов

  Доброго времени суток,

  Сделав прорисовку земли стоит задуматься о генерации лесов на карте. Если судить логически то леса расположены случайным образом небольшими группками. С этого следует то, что за основу будут браться рандомные числа.

  Итак, карта земли состоит из одного большого массива NxM. Создадим ещё один массив ( Tree_Position ) с кол-вом элементов равным кол-ву деревьев ( Max_Trees ). Перед генерацией можно будет указывать в настройках карты густоту лесов ( например переменными Tree_Num, For_Width, For_Height ) и их насыщенность на карте ( переменной Max_Trees ). 
  Создаём цикл перебора всех деревьев в котором создаём 3 случайных числа: от 1 до N = Y , от 1 до M = X ( координаты начала леса ) , от 1 до Forests = Num_Trees ( кол-во деревьев в лесу ).
  Далее в новом цикле перебора всех Num_Trees создаём новые рандомные числа от 1 до For_Width = Width ( случайная точка меньше чем  ширина леса ) и от 1 до For_Height = Height ( случайная точка меньше чем высота леса ). 
  Дереву в цикле присваиваем координаты ( X + Width , Y + Height ). Наш лес готов. 

Теперь посмотрим на сам код.

            Random random = new Random(DateTime.Now.Millisecond);
            for (int TreeLast = 0; TreeLast < Max_Trees;)
            {
                int X = random.Next(1, M);
                int Y = random.Next(1, N);
                int TreeNum = random.Next(1, Num_Trees);

                for (int i = TreeLast; i < TreeLast + TreeNum; i++)
                {
                    int Width = random.Next(1, For_Width);
                    int Height = random.Next(1, For_Height);
                    Tree_Position[i] = new Vector2(X + Width, Y + Height);
                }

                TreeLast += TreeNum;              
            }

Надеюсь объяснено понятно. Если будут вопросы - пишите, текст подправлю. Всем удачи, TagumPlay.

Автор: TagumPlay.

Категория: Создание игр | Добавил: PINEgrosebeak (31.03.2011)
Просмотров: 666 | Теги: Генерация лесов, Генератор карты | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вопрос
Как Вы нас нашли ?

Всего ответов: 17
Статистика
Онлайн всего: 3
Гостей: 3
Пользователей: 0


Друзья сайта
Продвижение сайта

Создай свою игру или скачай готовую

We are working for the future.