Страница 1 из 1

алгоритм построение карты

Добавлено: 11 мар 2010, 22:38
maxsim
пишу курсовую создание игры dice
http://www.gamedesign.jp/flash/dice/dice.html
,встала задача ,генирация карты понимаю чето тут с графами ,но как это сгенирировать ,
неважно какой язык просто мне интересен сам алгоритм,ну или интересная литература
спасибо если кто откликниться

Re: алгоритм построение карты

Добавлено: 12 мар 2010, 09:31
Хыиуду
Имеем матрицу нулей.
В случайные места распихиваем числа 1, 2, 3 и т.д - по количеству территорий на карте.
Далее, пробегаем по всей матрице - находим все элементы, рядом с которыми есть хотя бы один ноль (обратите внимание на "рядом" - с прямоугольной картой было бы проще, с гексагональной придется извращаться). Сваливаем в отдельный массив
Далее по циклу: i=1, выбираем все единицы, рядом с которым есть нулевые элементы, на рандом выбираем одну из них, на рандом выбираем свободный ноль рядом с ней, записываем в него единицу. Переходим к следующему i
И так пока вся карта не будет заполнена. Правда, возможны варианты, типа какая-то территория закрыла другой территории пути к развитию. Ну, значит судьба у нее такая.

Re: алгоритм построение карты

Добавлено: 16 мар 2010, 17:25
maxsim
Хыиуду писал(а):Имеем матрицу нулей.
В случайные места распихиваем числа 1, 2, 3 и т.д - по количеству территорий на карте.
Далее, пробегаем по всей матрице - находим все элементы, рядом с которыми есть хотя бы один ноль (обратите внимание на "рядом" - с прямоугольной картой было бы проще, с гексагональной придется извращаться). Сваливаем в отдельный массив
Далее по циклу: i=1, выбираем все единицы, рядом с которым есть нулевые элементы, на рандом выбираем одну из них, на рандом выбираем свободный ноль рядом с ней, записываем в него единицу. Переходим к следующему i
И так пока вся карта не будет заполнена. Правда, возможны варианты, типа какая-то территория закрыла другой территории пути к развитию. Ну, значит судьба у нее такая.

спасибо большое...