自機弾タスクの優先度を0x1000〜0x1FFF、敵タスクの優先度を0x2000〜0x2FFFの範囲に生成すると決めておいて

TCB* tama = 一番先頭のタスクのアドレス;
while( tama->prio < 0x1000 ){
 tama = tama->next;
}

TCB* enemy = 一番先頭のタスクのアドレス;
while( enemy->prio < 0x2000 ){
 enemy = enemy->next;
}

while( tama->prio <= 0x1FFF ){
 while( enemy->prio <= 0x2FFF ){
  GameObject* t = (GameObject*)(&tama->work);
  GameObject* e = (GameObject*)(&enemy->work);
  if( hitcheck(t->rect,e->rect) ){
   t->hitflag = true;
   t->hitflag = true;
  }
  enemy = enemy->next;
 }
 tama = tama->next;
}


とか考えているのですがどうでしょうか?>334&>ALL