Bon, autant que ca soit clair, j´aime les noms explicites et ta boucle d´evenements autant l´appeler eventloop() qui décrit bien ce qu´elle fait plutot que bouger().
Ensuite, ton bouger() tu lui met une boucle infinie, ca veut dire qu´il continuera toujorus à traiter ses evenements et le programme n´avancera pas !
Ensuite y´a pas besoin de reprendre 2 fois les touches, une suffit :
---
void bouger() /*Pour controler les touches*/
{
if (SDL_PollEvent(&event))
{
/* C´est là qu´on voit que ton code est pas terrible : on sait pas du tout ce qu´il faut mettre là ! */
}
}
----
while(1)
{
keystate=SDL_GetKeyState(NULL);
if(keystate[SDLK_RETURN])
{
SDL_ShowCursor(1);
SDL_Quit();
return 0;
}
if(keystate[SDLK_UP])
{
vit=vit-4;
return;
}
if(keystate[SDLK_DOWN])
{
vit=vit+4;
return;
}
rectangle.x=0;
rectangle.y=0;
rectangle.w=1024;
rectangle.h=768;
SDL_BlitSurface(imgdecors1 , NULL , surface , &rectangle);
rectangle.x=10;
rectangle.y=vit;
rectangle.w=1024;
rectangle.h=768;
SDL_BlitSurface(imgpong1 , NULL , surface , &rectangle);
rectangle.x=990;
rectangle.y=vit;
rectangle.w=1024;
rectangle.h=768;
SDL_BlitSurface(imgpong2 , NULL , surface , &rectangle);
SDL_Flip(surface);
bouger();
}
---
Déjà j´aime pas la boucle infinie, fait intervenir un booléen pour quitter, c´est plus propre à mon gout...
On s´arrête là pour le bouger, si ca marche pas je te la referait bien mais franchement soit plus autonaume, tu n´as clairement pas le niveau pour faire un pong, apprend avec des tutos...
Réfléchis plus !