#include #include #include #include "fonction.h" /*Input Serpent*/ int Controle(int direction){ int t; while(ToucheEnAttente()){ t = Touche(); switch(t){ case XK_Left : if (direction != 4){ direction=3; } break; case XK_Right: if (direction != 3){ direction=4; } break; case XK_Up: if(direction !=2){ direction=1; } break; case XK_Down: if (direction !=1){ direction=2; } break; case XK_Escape: go_on=0; go_menu=0; break; case XK_space: if (pause==0){ pause=1; }else{ pause=0; ChoisirCouleurDessin(CouleurParComposante(255,255,255)); EcrireTexte(500,750,"Jeu en Pause",2); } break; } } return direction; } /*Avancement automatique du serpent en fonction de la direction*/ void Serpent(int direction, int segment){ if (direction == 1){ pos_y[0]=old_y[0]-20; } if (direction == 2){ pos_y[0]=old_y[0]+20; } if (direction == 3){ pos_x[0]=old_x[0]-20; } if (direction == 4){ pos_x[0]=old_x[0]+20; } Update_Serpent(direction, segment); Terrain(); } /*augmentation de la vitesse en fonction des pommes mangées*/ long int Update_Vitesse(long int vitesse){ int p=0; for(p=0; p<5; p++){ if(pommex[p]==pos_x[0] && pommey[p]==pos_y[0]){ if (vitesse>20000){ vitesse=vitesse-1500; printf("%ld\n", vitesse); } } } return vitesse; } int Update_Segment(int segment){ int p=0; for(p=0; p<5; p++){ if(pommex[p]==pos_x[0] && pommey[p]==pos_y[0]){ segment=segment+2; pommex[p] = ((rand() % (58)+1)*20); pommey[p] = ((rand() % (34)+1)*20); } } return segment; } /*fonction pour mettre à jour la position du serpent*/ void Update_Serpent(int direction, int segment){ int i=1; AfficherSprite(fond, pos_x[segment-1], pos_y[segment-1]); /*affichage de la tete en fonction de la direction du serpent*/ if (direction==1){ AfficherSprite(tete_up, pos_x[0], pos_y[0]); } if (direction==2){ AfficherSprite(tete_down, pos_x[0], pos_y[0]); } if (direction==3){ AfficherSprite(tete_left, pos_x[0], pos_y[0]); } if (direction==4){ AfficherSprite(tete_right, pos_x[0], pos_y[0]); } /*affichage du reste du corps*/ for (i=1 ; i