Может быть так...
Пока объект состоит из одного элемента, то его ID описывается в 16-ти битном слове: b11111111'00000000, где 00000000 - байт описывающий количество частей, на которые разделился объект после столкновения с другим.
Тогда остаётся только определиться с макс. Количеством осколков объекта, продумать таблицу свойств объекта и его осколков, которая будет храниться в ОЗУ, пока объект отображается на экране, но может быть выгружена, или удалена, для освобождения памяти под другие объекты, когда объект уже не нужен, или вскоре не понадобиться для отображения на экране.
- - - Добавлено - - -
Таким образом, у каждого осколка уже заранее определён свой ID...
Старший байт - это основной ID, в котором можно шифровать по маске и тип объекта, и его номер.
Ну, и основному ID можно выделить 12 старших бит, а осколкам - 4 бита, в ID
- - - Добавлено - - -
Прочитав ID как слово, сразу становится известно о типе объекта, есть ли у него осколки (или спутники), и как глубоко шерстить таблицу осколков, исходя из их количества...






Ответить с цитированием