From a2b73089759dde39b497bf0fc2b9d8b998d1ddde Mon Sep 17 00:00:00 2001 From: Maxim LALANE Date: Tue, 12 Dec 2023 16:16:54 +0100 Subject: [PATCH] queue qui avance --- archive/Suivre (copy 1).c | 403 ++++++++++++++++++++++++++++++++++++++ archive/a.out | Bin 0 -> 20544 bytes 2 files changed, 403 insertions(+) create mode 100644 archive/Suivre (copy 1).c create mode 100755 archive/a.out diff --git a/archive/Suivre (copy 1).c b/archive/Suivre (copy 1).c new file mode 100644 index 0000000..7423593 --- /dev/null +++ b/archive/Suivre (copy 1).c @@ -0,0 +1,403 @@ +#include +#include +#include +#include + + +/*taille 2 de plus pour avoir les bordures du plateau de jeu*/ +#define H 42 +#define L 62 +/*initialisation des compteur(timer et deplacement du serpent*/ +#define DELTA 1000000L +#define DELTO 100L + +/*affichage du plateau de jeu en fonction du 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); + } + + if(tab[i][j]==40){ + c=CouleurParNom("dark grey"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + c=CouleurParNom("black"); + ChoisirCouleurDessin(c); + DessinerRectangle(posx+2,posy+2,16,16); + } + if(tab[i][j]==1){ + c=CouleurParNom("dark orange"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + c=CouleurParNom("brown"); + ChoisirCouleurDessin(c); + RemplirArc(posx+5,posy+5,10,10,360,360); + } + + if(tab[i][j]==9){ + c=CouleurParNom("yellow"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + + if(tab[i][j]==7){ + c=CouleurParNom("brown"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + + if(tab[i][j]==8){ + c=CouleurParNom("green"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + + if(tab[i][j]==6){ + c=CouleurParNom("purple"); + ChoisirCouleurDessin(c); + RemplirRectangle(posx,posy,20,20); + } + if(tab[i][j]==30){ + c=CouleurParNom("red"); + ChoisirCouleurDessin(c); + RemplirArc(posx,posy,20,20,360,360); + } + if(tab[i][j]==50){ + c=CouleurParNom("purple"); + ChoisirCouleurDessin(c); + RemplirArc(posx,posy,20,20,360,360); + } + +} + +/*parcours du tableau pour rendu graphique*/ +void Affiche(int tab[H][L]){ + int i,j,posx=0,posy=0; + for(i=0;i<=H;i++){ + for(j=0;j<=L;j++){ + AfficheTab(tab, posx, posy, i, j); + posx=posx+20; + } + posx=0; + posy=posy+20; + } + posx=0; + posy=0; +} +int CliqueTouche(int defaut){ + switch(Touche()){ + case XK_Up: + if(defaut!=0){ + defaut=2; + return defaut; + } + case XK_Down: + if(defaut!=2){ + defaut=0; + return defaut; + } + case XK_Right: + if(defaut!=1){ + defaut=3; + return defaut; + } + case XK_Left: + if(defaut!=3){ + defaut=1; + return defaut; + } + default : + return defaut; + } +} +/*affichage du timer*/ +void DessinerTimer(int n) +{ + couleur c; + char buf[100]; + c=CouleurParNom("dark blue"); + ChoisirCouleurDessin(c); + RemplirRectangle(0,875,200,100); + c=CouleurParNom("red"); + ChoisirCouleurDessin(c); + snprintf(buf,100,"time : %d",n); + EcrireTexte(50,900,buf,2); +} + + +/*affichage du score*/ +void DessinerScore(int n){ + couleur c; + char buf[100]; + c=CouleurParNom("dark blue"); + ChoisirCouleurDessin(c); + RemplirRectangle(200,875,200,100); + c=CouleurParNom("yellow"); + ChoisirCouleurDessin(c); + snprintf(buf,100,"score : %d",n); + EcrireTexte(250,900,buf,2); +} +/*Mise en place de pastilles le plateau de jeu + en fonction de ce que l'on veut placer + */ +int Pastille(int tab[H][L],int nb,int type){ + int ia,ja; + if(nb==0){ + return 1; + } + srand(time(NULL)); + while(nb!=0){ + ia=rand()%40; + ja=rand()%60; + if(tab[ia][ja]==0){ + if(type==1){ + /*pommes*/ + tab[ia][ja]=30; + }else if(type==2){ + /*pommes pour mur*/ + tab[ia][ja]=50; + }else if(type==3){ + /*mur*/ + tab[ia][ja]=40; + } + nb=nb-1; + } + } +} +/*initialisation du plateau de jeu*/ +void init(int tab[H][L]){ + /*creation page*/ + InitialiserGraphique(); + CreerFenetre(10,10,1700,1000); + int i,j; + couleur c; + c=CouleurParNom("dark blue"); + ChoisirCouleurDessin(c); + RemplirRectangle(0,0,1700,1000); + DessinerScore(0); + DessinerTimer(0); + /*initialisation de la grille a 0(vert)*/ + for(i=1;isuivant){ + n++; + DessinerTimer(n); + suivant=Microsecondes()+DELTA; + } + + /*socre*/ + DessinerScore(point); + /*deplacement queue*/ + + if(Microsecondes()>suivant3){ + if(direc==0){ + sxmin=sxmin+1; + direc=VoirCase(tab,sxmin,symin,direc); + tab[sxmin][symin]=0; + } + if(direc==1){ + symin=symin-1; + direc=VoirCase(tab,sxmin,symin,direc); + + tab[sxmin][symin]=0; + } + if(direc==2){ + sxmin=sxmin-1; + direc=VoirCase(tab,sxmin,symin,direc); + tab[sxmin][symin]=0; + } + if(direc==3){ + symin=symin+1; + direc=VoirCase(tab,sxmin,symin,direc); + tab[sxmin][symin]=0; + } + suivant3=Microsecondes()+DELTO; + } + + /*deplacement tete*/ + if(Microsecondes()>suivant2){ + /*haut*/ + if(direction==2){ + if(VerifChemin(tab,sxmax-1,symax)==1){ + sxmax=sxmax-1; + tab[sxmax][symax]=1; + }else if(VerifChemin(tab,sxmax-1,symax)==3){ + sxmax=sxmax-1; + tab[sxmax][symax]=1; + point=point+5; + DessinerScore(point); + Pastille(tab,1,1); + }else if(VerifChemin(tab,sxmax-1,symax)==2){ + sxmax=sxmax-1; + tab[sxmax][symax]=1; + Pastille(tab,5,3); + Pastille(tab,1,2); + }else{ + fin=1; + } + } + /*droite*/ + if(direction==3){ + if(VerifChemin(tab,sxmax,symax+1)==1){ + symax=symax+1; + tab[sxmax][symax]=1; + }else if(VerifChemin(tab,sxmax,symax+1)==3){ + symax=symax+1; + tab[sxmax][symax]=1; + point=point+5; + DessinerScore(point); + Pastille(tab,1,1); + }else if(VerifChemin(tab,sxmax,symax+1)==2){ + symax=symax+1; + tab[sxmax][symax]=1;; + Pastille(tab,5,3); + Pastille(tab,1,2); + }else{ + fin=1; + } + } + /*gauche*/ + if(direction==1){ + if(VerifChemin(tab,sxmax,symax-1)==1){ + symax=symax-1; + tab[sxmax][symax]=1; + } + else if(VerifChemin(tab,sxmax,symax-1)==3){ + symax=symax-1; + tab[sxmax][symax]=1; + point=point+5; + DessinerScore(point); + Pastille(tab,1,1); + }else if(VerifChemin(tab,sxmax,symax-1)==2){ + symax=symax-1; + tab[sxmax][symax]=1;; + Pastille(tab,5,3); + Pastille(tab,1,2); + }else{ + fin=1; + } + } + /*bas*/ + if(direction==0){ + if(VerifChemin(tab,sxmax+1,symax)==1){ + sxmax=sxmax+1; + tab[sxmax][symax]=1; + } + else if(VerifChemin(tab,sxmax+1,symax)==3){ + sxmax=sxmax+1; + tab[sxmax][symax]=1; + point=point+5; + DessinerScore(point); + Pastille(tab,1,1); + }else if(VerifChemin(tab,sxmax+1,symax)==2){ + sxmax=sxmax+1; + tab[sxmax][symax]=1;; + Pastille(tab,5,3); + Pastille(tab,1,2); + }else{ + fin=1; + } + } + suivant2=Microsecondes()+DELTO; + } + + + if(fin==1){ + return EXIT_SUCCESS; + } + + } +} + + diff --git a/archive/a.out b/archive/a.out new file mode 100755 index 0000000000000000000000000000000000000000..2fd772ebb36f5c4b29c82436ef51cafc21bead92 GIT binary patch literal 20544 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 HHdg!($C^sY literal 0 HcmV?d00001