maj timer + ajout 5 pommes
This commit is contained in:
@@ -1,27 +1,64 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <graph.h>
|
||||
#include "../pastille.h"
|
||||
|
||||
int direction = 4;
|
||||
int t;
|
||||
void Controle(void){
|
||||
printf("JSHUIHUS");
|
||||
while(ToucheEnAttente()){
|
||||
t = Touche();
|
||||
switch(t){
|
||||
case XK_Left:
|
||||
printf("Gauche\n");
|
||||
break;
|
||||
case XK_Right :
|
||||
printf("Droite\n");
|
||||
break;
|
||||
case XK_Up:
|
||||
printf("Haut");
|
||||
break;
|
||||
case XK_Down:
|
||||
printf("bas");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
Position *corps;
|
||||
int longueur;
|
||||
} Serpent;
|
||||
Position pomme;
|
||||
Serpent serpent;
|
||||
int direction = 0; /* 0: droite, 1: bas, 2: gauche, 3: haut*/
|
||||
|
||||
void initialiserSerpent() {
|
||||
serpent.longueur = 10;
|
||||
serpent.corps = (Position *)malloc(sizeof(Position) * serpent.longueur);
|
||||
serpent.corps[0].x = LARGEUR_FENETRE / 2;
|
||||
serpent.corps[0].y = HAUTEUR_FENETRE / 2;
|
||||
}
|
||||
|
||||
void dessinerSerpent() {
|
||||
for (i = 0; i < serpent.longueur; i++) {
|
||||
if (i % 2 == 0) {
|
||||
ChoisirCouleurDessin(CouleurParComposante(0,0,0)); /*JAUNE*/
|
||||
}
|
||||
RemplirRectangle(serpent.corps[i].x, serpent.corps[i].y, TAILLE_CELLULE, TAILLE_CELLULE);
|
||||
}
|
||||
}
|
||||
|
||||
void deplacerSerpent() {
|
||||
/* Déplacer le corps du serpent*/
|
||||
for (i = serpent.longueur - 1; i > 0; i--) {
|
||||
serpent.corps[i] = serpent.corps[i - 1];
|
||||
}
|
||||
|
||||
/* Déplacer la tête du serpent en fonction de la direction*/
|
||||
switch (direction) {
|
||||
case 0:
|
||||
serpent.corps[0].x += TAILLE_CELLULE;
|
||||
break;
|
||||
case 1:
|
||||
serpent.corps[0].y += TAILLE_CELLULE;
|
||||
break;
|
||||
case 2:
|
||||
serpent.corps[0].x -= TAILLE_CELLULE;
|
||||
break;
|
||||
case 3:
|
||||
serpent.corps[0].y -= TAILLE_CELLULE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
void gestionCollision() {
|
||||
if (collisionAvecPomme()) {
|
||||
serpent.longueur++;
|
||||
serpent.corps = realloc(serpent.corps, sizeof(Position) * serpent.longueur);
|
||||
genererPomme();
|
||||
}
|
||||
|
||||
if (collisionAvecSerpent() || collisionAvecBordures()) {
|
||||
FermerGraphique();
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user