From 04623f82eca36bb234a4cd78b483ddd5705cc5e9 Mon Sep 17 00:00:00 2001
From: Vince <vi.teissier@gmail.com>
Date: Thu, 14 Dec 2023 11:25:22 +0100
Subject: [PATCH] =?UTF-8?q?Ajout=20du=20timer=20en=20secondes=20r=C3=A9ell?=
 =?UTF-8?q?es,=20mort=20serpent=20quand=20il=20se=20touche?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 evenement.c |  36 ++++++++++++++++++++++++++++--------
 evenement.h |   4 +++-
 evenement.o | Bin 4432 -> 4976 bytes
 main.c      |  22 +++++++++++++---------
 main.h      |   2 +-
 main.o      | Bin 5296 -> 5504 bytes
 prog        | Bin 16808 -> 21336 bytes
 test.c      |  26 ++++++++++++++++++++++++++
 8 files changed, 71 insertions(+), 19 deletions(-)
 create mode 100644 test.c

diff --git a/evenement.c b/evenement.c
index 867b40f..ec2585c 100644
--- a/evenement.c
+++ b/evenement.c
@@ -5,18 +5,27 @@
 #include <time.h>   
 
 
-void AfficherTimerEtScore(int m,int n,int score)   /*Afficher le temps passé et le score*/
+void AfficherTimerEtScore(long unsigned int *score, long unsigned int temps)   /*Afficher le temps passé et le score*/
 {   
     char buf[100];
-    char buff[100];
+    char buff[100]; /* Stockage du score et du timer */
     couleur j;
+    
+    time_t fin_temps;
+    long int timer;
+    int minutes,secondes;
+    fin_temps = time(NULL);  /* Gestion du timer et des variables */
+    timer = difftime(fin_temps, temps);
+    secondes = timer % 60;
+    minutes = timer / 60;
+
     j=CouleurParNom("yellow");
     ChoisirCouleurDessin(j);
 
 	ChoisirEcran(1);
 	CopierZone(2,1,0,0,930,710,0,0);
-	snprintf(buf,100,"temps : %02d:%02d",m,n);
-    snprintf(buff,100,"SCORE : %07d",score);
+	snprintf(buf,100,"TEMPS : %02d:%02d",minutes,secondes);
+    snprintf(buff,100,"SCORE : %07ld",*score);
 	EcrireTexte(60,650,buf,2);
     EcrireTexte(600,650,buff,2);
 	CopierZone(1,0,0,0,930,710,0,0);
@@ -32,30 +41,40 @@ void InitialiserPastilles(PIXELS *pastilles, PIXELS *serpent, int longueur_serpe
     srand(time(NULL));
 
     for (i = 0; i < PASTILLES; i++) {
-        pastilles[i] = gen_pastille(serpent,longueur_serpent);
+        pastilles[i] = gen_pastille(serpent,pastilles,longueur_serpent);
         RemplirRectangle(pastilles[i].x,pastilles[i].y,T_PIXEL,T_PIXEL);
 
     }
 }
 
+void MourrirSerpent(PIXELS *serpent, int longueur_serpent)
+{
+    int i = 0;
+    for(i=1;i<longueur_serpent;i++)
+    {
+        if(serpent[0].x == serpent[i].x && serpent[0].y == serpent[i].y )
+        {
+            FermerGraphique();
+        }
+    }
+}
+
 int MangerPastille(PIXELS *serpent, PIXELS* pastilles,unsigned long *score,int longueur_serpent)
     {
         couleur r;
         int i = 0;
-        int j = 0;
         r = CouleurParNom("red");
         ChoisirCouleurDessin(r);
         for(i=0;i<PASTILLES;i++)
         {
             if(serpent[0].x == pastilles[i].x && serpent[0].y == pastilles[i].y)
             {
-                pastilles[i] = gen_pastille(serpent,longueur_serpent);
+                pastilles[i] = gen_pastille(serpent,pastilles,longueur_serpent);
                 RemplirRectangle(pastilles[i].x,pastilles[i].y,T_PIXEL,T_PIXEL);
                 *score+=5;
                 return 1;
             }
         }
-
     return 0;    
     }
 
@@ -97,6 +116,7 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur)
         tempY = tempY2;
     }
     ChoisirCouleurDessin(g);
