Среда, 18 Декабря 2024, 11:09

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
C++ Проблема с генератором уровней
thitemДата: Воскресенье, 06 Февраля 2011, 21:43 | Сообщение # 21
частый гость
Сейчас нет на сайте
Во-первых, выход за пределы массива:
Code
bXL = 0;
...
block_pos[bXL-1][bYL][bZL]

Во-вторых, у тебя массив заполнен единицами:
Code
        int random=1;//rand()%1+0;  
         if(random==1)  
         {block_pos[bXL][bYL][bZL]=1;}

а в условии рендера везде стоит block_pos[...][...][...]!=1, т.е. условие ни разу не выполняется.

В-третьих, в условии есть противоречия: bXL==0 && bXL!=0. Это все равно что написать if(false)...

----------
Вывод: рано тебе еще браться за игры. Лучше подучи С++, попрактикуйся на задачах.

ProFiLeRДата: Воскресенье, 06 Февраля 2011, 22:44 | Сообщение # 22
частый гость
Сейчас нет на сайте
кому интересно то вот создание и рендер без =>этого кода<= и рандома
Code
         ((bXL==0)&&(block_pos[bXL+1][bYL][bZL]!=1))     
             &&     
             ((bXL!=0)&&(block_pos[bXL-1][bYL][bZL]!=1))     
             &&     
             ((bYL==0)&&(block_pos[bXL][bYL+1][bZL]!=1))     
             &&     
             ((bYL!=0)&&(block_pos[bXL][bYL-1][bZL]!=1))     
             &&     
             ((bZL==0)&&(block_pos[bXL][bYL][bZL+1]!=1))     
             &&     
             ((bZL!=0)&&(block_pos[bXL][bYL][bZL-1]!=1))

Добавлено (06.02.2011, 22:42)
---------------------------------------------

Quote (thitem)
bXL==0 && bXL!=0

это чтобы не выходил за пределы массива

Добавлено (06.02.2011, 22:44)
---------------------------------------------
block_pos[...][...][...]!=1 тоесть если справа, слева, сверху, снизу, спереди, сзади нету блоков тогда он рендерится, ато смысл невидимый блок рендерить





Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 22:45
thitemДата: Воскресенье, 06 Февраля 2011, 23:15 | Сообщение # 23
частый гость
Сейчас нет на сайте
Quote (ProFiLeR)
кому интересно то вот создание и рендер без =>этого кода<= и рандома

Не запустилось, попыталось отправить отчет об ошибке в Microsoft.

Quote (ProFiLeR)
это чтобы не выходил за пределы массива

У меня нет слов... Учи мат логику.
Проверка на выход за пределы массива делается так:
if (bXL > 0 && bXL < MAX_SIZE){/*работа с массивом*/}

Quote (ProFiLeR)
block_pos[...][...][...]!=1 тоесть если справа, слева, сверху, снизу, спереди, сзади нету блоков тогда он рендерится, ато смысл невидимый блок рендерить

Я же тебе написал:
Quote (thitem)
у тебя массив заполнен единицами

Т.е. у тебя нет такого случая, когда справа, слева, сверху, снизу, спереди, сзади нету блоков. А значить и рендериться нечему.
ProFiLeRДата: Воскресенье, 06 Февраля 2011, 23:24 | Сообщение # 24
частый гость
Сейчас нет на сайте
Quote (thitem)
Не запустилось, попыталось отправить отчет об ошибке в Microsoft.

не тот архив залил

Quote (thitem)
Т.е. у тебя нет такого случая, когда справа, слева, сверху, снизу, спереди, сзади нету блоков. А значить и рендериться нечему.

в этой версии я правильно рандом настроил и по ворлду были разброшены кубы

Quote (thitem)
if (bXL > 0 && bXL < MAX_SIZE){/*работа с массивом*/}

спс за совет





Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 23:26
Kolya0894Дата: Суббота, 12 Февраля 2011, 11:53 | Сообщение # 25
постоянный участник
Сейчас нет на сайте
ProFiLeR, разделом ошибся кажется)

ProFiLeRДата: Пятница, 18 Марта 2011, 17:09 | Сообщение # 26
частый гость
Сейчас нет на сайте
Quote (Kolya0894)
ProFiLeR, разделом ошибся кажется)

какбе нет

Quote
С/С++
В данном разделе обсуждаются вопросы по языку программирования С/С++

и... админы уберите предупреждение





Сообщение отредактировал ProFiLeR - Пятница, 18 Марта 2011, 17:10
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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