le carré doit pouvoir bouger dans deux directions et s’arrêter mais au lieu de ça quand il commence a aller a droite il accélère sans s'arreter.
- Code: Tout sélectionner
#include <tice.h>
#include <string.h>
#include <graphx.h>
#include <keypadc.h>
int main(void)
{
/* Clear the homescreen */
os_ClrHome();
gfx_Begin();
uint24_t ticks=0;
int16_t x=15,y=15,i,j,vx=0,vy=0;
uint8_t map[12][15];
for(i=0;i<8;i++)
for(j=0;j<13;j++)
if(randInt(0,1)==0)
map[i][j]=1;
while (!(kb_Data[7] & kb_Down))
{
delay(20);
if (kb_Data[7] & kb_Right)vx=5;
if (kb_Data[7] & kb_Left)vx=-5;
x+=vx;
y+=vy;
if(vx>0)
{
vx--;
}
if(vx<0)
{
vx++;
}
gfx_FillScreen(255);
gfx_SetColor(37);
for(i=0;i<12;i++)
for(j=0;j<15;j++)
if(map[i][j]==1)
gfx_FillRectangle_NoClip(j*20,i*20,20,20);
ticks++;
gfx_SetColor(0);
gfx_FillRectangle(x,y,20,20);
gfx_SwapDraw();
}
gfx_End();
return 0;
}
EDIT:
mettre ça fixe le pb
- Code: Tout sélectionner
{
vx--;
asm("nop");
}
Mais ça n'a toujours AUCUN SENS
Je commence a penser de plus en plus que le backend llvm est buggé