+
     RemplirRectangle(serpent[longueur-1].x,serpent[longueur-1].y,T_PIXEL,T_PIXEL);
 
 
diff --git a/evenement.h b/evenement.h
index 2d397c4..5c3e9af 100644
--- a/evenement.h
+++ b/evenement.h
@@ -9,9 +9,11 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur);
 
 void InitialiserPastilles(PIXELS *pastilles, PIXELS *serpent, int longueur_serpent);
 
-void AfficherTimerEtScore(int m,int n,unsigned long *score);
+void AfficherTimerEtScore(long unsigned int *score, long unsigned int temps);
 
 int PastilleSurSerpent(PIXELS pastille, PIXELS *serpent, int longueur_serpent);
 
+void MourrirSerpent(PIXELS *serpent, int longueur_serpent);
+
 
 #endif
\ No newline at end of file
diff --git a/evenement.o b/evenement.o
index 46b8640775ae761572439a919be7cfb182b343a1..b05ca1fc0a59252246456b381883944c4c268368 100644
GIT binary patch
literal 4976
zcmb_eZ)_Ar6ra0Z`42q-BMHP@Bw!ohY#T)W7`Rdv#>AFOOB2zUa@=iu3)j1IZx4!6
zP|vE%dfG2U;x~+mBz~2Il1N)9QVnX2#x#Tv)zqZeekfw%X$bYb*_qyS?~WSdOLk}G
z_kQoqoA+jB_q6i-Ubo9dgt*8~k{=0_kg1A%Kft;HvWzSx_bML$yM>y+(l;i(U`Nd_
zau24bsd;e<nh3Q#>nedwO(j>;--mYN_@ZX_f@z>xXOTuNdu0AZ%^OVrJFVE*4<s)m
zWm$9CeAgCg4$(h<qgl@)I*==;=C^d<!7f@gMa`?!9Hs-K9$JNsn^p}_^K0`g`4?UW
z{@MjxFf_Y8NY9qraoX`fD65zgyWvsxVWL>PN5~OU*ZZZLkh)7Bml4v7#+UJR1v!17
z;0w<TdaW!5WSzC=>Gr{(&Kxqor`boDMFifEh)X!Ivt@O&q*`8@ReI>dm|5no7w3a?
zTsZ@szGr9rfc0$E3!tBC0T@Ppr4$y>LoFp2p&RVl8s*HxSJ%W=Xr`ITt<>xqp=Ns6
zY`IyGOJy7!jEh?5cLh)D4P^}HoJd;A7(GX`E3e}aOh#ySjoSi;R>KGkhq3hBhMHxC
zY}c@r^c00jFK*|{_~H&S%9tzDHRd^WrU#byaxT9dSd9->Gj68GZYcLL6lk!j6G2>t
z<+YUi80HcY<~Vf?S!CPQ^hTx+LI_0&0S_=1<%^sFr$F4HjGesD)03ZmRyL{GGGsOk
z@(j(9SkAih1H_8i!$?^|XCfWukydnnCO8;v5fVmQ(cKL!XFiARq6|V&hH;jM7X@Z4
zRul#o76tqbQH#)Qu$*;G?<JP_6{1=d@2`c^!;)A~w1C-l6Lw%fqzsJvEn+ISStsBz
zl~L(PI*+<CRhZZuB$G{j%(?!4ToL#lFRH+~CW~mUTFPzHU0gA0?uH_aL%5bQ38CU*
zfw@B&I{79nASd=bCg&X7b7hd99Ii~{wg_A_w{T<H*ITCRCP~+_<dAIeE_O^W8zwzA
zT5w+OoQJ&tcCK^{V+1_HFld{Uw468sX72P;w&QHD0y}d}H}NzWm2o4S%eI<pE;vUg
z)L1NWoE%UZg3Z3|zID~Lk?r^*&Gq}66oxz#ix6FnkeJpUHQIGmjT5r3zJ9x}vgL3(
zZlrxRHU7>1>P<CiHmo^STkEghT*YC?1BeG6FFg3!*w@%X;9~7Z3_b=-R`S;MY7=pF
zdR?oR%wNz0J8BK!_@FGtYg<|7ecN5XbY7X;4HV)72rqDy@9-t`N~X*`fDGII5b8iq
z<4bVd#~8r}(ChG^Y{6YD^x&hc(#1F!!zV}pSw1U{g)9zRQ}{-A9&&fOP=jknZK0I0
zEX~H3!f?67XSo1uJv^9Kr#t~bF?>S_d|L^;u>}573B0WYo+yF8Rsw$ya9pogC#x-B
z=S%QEErEYt0>_UL`oD#>1Y!FE+8^O5mbWp$k$;eHShi09yT|bla5H0{`y=WxHLiB3
zal;=bb!}~0II8Lgv<_8QjOK7cS4l)`Ycl{K^@(&$P3yss-k9hh_0fcu(sT~)QBx@`
zE<h!$hhUIMYO4NXBCe8DJgIAOqm6(@)71lNr=gP8)|3$nA8idskG8gjv>16Vt{GY=
zrlnMvBxPu^n3^Ifa1|l#YP>bcG18=VBx9Q1q=t=9ygjCphD2Hizs;(igoTj3st)n*
z(?iLq_DUMmz{<NMd(>ns6lQA{7KGH=X<_Fd&;EV*9-%Zz_&f=}#c@m{rdsfS;W(yw
zzJ%u_9M8JoyZO;V{z3`gAmNK7ypiK#UU4rSlK6`yey4-aeoaAtrUd_jgfEf&Tq}W3
zO1K<nIp1HnF1!=Ode?JY#J?7FD1M1A=WVBi%Xy;`F4t?ngyV0am^UNgcy0tfDB+Jt
zxWW^Q@vo5Z(;P=L?27o`k@#}_A4<3!|0;A0f{h%{K?#@Rxgz26KDo|u5sz5cHxgft
zXT-sOl0`wtXbJvtOfCqj<@hg3xE$wzgv<OtBwXhE@lb)Fe;E&#z&|R1`_Ksp=7E=#
zjRWkR$HhGzap2;9eanH1d-Q?>7xyUfr%rSjp~KJ`y4^-aPgi3hzX5k0@kc^Ni1-hu
zQpB$(>_Iruf!8ka#}kI?hkuPt>^kJ*_ITQ#)DuZnH%@>JdQzjUZF&eU;{QW@-~^8@
zPv?xw0Pmf5DEKj-;jM-q)+{iC*qs1gJ|O*k-{TN%aW9~(vK#h4fH<ddl#rht^9qG?
z{*9nOpa0dq25ix%yjNg2GyfJGNaCCy|3eU~mN?jb3=bO!#wUxg7wv9PioVRN=k_v&
zeJ2;cOGtIbPr1Dhbh3#23+xDV(5KTr%I*6Fk+)8J+=a#JPw>(O>9iYy^~d{4*o*oX
wn;T6kInm1l!*3AI<FrSg&e{V+w&F(!WS%2ojv>2iirIJa_zm05%-d=I4=Hwut^fc4

literal 4432
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

diff --git a/main.c b/main.c
index 9a6b51c..d1d464e 100644
--- a/main.c
+++ b/main.c
@@ -18,7 +18,7 @@ int ArrondirPixel(int nombre) /* Calcule un arrondi du pixel pour pouvoir respec
     return arrondi;
 }
 
-PIXELS gen_pastille(PIXELS *serpent,int longueur_serpent)
+PIXELS gen_pastille(PIXELS *serpent,PIXELS *pastilles,int longueur_serpent)
 
                                    /* nb_pastille = int nombre de pastille voulue , p_pastilles est un pointeur d'un tableau de pixels qui sont des pastilles*/
                                    /*Générer une pastille dans la grid*/
@@ -34,13 +34,12 @@ PIXELS gen_pastille(PIXELS *serpent,int longueur_serpent)
         y_pastille = ArrondirPixel(rand()%H_GAME);
         for(i=0;i<longueur_serpent;i++)
         {
-            if(x_pastille == serpent[i].x && y_pastille == serpent[i].y)
+            if(x_pastille == serpent[i].x && y_pastille == serpent[i].y && x_pastille == pastilles[i].x && y_pastille == pastilles[i].y )
             {
-                ok = 1;
+                ok = 1; /* Check si la pastille se genère sur une coordonné du serpent ou d'une pastille existante */
             }
 
-        }      
-
+        }       
     }while(ok);
 
     if(x_pastille < DECALEMENT)
@@ -101,13 +100,15 @@ void DessinerScene(PIXELS *pastilles, PIXELS *serpent, int longueur_serpent) /*
 int main()
 {   
     unsigned char pause = 0;
-    unsigned long *score =0;
+    unsigned long score =0;
     unsigned long suivant;
     int go_on=1;
     int n = 0;
     int m = 0;
+    
+    time_t temps;
 
-    size_t longueur_serpent = 200;
+    size_t longueur_serpent = 12;
     size_t longueur_pastilles = PASTILLES;
     PIXELS *serpent = (PIXELS *)malloc(longueur_serpent * sizeof(PIXELS));
     PIXELS *pastilles = (PIXELS *)malloc(longueur_pastilles * sizeof(PIXELS));
@@ -115,6 +116,8 @@ int main()
     int direction = 0;
     int direction_davant = 0;
 
+    temps = time(NULL); /*Première mesure du temps*/
+
     if(serpent == NULL) {
         fprintf(stderr, "Erreur d'allocation de mémoire.\n");
         return EXIT_FAILURE;
@@ -189,11 +192,12 @@ int main()
                         n=0;
                     }
 
-                AfficherTimerEtScore(m,n,score);
+                AfficherTimerEtScore(&score,temps);
+
                 suivant=Microsecondes()+delta;
 
                 direction_davant = direction; /* Check si le serpent à le droit de changer de direction */
-
+                MourrirSerpent(serpent,longueur_serpent);
                 DeplacementSerpent(direction,serpent,longueur_serpent);
                 if(MangerPastille(serpent,pastilles,&score,longueur_serpent) == 1)
                 {
diff --git a/main.h b/main.h
index 67e5cc9..cd48c04 100644
--- a/main.h
+++ b/main.h
@@ -19,6 +19,6 @@ struct PIXELS {
 
 typedef struct PIXELS PIXELS;
 
-PIXELS gen_pastille(PIXELS *serpent,int longueur_serpent);
+PIXELS gen_pastille(PIXELS *serpent,PIXELS *pastilles,int longueur_serpent);
 
 #endif
diff --git a/main.o b/main.o
index 47723873a235b3cb338603499989010de5f25b85..e91cbd111f7d8409a17a6404d4cf869856ac67af 100644
GIT binary patch
literal 5504
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

delta 2092
zcmZ8iZ%kWN6o0oZlm{)ZErn+{hLD8}WWjcrbyNALdEuEb9Bf2gG)UYB^^4I^;|8^m
zH-wjl1ajhsO+O5yAB-;9geWG&v<q6Cal*D3K55Y`0YOs|j2O4zIqy%odXjtYxxe4<
zo^#(lx9M=h)%wZ0N5g(0Z*4}@CX@<Zp;y)K>haB_vZ=nbq`q=XA0HoA)4x@->-uu~
zZ|BAO<*8RA5~);eGpy?I6+L!m>a!vC1U$_4v4iN#p^p_-x--f)!^E1BV@W0Vm~v<6
zb1l9tNTWx0VV*V4{J}aIv^dWvtYjz8s!3OE9d1!|WhavQMwt=RjIv0F%P0$!E2GSs
zt2vsGTp<?cwKXTsNo7S%XPv5^Su=QD$s)G)KP;C~=84WIDMRJd;#nAW9WI)2U=A&w
zqXkRA71yzb75%!JJV9A<s(#Z>yk3Dy;|N9_ZHGyt`@vTbOvKdY)4PHojoroLs?Db;
zzVI=YvEs4s4ZH{OfrDx@&C=MHglRj~(uI!<WjC?i>mMMDM@27a@sv{<9m7zI&ttJT
zMoA^5EA#7bm@52y<Ps?)&zdsaaAr^Tv?)UsC38rl?WPLb5#3WAHdXj_q(ZLBRG~h&
zrxGz7j?V}&5nII8|3Nh_vGP^~Lu%VP-3v*i(VsBdyDIg#vLtCY5Yv=dd=|6NT6m~@
zj#-UWlf8?{6SGNWPQM9*h5HgqNo8JFQq)<q6S&4k*bOE)txohVs>xUmMOnK;*pgUS
z)sz(nZB-|NUt>vnAgK7!7U46?ZWK>$xF<JUlN)SOi!b1Tv-fv*?E^!l`vA1Lds;iX
zdh4qrO^uPpNcEBMk*07o@`xa~FlRN60vxCi90E%bW*f8C43^yuiBkl(m-^muJn1cT
zba~uGf>4Rj<Cffm*P7>@Zbky)pSSqV|L`4oe#qj_)11#A%jbXJ<b%Q>JrY~seA9^v
zV1W?i0xtNp=yb?9AWAB51Oz77YY&9PLt-D5N9%;A#Mi`6=#8MAhct4vlo@Rhw!|p=
z0%}B=eP#IDhR+&)+wd+}E|yt|;X{URG<>_^Pa6JN!@o=(CQGh@;&~fxdAjJHh1a3R
zD~GI)GFm`aes9;b4-NJQ5~2~qvl@)x-lX*<#9$Bdd*6d=UO6(uvBeyFgTqTW{9Rb}
z%KZ!0eNaw**LN096J3&ZQNnFb&!6E}4i~v9_ozxJU~Q)=UXHDT=~9`UgJtv+<P%pc
zC8hIm$~1>l7{o#LEti@88SML9<@9`>KRKMwbKk@R#<lZ_{1B03_7F^=k3d?IL&xbW
z&}gD#*d=>lOOg})99zz@0~}5d)!uc{cpPRnnZtkQ@CP{jFAnGRRfQ-L1bD{hXUAZ~
zCx>1z5#yZuxeOz4%_n;=aqIyo@HgduMlVtxG-?5jKIrz#A^V4O84)s@t%VW)&+Ibv
z2cqJz$K+Bl9f&%zg)miAfxpr^I}Dc@;hC})vB7OhD`C1U>gaHr(y}^HwTLj(1f%RN
rcrMuLX!F6PU`uhB9vs?|1AYk}6$N_DXy>4&JSxsnm(d1bHSplS#;i|&

diff --git a/prog b/prog
index 5af8e2988ca3e0805448001c0f4331facc15d297..dce928b5610a999b36ec5f2d07aec3b95f4a199b 100755
GIT binary patch
literal 21336
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
Fe*leg!*T!s

literal 16808
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
GSoS~aqT_)8

diff --git a/test.c b/test.c
new file mode 100644
index 0000000..d8d1319
--- /dev/null
+++ b/test.c
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <time.h>
+
+void afficherTemps(double secondes) {
+    int minutes = (int)(secondes / 60);
+    int secondesRestantes = (int)(secondes) % 60;
+
+    printf("%02d:%02d\n", minutes, secondesRestantes);
+}
+
+int main(void)
+{
+    time_t start, end;
+    double cpu_time_used;
+
+    start = time(NULL);
+
+    end = time(NULL);
+
+    cpu_time_used = difftime(end, start);
+
+    printf("Le programme a pris : ");
+    afficherTemps(cpu_time_used);
+
+    return 0;
+}