#include #include #include #include #define H 40 #define L 60 #define DELTA 1000000L void Affiche(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 DessinerScene(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); } int main(void){ /*partie graphique*/ InitialiserGraphique(); CreerFenetre(10,10,1700,1000); couleur c; c=CouleurParNom("green"); ChoisirCouleurDessin(c); int tab[H][L], haut=0,gauche=0,droite=0,bas=1; int i,j,posx=0,posy=0,n=0,sxmin=0,symin=1,sxmax=10,symax=1; unsigned long suivant,suivant2; suivant2=Microsecondes()+DELTA; suivant=Microsecondes()+DELTA; /*initialisation de la grille a 0(vert)*/ for(i=0;isuivant){ n++; DessinerScene(n); suivant=Microsecondes()+DELTA; } if(Microsecondes()>suivant2){ if(bas==1){ sxmax=sxmax+1; tab[sxmax][symax]=1; tab[sxmin][symin]=0; sxmin=sxmin+1; } if(droite==1){ symax=symax+1; tab[sxmin][symin]=0; tab[sxmax][symax]=1; sxmin=sxmin+1; } if(gauche==1){ symax=symax-1; tab[sxmin][symin]=0; tab[sxmax][symax]=1; sxmin=sxmin-1; } if(haut==1){ sxmax=sxmax+1; tab[sxmax][symax]=1; tab[sxmin][symin]=0; sxmin=sxmin+1; } suivant2=Microsecondes()+DELTA; } /*deplacements du serpent*/ if(ToucheEnAttente()){ if(Touche()==XK_Right){ printf("droite"); droite=1; bas=0; haut=0; gauche=0; } if(Touche()==XK_Down){ printf("bas"); bas=1; droite=0; gauche=0; haut=0; } if(Touche()==XK_Left){ printf("gauche"); bas=1; droite=0; gauche=0; haut=0; } if(Touche()==XK_Up){ printf("haut"); bas=1; droite=0; gauche=0; haut=0; } } } }