Прием данных

Сегодня попробуем получить данные с сервера и построить по ним карту в Flash.
В нашу предыдущую заготовку по рисованию карты внесем изменения.
в initScene() добавим создания еще одного массива для кэширования карты
oldmap = new Array(mapwidth*mapheight), а также весь массив основной карты заполним значением -1, это будет означать что
карта "скрыта". Ну для графического оформления сделаем еще один клип star который будем выводить при закрытой карте.
В пустую функцию runScene() которая запускается каждый раз при idle, внесем проверку на необходимость подзагрузки
карты с сервера, для этого также воспользуемся просто примитивным способом просмотра квадрата с центром - позиция героя,
а стороны 2*радиус_зрения (3), в дальнейшом я думаю усложнить функцию, и здесь и на стороне сервера, чтобы нельзя было
смотреть сквозь стены.
Так вот если в нашем квадрате есть участок с картой значения = -1, то значит карту нужно подрузить, для этого сделаем и установим вызов функции server_getmap()

В самой функции server_getmap() пока сделаем фэйк, т.е. там пропишем явные ответы от сервера, чтобы упростить понимания кода:
var server_string = "00B0AB14B1EB28B32B01B0BA15A1FA29B33A02B0CA16B20A2AB34A03B0DA17B21B2BB35A04B0EA18A22A2CA36A";
Дальше я просто хотел перевести написаный на C код и примера серверной части unpackMap() на ActiveScripts, но возникла трабла
в мануалах очень быстро нашел фунцию chr(), которая по коду ASCII создает символ, но вот обратную (искал по названию ASC ) нет.
После некоторого перебора ссылок удалось таки разыскать ord очевидно разработчикам Flash по духу ближе Паскакаль
Код портировался очень быстро, не считая маленькой ошибки (вместо server_string я стал писать server_length) и отнего брать substr,
а Flesh на разную фигню возвращает undefined, причем в данном контексте ввиде строки, но и это быстро нашел.
В конце процедуры написать
makeMap();
drawMap();
и пришлось поправить makeMap(), т.к. объекты неоткрытой поверхности уже были созданы и занимали имя obj_[x*y], пришлось
выучить новую функцию removeMovieClip

Пример fla можно посмотреть во вложении.