» TeamX (Архив Форума)«


Форум TeamX » Исследования » Маски для карты мира

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения

 
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

АБель говорит истинную правду :). Это именно битовая маска. Единственное замечание: frm тайла карты мира имеет размер 350 x 300 = 10500, а файл msk - 352 x 300 = 105600. Это связано, как понимаете, с "добиванием" строки до целого числа байт.

Отправлено: 10:31 - 4 Апр., 2005
Perceptron
Модератор

Откуда: Ivanovo
Регистрация: Май 2003

Всего: 502 сообщения

Ммм... строка... целое...
Я, конечно, программист, но чевой-то не врубаюсь. А можно для глупых?

Отправлено: 0:28 - 5 Апр., 2005
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Да и я, вообще-то, тоже будующий программер, но и до меня слабо доходит. Разве в файле нельзя записать данные разных типов? Да и вообще есть ли смысл подгонять под целое число байт, что делать с теми, за счет которых подганялось. Просто пустые? И ещё. Если 01 - непроходимо, 00 - проходимо (или наоборот), то что означают значения FC, F8, FE, E0. Если всё остальное обнулить, все равно есть непроходимые зоны.  

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 0:50 - 5 Апр., 2005
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Каждому пикселю тайла карты мира ставится в соответствие один бит из файла msk. Если этот бит равен нулю, то по этому пикселю можно пройти, если единице - то нельзя.

Теперь о хранении данных. На пальцах :). В памяти данные хранятся в переменных (ячейках, регистрах, whatever :), размер которых кратен 1 байту. Если мы 350 поделим на 8 это будет 43,75 байта. Т.е. 43 байта и ещё 6 бит. Логично эти два бита добить нулями. Это гораздо проще, чем пытаться сэкономить на спичках и сразу тут же писать следующую строку. Работать с такой записью будет очень неудобно.

Стало быть, итог такой: каждая строка тайла, а это 350 бит, хранится в 44 байтах. Два последних бита добиваются нулями.

Отправлено: 13:45 - 5 Апр., 2005
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com