Запаковка флагов в один байт.
Все что будет здесь написанно в основном касается программирования сетевых игр.
Иногда надо передать информацию весьма сжато, особенно если эта информация типа boolean (0/1). Ну например мочить своих/нет, использовать мины/нет и т.д. вот пример как ету инфу запокавать в один байт. потом его можно chr командой привести к одной букве и отпрваить ее по сети, радуясь экономии трафика. Код:
b=PackFlagsToByte(1,1,1,0,0,1,1,0) |
Re: Запаковка флагов в один байт.
1) как я помню блиц держит параметры функции по дефолту
потому лутче бы в функции PackFlagsToByte все параметры кроме первого по дефолту поставить 0 вдруг юзеру захочется не 8 флагов записать, а 3 или 5 ? 2) имхо в той функции не нужны проверки пусть если юзер намудачит то прога крешит а то потом будет читать ети флаги - ему вместо 3 возвращает 1 и он будет думать долго ... :) |
Re: Запаковка флагов в один байт.
Jimon, хорошие идеи
Код:
Function PackFlagsToByte%(f0,f1=0,f2=0,f3=0,f4=0,f5=0,f6=0,f7=0). |
Ответ: Запаковка флагов в один байт.
|
Часовой пояс GMT +4, время: 04:32. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot