Donc voila je me suis lancé dernierement dans la réalisation d'un serpent ( snake ..) mais voila que j'ai un problême dont je ne trouve pas la raison !!
Pourquoi mon serpent se divise ...
En gros quand on lance le prog bah par moment on a deux serpents un peu comme une translation du deuxiéme sur le coté.
/* choix de la direction a prendre */ while(pour) { while(x<10000000) {x=x+1;}
x=0;
SDL_PollEvent(&event);
switch(event.type) { case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_ESCAPE :
pour = 0; break; case SDLK_DOWN :
direction=3; break; case SDLK_UP :
direction=4; break; case SDLK_RIGHT :
direction=1; break; case SDLK_LEFT :
direction=2; break; } break; }
/* fin de la choix de la direction */
/* sauvegardes des positions précedente*/ for(p = 100 ; p > 0 ; p--) {
g=p-1;
sauvegarde[p]=sauvegarde[g];
sauvegard[p]=sauvegard[g]; } /*fin des sauvegarde */
/* déplacement du serpent */ switch(direction) { case1 :
position.x=position.x+6;
position.y=position.y; break; case2 :
position.x=position.x-6;
position.y=position.y; break; case3 :
position.y=position.y+6;
position.x=position.x; break; case4 :
position.y=position.y-6;
position.x=position.x; break; } /* fin du déplacement du serpent */
/*sauvegarde de dernier déplacement*/
sauvegard[0]=position.x;
sauvegarde[0]=position.y; /* fin dernier déplamcent*/
/* positionnement des case composant le serpent sur l'ecran*/ for(p = 30 ; p > 0 ; p--) {
position.y=sauvegarde[p];
position.x=sauvegard[p];
SDL_BlitSurface(rectangle, NULL, ecran, &position); } /* fin dui rajouts des cases */
je sait c'est pas superbement bien codéé mais je ne trouve pas la raison de ce dédoublement donc si vous pouviez m'aidez sa serai cool merci d'avance.
Si vous voulez voir ce que sa donne ce que je dit :
Et théoriquement je devrai en avoir qu'un !
Le while x<100000 sera biensur remplacer par la foction time de la sdl mais plsu tard apres la résolution de ce problême la.
Probleme sur un début de serpent
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.