#include #include #include #include "serpent.h" #include "terrain.h" #include "temps_et_score.h" /*Fonction permettant de créer un serpent de base avec une taille donnée*/ void Creation_Serpent(Segment serpent[], int taille){ int i; for (i = 0; i < taille; i++) { serpent[i].x = (COLONNES / 2) * TAILLE_CASE; serpent[i].y = (LIGNES / 2) * TAILLE_CASE; } } /*Fonction permettant d'afficher le serpent avec une taille donnée*/ void Afficher_Serpent(Segment serpent[], int taille, int rotation) { int i; ChoisirCouleurDessin(CouleurParComposante(252, 220, 17)); for(i=0; i 0; i--) { serpent[i] = serpent[i - 1]; } switch (direction) { case 1: serpent[0].x += TAILLE_CASE; break; case -1: serpent[0].x -= TAILLE_CASE; break; case 2: serpent[0].y -= TAILLE_CASE; break; case -2: serpent[0].y += TAILLE_CASE; break; } Afficher_Serpent(serpent, *longSerpent, direction); Attendre(vitesse_serpent); } /*Fonction l'emplacement de la tête du serpent pour la mort*/ void Mort_Serpent(int longSerpent, Segment serpent[], int score, int minutes, int secondes, char texte[], int* rejouer, int* gameover){ int i; if (serpent[0].x < 5 * TAILLE_CASE || serpent[0].x >= (COLONNES * TAILLE_CASE) + 5 * TAILLE_CASE || serpent[0].y < CONTOURE_H * TAILLE_CASE || serpent[0].y >= (LIGNES * TAILLE_CASE) + 2 * TAILLE_CASE){ ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(serpent[0].x, serpent[0].y, TAILLE_CASE, TAILLE_CASE); Attendre(1000); *gameover = 0; /*Execution de la fontion perdu*/ Perdu(texte, score, minutes, secondes, rejouer); } for (i = 1; i < longSerpent; i++){ if (serpent[0].x == serpent[i].x && serpent[0].y == serpent[i].y){ Attendre(1000); *gameover = 0; Perdu(texte, score, minutes, secondes, rejouer); } } }