diff --git a/Suivre.c b/Suivre.c index 2295949..a842b46 100644 --- a/Suivre.c +++ b/Suivre.c @@ -7,8 +7,9 @@ #define H 40 #define L 60 #define DELTA 1000000L -#define DELTO 1000L +#define DELTO 1000000L +/*recuperation des couleurs en fonction des chiffres dans le tableau*/ void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ couleur c; if(tab[i][j]==0){ @@ -16,7 +17,12 @@ void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ ChoisirCouleurDessin(c); RemplirRectangle(posx,posy,20,20); } - + /* + 6>droite + 7>gauche + 8>haut + 8>bas + */ if(tab[i][j]==1||tab[i][j]==6||tab[i][j]==7||tab[i][j]==8||tab[i][j]==9){ c=CouleurParNom("dark orange"); ChoisirCouleurDessin(c); @@ -24,8 +30,8 @@ void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ } } +/*affichage du tableau pour rendu graphique*/ void Affiche(int tab[H][L]){ - /*affichage du tableau pour rendu graphique*/ int i,j,posx=0,posy=0; for(i=0;i=suivant2){ + if(direction==0||direction==2){ + sxmax=DepXTete(suivant2,sxmax,symax,direction,tab); + } + else if(direction==1||direction==3){ + symax=DepYTete(suivant2,sxmax,symax,direction,tab); + } + suivant2=Microsecondes()+DELTO; + } + +} + +/*affichage du timer*/ +void DessinerTimer(int n){ couleur c; char buf[100]; c=CouleurParNom("white"); @@ -79,6 +140,7 @@ void DessinerTimer(int n) EcrireTexte(50,900,buf,2); } +/*initialisation de la grille et de la fenetre*/ void init(int tab[H][L]){ /*creation page*/ InitialiserGraphique(); @@ -102,58 +164,24 @@ void init(int tab[H][L]){ } int main(void){ - /*partie graphique*/ - - int tab[H][L],direction=0; - int n=0,sxmin=0,symin=1,sxmax=10,symax=1,fin=0; - unsigned long suivant,suivant2; - suivant2=Microsecondes()+DELTO; + int tab[H][L]; + int n=0,fin=0; + unsigned long suivant; suivant=Microsecondes()+DELTA; init(tab); while(1){ Affiche(tab); - /*touche*/ - if(ToucheEnAttente()==1){ - direction=CliqueTouche(); - } - + Serpent(tab); + /*timer*/ if(Microsecondes()>suivant){ n++; DessinerTimer(n); suivant=Microsecondes()+DELTA; } - - - /*deplacement tete*/ - if(Microsecondes()>suivant2){ - /*haut*/ - if(direction==2){ - sxmax=sxmax-1; - tab[sxmax][symax]=1; - } - /*droite*/ - if(direction==3){ - symax=symax+1; - tab[sxmax][symax]=1; - } - /*gauche*/ - if(direction==1){ - symax=symax-1; - tab[sxmax][symax]=1; - } - /*bas*/ - if(direction==0){ - sxmax=sxmax+1; - tab[sxmax][symax]=1; - } - suivant2=Microsecondes()+DELTO; - } - - /*deplacement queue*/ - + if(fin==1){ return EXIT_SUCCESS; } diff --git a/Direction.c b/archive/Direction.c similarity index 100% rename from Direction.c rename to archive/Direction.c diff --git a/exec b/exec index 9fd1dec..351395b 100755 Binary files a/exec and b/exec differ