#include #include #include #include "fonction.h" #define CYCLE 100000L unsigned long int old_seconde; char timer[6]; int pos_x[2400], pos_y[2400], old_x[2400], old_y[2400]; int pommex[5], pommey[5]; char score[4]; int go_on=1; int go_menu=1; int pause=1; int go_menu2=1; unsigned long int suivant; int tete_up, tete_down, tete_right, tete_left, fond, pomme, serpent; int Nbr; int segment=10; int direction=4; /*1 : vers le haut, 2 : vers le bas, 3 vers la gauche, 4 vers la droite*/ long int vitesse=100000; int t; int t2; int t3; /*Fonction Principale*/ int main(){ /* paramétrage de la fenêtre + chargement première scène */ InitialiserGraphique(); CreerFenetre(350,100,1200,800); /*chargement des sprites nécessaire pour le jeu*/ serpent=ChargerSprite("IMG/serpent.png"); fond=ChargerSprite("IMG/fond.png"); tete_up = ChargerSprite("IMG/tete_up.png"); tete_down =ChargerSprite("IMG/tete_down.png"); tete_left = ChargerSprite("IMG/tete_left.png"); tete_right = ChargerSprite("IMG/tete_right.png"); pomme=ChargerSprite("IMG/pomme.png"); /*creation du menu du début*/ MenuDebut(); /*choix dans le menu*/ while(go_menu2){ while(ToucheEnAttente()){ t3 = Touche(); switch(t3){ case XK_q : FermerGraphique(); return EXIT_SUCCESS; break; case XK_Right: go_menu2=0; break; } } } /*creation de la scene du jeu*/ EffacerEcran(CouleurParComposante(0,0,0)); DessinerScene(segment, serpent, pomme); suivant=Microsecondes()+CYCLE; old_seconde=(suivant/1000000)%10; /*Boucle Principale du Programme*/ while(go_on){ direction = Controle(direction); vitesse = Update_Vitesse(vitesse); segment = Update_Segment(segment); Nbr= Score(segment, Nbr); Controle(direction); if (pause==1){ Timer(suivant, old_seconde); Collision(segment); Update_Vitesse(vitesse); Update_Segment(segment); Serpent(direction, segment, tete_up, tete_down, tete_right, tete_left, serpent, fond); Score(segment, Nbr); Pomme(pomme); Attendre(vitesse); } } /* fermeture de la fenêtre si ECHAP pressé + Menu de Fin*/ MenuDeFin(Nbr); while(go_menu){ while(ToucheEnAttente()){ t2 = Touche(); switch(t2){ case XK_q : go_menu=0; break; } } } /*fermeture du programme*/ FermerGraphique(); return EXIT_SUCCESS; }