Пятница, 22 Ноября 2024, 11:59

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Процедурная генерация коридоров
CUbeBДата: Суббота, 30 Мая 2020, 04:28 | Сообщение # 1
частый гость
Сейчас нет на сайте
Написал небольшой код:
Код


i=0;//x
j=0;//y
map[0,0]=0;
for (i=0; i<100; i+=1)
for (j=0; j<100; j+=1){map[i,j]=0;}

ii=0;
jj=0;
dir=0;
size=2000
for (seeds=0;seeds<4;seeds+=1)
{
ii=irandom(100);
jj=irandom(100);
for (s=0;s<size;s+=1)
  {
  map[ii,jj]=1
  dir=irandom(3)
  if (dir=0) {ii+=1};
  if (dir=1) {ii-=1};
  if (dir=2) {jj+=1};
  if (dir=3) {jj-=1};
  if (ii>100)or(ii<0)or(jj>100)or(jj<0)
  then {ii=irandom(100);jj=irandom(100);}
  }
}
for (i=0; i<100; i+=1)
for (j=0; j<100; j+=1){if map[i,j]=0 then instance_create(obj_wall,i*16,j*16)
                       if map[i,j]=1 instance_create(obj_hole,i*16,j*16)}


По идеи, он должен генерировать коридоры и стены, но вместо этого пишет в консоль сообщение об ошибке:
Creating instance for non-existing object: 0

Если по пытаться поставить вместо создания объектов, рисования их спрайта, то все работает.


Да да, на аватарке моя старая игра...
DivESДата: Суббота, 30 Мая 2020, 04:39 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
CUbeB, слушай, да ты издеваешься? А загуглить это твоё
Цитата CUbeB ()
Creating instance for non-existing object: 0

ты не подумал?
Вторая же ссылка выдаёт решение.
CUbeBДата: Суббота, 30 Мая 2020, 05:24 | Сообщение # 3
частый гость
Сейчас нет на сайте
DivES, Я уже все это видел.
Ничего не понятно, но очень интересно. Можно конкретное решение моей проблемы?

Я тупой


Да да, на аватарке моя старая игра...
DivESДата: Суббота, 30 Мая 2020, 05:54 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
CUbeB, а ты же в курсе, что instance_create(x, y, obj);
принимает объект именно в качестве третьего параметра, а не первого, как у тебя?

Ну нельзя же слепо копировать функцию, даже не имея представления о том, в каком порядке у неё расположены аргументы.


Сообщение отредактировал DivES - Суббота, 30 Мая 2020, 05:56
CUbeBДата: Суббота, 30 Мая 2020, 06:09 | Сообщение # 5
частый гость
Сейчас нет на сайте
DivES, Забыл поменять местами, после теста с draw_sprite(); вместо instance_create();

Ошибка была в этом.. я клоун


Да да, на аватарке моя старая игра...
DivESДата: Суббота, 30 Мая 2020, 06:10 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
CUbeB, а, ну тут да, так любой мог попасться, внимательнее! laugh
  • Страница 1 из 1
  • 1
Поиск:

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