#include #include #include #include #include #define H 40 #define L 60 #define DELTA 1000000L #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){ c=CouleurParNom("black"); 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); RemplirRectangle(posx,posy,20,20); } } /*affichage du tableau pour rendu graphique*/ void Affiche(int tab[H][L]){ int i,j,posx=0,posy=0; for(i=0;i=suivant2){ if(*pdirection==0||*pdirection==2){ *psxmax=DepXTete(psxmax,psymax,pdirection,tab); } else if(*pdirection==1||*pdirection==3){ *psymax=DepYTete(psxmax,psymax,pdirection,tab); } suivant2=Microsecondes()+DELTO; } } /*affichage du timer*/ void DessinerTimer(int n){ couleur c; char buf[100]; c=CouleurParNom("white"); ChoisirCouleurDessin(c); RemplirRectangle(0,850,200,100); c=CouleurParNom("black"); ChoisirCouleurDessin(c); snprintf(buf,100,"time : %d",n); EcrireTexte(50,900,buf,2); } /*initialisation de la grille et de la fenetre*/ void init(int tab[H][L]){ /*creation page*/ InitialiserGraphique(); CreerFenetre(10,10,1700,1000); couleur c; c=CouleurParNom("green"); ChoisirCouleurDessin(c); int i,j; /*initialisation de la grille a 0(vert)*/ for(i=0;isuivant){ n++; DessinerTimer(n); suivant=Microsecondes()+DELTA; } if(fin==1){ return EXIT_SUCCESS; } } }