#include #include #include #include #include "main.h" #include "gui.h" #include "scene.h" int MourrirSerpent(PIXELS *serpent,PIXELS *obstacle, unsigned long longueur_serpent,unsigned long longueur_obstacle) { unsigned long i = 0; for(i=1;iW_GAME || serpent[0].y<=0 || serpent[0].y>H_GAME) { return 1; } return 0; } int MangerPastille(PIXELS *serpent, PIXELS* pastilles,PIXELS *obstacle,unsigned long *score,unsigned long longueur_serpent,unsigned long longueur_obstacle,unsigned long int *vitesse) { int i = 0; for(i=0;i 0; --i) { serpent[i].x = serpent[i - 1].x; serpent[i].y = serpent[i - 1].y; } /* Effacer la queue du serpent */ couleur bg = CouleurParComposante(171, 204, 104); ChoisirEcran(2); ChoisirCouleurDessin(bg); RemplirRectangle(queueX, queueY, T_PIXEL, T_PIXEL); /* Mettre à jour la position de la tête du serpent */ if (direction == 0) { serpent[0].x -= T_PIXEL; /* Vers la gauche */ } else if (direction == 1) { serpent[0].y -= T_PIXEL; /* Vers le haut */ } else if (direction == 2) { serpent[0].x += T_PIXEL; /* Vers la droite */ } else if (direction == 3) { serpent[0].y += T_PIXEL; /* Vers le bas */ } /* Afficher la nouvelle tête du serpent */ ChargerImage("./images/SnakePart.png", serpent[0].x, serpent[0].y, 0, 0, T_PIXEL, T_PIXEL); } /* Mettre à jour la fonction Serpent */ int Serpent(PIXELS *serpent, PIXELS *pastilles, PIXELS *obstacle, unsigned long *score, unsigned long *longueur_serpent, unsigned long longueur_obstacle, unsigned long int *vitesse, int direction) { DeplacementSerpent(direction, serpent, &(*longueur_serpent)); if (MourrirSerpent(serpent, obstacle, *longueur_serpent, longueur_obstacle) == 1) { return 2; } if (MangerPastille(serpent, pastilles, obstacle, score, *longueur_serpent, longueur_obstacle, vitesse) == 1) { *longueur_serpent += 2; return 1; } return 0; }