Heu mais non, car les pommes se blit quand le serpent les manges.
Or si le serpent ne bouge pas, donc il ne peut pas les manger (et donc pas de blittage de pommes ).
Voila comment j'ai fais ma pause :
Et ensuite pour ne plus que le serpent avance j'ai fais sa :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 case SDLK_RETURN: if(!enPause) { ancienneVitesse = vitesse; //Je met une valeur négative à la //variable vitesse vitesse = -1; //enPause = 1 (le jeu est en pause :p) enPause = 1; } else //Sa veut dire que enPause = 1 { //On remet la vitesse à son ancienne valeur vitesse = ancienneVitesse; //On dis que le jeu n'est plus en pause :) enPause = 0; } break;
En gros quand on appuie sur entrée, on sauvegarde l'ancienne vitesse, et on met la variable vitesse à -1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /* GESTION DU TEMPS */ //On regarde si la vitesse n'est pas négative if(vitesse > 0) { tempsActuel = SDL_GetTicks(); if((tempsActuel - tempsPrecedent) > vitesse) { //On appelle une fonction pour déplacer le serpent deplacerSerpent(direction,positionSerpent,&positionPomme,nombreDeCorp,&gameOver,&pomme); tempsPrecedent = tempsActuel; //On remet tempsPrecedent à 0 }//Fin du if((tempsActuel - tempsPrecedent) > vitesse) }//Fin du if(vitesse > 0)
Ensuite je teste si ma variable vitesse est négative, si elle ne l'ai pas je déplace le serpent.
Mais le problème c'est que quand j'appuie sur entrée (pour mettre le jeu en pause), sa accélère le serpent :s
A+
Partager