Je range … Et au milieu de tous les brols qui reviennent de mon ancien bureau et qui ne trouveront pas de place dans le nouveau, je tombe sur une tentative d’illustration du roll-jump de DKC returns précédé d’un morceau de code:
while (! cando(dx, dy)) {
if (dx!=0) {
dx=(dx>0)? (((x+w+dx)|7)-x)
: (((x+dx) & ~7)-x);
} else {
if (dy==0) return FAIL;
}
dy=(dy>0)? (( y+h+dy ) | 7) - x)
: (( y + dy) & ~7) -y);
}
}
return NONE;
Some code snippet I found on a flying sheet of paper while cleaning up and shifting some books around. It should help dealing with alignment along walls and floors while being carried by a platform. Time constraint do not allow me to integrate it into the source code so far, and I’ve been wondering where it could be for about 2 weeks, so I’ll just keep it here for now. It should complement the newly introduced GameObject::ride() function.
Il doit s’agir de la logique d’alignement impliquée dans le déplacement “sur une plate-forme”, gribouillé une fin de soirée, mais comme je n’ai aucun schéma qui l’accompagne et que j’ai été avare en valeurs symboliques, on verra ça plus tard: c’est l’heure des tartines.