Понедельник, 25 Ноября 2024, 09:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с генератором карт Game Maker
DarkEliphantДата: Четверг, 07 Августа 2014, 21:17 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет!
В общем столкнулся с такой проблемой: создал простой генератор карты, а он каждый раз выдает одно и тоже. Судя по всему функция irandom каждый раз генерирует одни и те же числа. Но когда запускаю этот генератор в дебаге и перезапускаю несколько раз, то карта генерируется по разному. Сначала думал что я накасячил в коде, но после того как скачал пример готового генератора столкнулся с той же ситуацией, генерировалась одна и та же карта. Если кто сталкивался с такой проблемой или знает как ее решить, помогите пожалуйста.

Код
n=30
m=25
a=irandom_range(5,n - 5)
b=irandom_range(5,m - 5)
c=irandom_range(50,70)

// ========= генерация =========
// заполнение водой
for (i=1;i<n;i+=1)
     {for (j=1;j<m;j+=1)
     {karta[i,j]=0
     }}
// построение земли
i = a
j = b
for (a=1;a<c;a+=1){
             karta[i,j]=1
             d=irandom_range(1,4)
             if d=1 {if i+1<n i=i+1}
             if d=2 {if i-1>1 i=i-1}
             if d=3 {if j+1<m j=j+1}
             if d=4 {if j+1>1 j=j-1}
                     }     
                      
// ======== визуализация =========
for (i=1;i<n;i+=1)
     {for (j=1;j<m;j+=1){
     if karta[i,j]=0 instance_create(i*16,j*16,obj_water)
     if karta[i,j]=1 instance_create(i*16,j*16,obj_grass)
                         }
     }
XDominatorДата: Четверг, 07 Августа 2014, 21:55 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
В начале кода добавь строчку random_set_seed(current_day + current_hour + current_minute + current_second)

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
lisiyrakДата: Четверг, 07 Августа 2014, 22:03 | Сообщение # 3
Hero of bacon
Сейчас нет на сайте
Лучше просто - randomize().

KEKW
DarkEliphantДата: Четверг, 07 Августа 2014, 23:09 | Сообщение # 4
был не раз
Сейчас нет на сайте
Получилось! Спасибо!
Цитата XDominator ()
В начале кода добавь строчку random_set_seed(current_day + current_hour + current_minute + current_second)

Это я так понимаю с помощью ты random_set_seed сам задаешь сид для псевдослучайной генерации, а если его не задавать откуда он его берет?
XDominatorДата: Четверг, 07 Августа 2014, 23:41 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Думаю что тогда он просто использует 0 или -4 в качестве сида smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг