Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 14.04.2012, 10:47   #1
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Вопрос 3д ячейки.

Привет булка. Помоги разобраться в проблеме:
Я создаю банк.
Сетка=CreateBank((Ширина*Длина*Высота)*Кол-во параметров)
Помещаю циклом данные:
For X=0 To Ширина
      For Z=0 To Длина
            For Y=0 To Высота
                  PokeByte Сетка,Номер_Ячейки*Кол-во параметров,Байт
                  Номер_Ячейки=Номер_Ячейки+1
            Next
      Next
Next
Этот код работает. Ничто не выходит за пределы и запись проходит нормально. Проблема возникает при доступе.
Адрес = Y+(Z*Высота)*(X*Длина)
Этот код выдает значения выше чем есть. То есть у нас банк 2016, а адрес получается 2300.
На бумаге код почему-то работает))): Например ячейка с координатами Y=2,Z=1,X=2 в сетке 3х3 имеет адрес 11=2+(3*1)*(3*2).
Не пойму в чем тут проблема.
Заранее спасибо).
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Старый 14.04.2012, 11:08   #2
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: 3д ячейки.

а разница постоянная?
(Offline)
 
Ответить с цитированием
Старый 14.04.2012, 11:14   #3
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: 3д ячейки.

Сообщение от Nikich Посмотреть сообщение
а разница постоянная?
Практически да. Он постоянно на где-то треть больше.
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Старый 14.04.2012, 11:18   #4
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: 3д ячейки.

если бы была ровно одна треть можно было бы все легко исправить:
Адрес=твоя_формула
Адрес=адрес-адрес/3
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (14.04.2012)
Старый 14.04.2012, 11:23   #5
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: 3д ячейки.

кстати
11=2+(3*1)*(3*2).
Неверно, какбэ.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (14.04.2012)
Старый 14.04.2012, 11:25   #6
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: 3д ячейки.

Oh shi! Точняк!)))
Спасибо).
Видимо пора отдохнуть))).
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com