if (stylus.Held){ facteur_vitesse = 5;}else{ facteur_vitesse = 1;}sprite_vX = 2 * facteur_vitesse;sprite_vY = 1 * facteur_vitesse;PosX += sprite_vX;PosY += sprite_vY;PA_SetSpriteXY(... , PosX, PosY, ...);
u32 timer = 0;while(1) { refreshEverything(); PA_WaitForVBL(); timer++; ...}
typedef struct { u32 timeforupdate; bool mustbeupdated; ... u8 color; // 0 is empty} Tcell;
void addNewBlock(u8 num, u32 timeforupdate) { ... blockstoadd[num] = xy; ... cell->timeforupdate = timeforupdate; cell->color = nextcolors[num]; cell->mustbeupdated = true; nbblockstoadd++; ... ...}
if (cell->mustbeupdated && (cell->timeforupdate==timer || cell->timeforupdate==0)) { updateCellGfx(x, y); }
u32 timer = 0;while(1) { for (i=0;i<refresh_speed;i++) recomputeEverything(); PA_WaitForVBL(); update_sprite_tables_etc(); timer++; ...}