пишу курсовую создание игры dice
http://www.gamedesign.jp/flash/dice/dice.html
,встала задача ,генирация карты понимаю чето тут с графами ,но как это сгенирировать ,
неважно какой язык просто мне интересен сам алгоритм,ну или интересная литература
спасибо если кто откликниться
алгоритм построение карты
Имеем матрицу нулей.
В случайные места распихиваем числа 1, 2, 3 и т.д - по количеству территорий на карте.
Далее, пробегаем по всей матрице - находим все элементы, рядом с которыми есть хотя бы один ноль (обратите внимание на "рядом" - с прямоугольной картой было бы проще, с гексагональной придется извращаться). Сваливаем в отдельный массив
Далее по циклу: i=1, выбираем все единицы, рядом с которым есть нулевые элементы, на рандом выбираем одну из них, на рандом выбираем свободный ноль рядом с ней, записываем в него единицу. Переходим к следующему i
И так пока вся карта не будет заполнена. Правда, возможны варианты, типа какая-то территория закрыла другой территории пути к развитию. Ну, значит судьба у нее такая.
В случайные места распихиваем числа 1, 2, 3 и т.д - по количеству территорий на карте.
Далее, пробегаем по всей матрице - находим все элементы, рядом с которыми есть хотя бы один ноль (обратите внимание на "рядом" - с прямоугольной картой было бы проще, с гексагональной придется извращаться). Сваливаем в отдельный массив
Далее по циклу: i=1, выбираем все единицы, рядом с которым есть нулевые элементы, на рандом выбираем одну из них, на рандом выбираем свободный ноль рядом с ней, записываем в него единицу. Переходим к следующему i
И так пока вся карта не будет заполнена. Правда, возможны варианты, типа какая-то территория закрыла другой территории пути к развитию. Ну, значит судьба у нее такая.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Хыиуду писал(а):Имеем матрицу нулей.
В случайные места распихиваем числа 1, 2, 3 и т.д - по количеству территорий на карте.
Далее, пробегаем по всей матрице - находим все элементы, рядом с которыми есть хотя бы один ноль (обратите внимание на "рядом" - с прямоугольной картой было бы проще, с гексагональной придется извращаться). Сваливаем в отдельный массив
Далее по циклу: i=1, выбираем все единицы, рядом с которым есть нулевые элементы, на рандом выбираем одну из них, на рандом выбираем свободный ноль рядом с ней, записываем в него единицу. Переходим к следующему i
И так пока вся карта не будет заполнена. Правда, возможны варианты, типа какая-то территория закрыла другой территории пути к развитию. Ну, значит судьба у нее такая.
спасибо большое...