diff --git a/Direction.c b/Direction.c index dd1aadd..89cad34 100644 --- a/Direction.c +++ b/Direction.c @@ -10,17 +10,17 @@ void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ couleur c; - if(tab[i][j]==0){ - c=CouleurParNom("green"); - ChoisirCouleurDessin(c); - RemplirRectangle(posx,posy,20,20); - } + if(tab[i][j]==0){ + c=CouleurParNom("green"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } - if(tab[i][j]==1||tab[i][j]==6||tab[i][j]==7||tab[i][j]==8||tab[i][j]==9){ - c=CouleurParNom("yellow"); - ChoisirCouleurDessin(c); - RemplirRectangle(posx,posy,20,20); - } + if(tab[i][j]==1||tab[i][j]==6||tab[i][j]==7||tab[i][j]==8||tab[i][j]==9){ + c=CouleurParNom("yellow"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } } void Affiche(int tab[H][L]){ @@ -36,8 +36,6 @@ void Affiche(int tab[H][L]){ } posx=0; posy=0; - - } int CliqueTouche(void){ @@ -83,6 +81,7 @@ void DessinerTimer(int n) } void init(int tab[H][L]){ + /*creation page*/ InitialiserGraphique(); CreerFenetre(10,10,1700,1000); couleur c; @@ -103,71 +102,68 @@ void init(int tab[H][L]){ } } -void Direction(int ){ - + + + +void Direction(int direction,int tab[H][L],int sxmax, int symax){ + } int main(void){ /*partie graphique*/ - int tab[H][L], direction; - int n=0,sxmin=0,symin=1,sxmax=10,symax=1; - unsigned long suivant,suivant2; - suivant2=Microsecondes()+DELTO; - suivant=Microsecondes()+DELTA; - - - init(tab); - - - + 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; + suivant=Microsecondes()+DELTA; + init(tab); - while(1){ + while(1){ + Affiche(tab); + /*touche*/ + if(ToucheEnAttente()==1){ + direction=CliqueTouche(); + } + + /*timer*/ + if(Microsecondes()>suivant){ + n++; + DessinerTimer(n); + suivant=Microsecondes()+DELTA; + } - Affiche(tab); + /*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; + } - /*touche*/ - if(ToucheEnAttente()==1){ - direction=CliqueTouche(); - } + if(fin==1){ + return EXIT_SUCCESS; + } - - - /*timer*/ - if(Microsecondes()>suivant){ - n++; - DessinerTimer(n); - suivant=Microsecondes()+DELTA; - } - - - 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; - } - - - } + } diff --git a/Do/Obstacle.c b/Do/Obstacle.c new file mode 100644 index 0000000..3e1196c --- /dev/null +++ b/Do/Obstacle.c @@ -0,0 +1,231 @@ +#include +#include +#include +#include + +#define H 40 +#define L 60 +#define DELTA 1000000L +#define DELTO 1000L + +void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ + couleur c; + if(tab[i][j]==0){ + c=CouleurParNom("green"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + + if(tab[i][j]==1||tab[i][j]==6||tab[i][j]==7||tab[i][j]==8||tab[i][j]==9){ + c=CouleurParNom("yellow"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } +} + +void Affiche(int tab[H][L]){ + /*affichage du tableau pour rendu graphique*/ + int i,j,posx=0,posy=0; + for(i=0;isuivant){ + n++; + DessinerTimer(n); + suivant=Microsecondes()+DELTA; + } + + + + if(Microsecondes()>suivant2){ + /*haut*/ + if(direction==2){ + if(VerifCaseYMoins(tab,sxmax,symax)==0){ + sxmax=sxmax-1; + tab[sxmax][symax]=1; + }else{ + fin=1; + } + } + /*droite*/ + if(direction==3){ + if(VerifCaseXPlus(tab,sxmax,symax)==0){ + symax=symax+1; + tab[sxmax][symax]=1; + }else{ + fin=1; + } + } + /*gauche*/ + if(direction==1){ + if(VerifCaseXMoins(tab,sxmax,symax)==0){ + symax=symax-1; + tab[sxmax][symax]=1; + }else{ + fin=1; + } + } + /*bas*/ + if(direction==0){ + if(VerifCaseYPlus(tab,sxmax,symax)==0){ + sxmax=sxmax+1; + tab[sxmax][symax]=1; + }else{ + fin=1; + } + } + suivant2=Microsecondes()+DELTO; + } + + if(fin==1){ + return EXIT_SUCCESS; + } + + } + + + +} + diff --git a/Do/Obstacle.c~ b/Do/Obstacle.c~ new file mode 100644 index 0000000..e69de29 diff --git a/Suivre.c b/Suivre.c index e69de29..2295949 100644 --- a/Suivre.c +++ b/Suivre.c @@ -0,0 +1,166 @@ +#include +#include +#include +#include +#include + +#define H 40 +#define L 60 +#define DELTA 1000000L +#define DELTO 1000L + +void AfficheTab(int tab[H][L], int posx, int posy, int i, int j){ + couleur c; + if(tab[i][j]==0){ + c=CouleurParNom("black"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + + 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); + RemplirRectangle(posx,posy,20,20); + } +} + +void Affiche(int tab[H][L]){ + /*affichage du tableau pour rendu graphique*/ + int i,j,posx=0,posy=0; + for(i=0;isuivant){ + 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/exec b/exec index 39c289f..9fd1dec 100755 Binary files a/exec and b/exec differ