From 15a99a458379e9e5b9d1d0691835a0df720976d6 Mon Sep 17 00:00:00 2001 From: akagunduz <david.akagunduz@gmail.com> Date: Tue, 12 Dec 2023 16:03:47 +0100 Subject: [PATCH] debug struct serpent --- evenement.c | 12 ++---------- evenement.o | Bin 4472 -> 4392 bytes graph.h | 34 +++++++++++++++++----------------- main.c | 6 +++--- main.o | Bin 5168 -> 5160 bytes prog | Bin 16808 -> 16808 bytes 6 files changed, 22 insertions(+), 30 deletions(-) diff --git a/evenement.c b/evenement.c index c57047d..1e0e6ab 100644 --- a/evenement.c +++ b/evenement.c @@ -80,7 +80,6 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur) int tempX = serpent[0].x; int tempY = serpent[0].y; int i; - int compteur; couleur g; couleur j; ChoisirEcran(2); @@ -88,7 +87,7 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur) g=CouleurParNom("lightgreen"); - for (i = 2; i < longueur; i += 2) { + for (i = 1; i < longueur; i++) { int tempX2 = serpent[i].x; int tempY2 = serpent[i].y; @@ -98,15 +97,8 @@ void DeplacementSerpent(int direction ,PIXELS *serpent, int longueur) tempX = tempX2; tempY = tempY2; } - for(i=0;i< longueur; i++) - { - if(serpent[i].x != NULL && serpent[i].y != NULL) - { - compteur++; - } - } ChoisirCouleurDessin(g); - RemplirRectangle(serpent[compteur].x,serpent[compteur].y,T_PIXEL,T_PIXEL); + RemplirRectangle(serpent[longueur-1].x,serpent[longueur-1].y,T_PIXEL,T_PIXEL); ChoisirCouleurDessin(j); diff --git a/evenement.o b/evenement.o index 1b345846774145c9c460cfc90358656e76caef87..8e1a245400ed1c3bb12b23c939c0b71705439b15 100644 GIT binary patch delta 744 zcmZvYO=uHQ5XaxV-F%cJn@zQD0!pP7Q%|ugQbcg0@?eh%c&G=#gCJOiT&ff-6(hp( z2(-?@uZ!Mt@FK-S5uqw#4+_bxhln}k5V4ouawzD`HcLe^FmLD0|2O~l_6??*Q>!!3 ze0%DSgwOa?PN!Z9A$+a2b;ZP2asq$I0M6h|V<y$1_NFeIf$HK5!(HhCp}+5H)$^bE zjl*AP$CH~rw6q9Rf26?UJ0p}&T6F?BTIdFsOs)EX>S(n?r`J^vv~qjr)z<xobmG7d zzV`Wat+wbYAG?O%s0^a3)M$3t#tpONxGZSVsO)kP*x|Nj;&RNH{`Hz%>dW6?aW-t1 z%?PWQ2VDNxEn?(iDQuBbmWzL#@{?zYFop!X>>~#*A7Tq}zOoQlj6a{7<hQ(N*^lMr zOkC9sV*=8Nq!34`{fH?FOVScC#+W1k!78lViB%|s2Bfzr#{~%2pn}3$-$*(JyvKIR zDeSQWg-K~s?)}-1YY1tlaAP>a5SNj98)r$q_n&%_2#%FdJ;Ih0{NewKX0PB{+JWo1 zlrF*du$H(>opZe6@ytB9xRm(`WxQ(5!91>69z4KyxaP84SF_&OyBK@ZYak>J;hXFU nXcJS!K{hY9V>oVKfFxFJPqxzdgf>lV+aA;~m-FB>R&&L_r^)75 delta 849 zcmZ`$O=uHA6rMM`U0b@zu0Obm6wxS};K5J`6@|no1AELtq=JGJK|F{TBO)y|t`(Lw z5O|05AQf-DhJxTlHaS=i9&%BG6pYYAFui!&Lm|G|xJByv;Jul7-_O3;S<eKSMizor z?mmYP*yN}5HO83jiJtBFDz0%0zi}7xct^=j_o(lCmsMA6VN;o1?sMV}7d_FpSMB<d z6*@_&Z$sB(t{98~$A=hjCq~tw&$|3SDgw78IB-SJ6FW4+vLpJEeMx*YUOpa;Mw_B9 zM;K;eylJ8p|Do!LZ6FzpWs6^E+`x7>2U6#WZMsLh&+U3;H@Zju?`{xv**k+V^wi_W z3bN&~dgYhgxMs+pU+3k~S5xQSlCQJ$391+OfIW)y)7ZziP7WUtn^$KeS0l#N$_<Oe zQmPkXJUjn*;?l%5>`koBWq^h$C(Rf9YC;o^qNG4SFv-{qwVzYUSddQ|ag<w}2-r%b zH+-!D>Ck}iF6AKxtf0__VqxRnq@}=ntW8_#k#wL?DNV{<dKekEu|??JKN3lj+X#Jt zKL~xY4?RN+8P6mN*YSpaKK)u6Q^-Z5j2u2=S+^jCZ>Uzn+K?5y`aBdcm-r4%oJ!8Y zI+l|q_=>f#w!;cWX-b!76f@Y;4&zPZG|y^u^`q!(D!v*YJ4O-a5zG=lk-#fv5dy54 OCGfFL^(n%^v%dk+4H>Ke diff --git a/graph.h b/graph.h index 8244e09..0a64fe3 100644 --- a/graph.h +++ b/graph.h @@ -18,7 +18,7 @@ int InitialiserGraphique(); int CreerFenetre(int posx,int posy,int X,int Y); /* creer la fenetre graphique de largeur X et longueur Y, et la positionne - sur l'ecran au point (posx,posy). Une seule fenetre autoris�e */ + sur l'ecran au point (posx,posy). Une seule fenetre autoris�e */ void ChoisirTitreFenetre(char *s); /* change le titre de la fenetre */ @@ -34,7 +34,7 @@ void AfficherFenetre(void); void ChoisirEcran(int n); /* fixe l'ecran ou le dessin est effectue : cette ecran est soit 0 (la fenetre - visible, ecran par defaut au demarrage), soit le numero de l'�cran virtuel correspondant */ + visible, ecran par defaut au demarrage), soit le numero de l'�cran virtuel correspondant */ void ChoisirCouleurDessin(couleur c); /* fixe la couleur qui sert au dessin */ @@ -44,14 +44,14 @@ couleur CouleurParNom(char * nom); contient la liste des couleurs accessibles via leur nom */ couleur CouleurParComposante(unsigned char r, unsigned char v,unsigned char b); -/* renvoie la couleur d�finie par ses trois composantes */ +/* renvoie la couleur d�finie par ses trois composantes */ int Maxx(); -/* renvoie la largeur de l'ecran : il faut que le mode graphique ait �t� +/* renvoie la largeur de l'ecran : il faut que le mode graphique ait �t� initialise !!! */ int Maxy(); -/* renvoie la hauteur de l'ecran : il faut que le mode graphique ait �t� +/* renvoie la hauteur de l'ecran : il faut que le mode graphique ait �t� initialise !!! */ void DessinerPixel(int x,int y); @@ -61,7 +61,7 @@ void DessinerSegment(int x,int y,int xx,int yy); /* idem precedent, mais avec la couleur de dessin */ void DessinerSegments(Point * sommets,int nb_sommets); -/* trace pour chaque paire sommet[i],sommet[i+1] le segment correspondant. Si le deux extr�mit�s correspondent, le polygone est ferm� */ +/* trace pour chaque paire sommet[i],sommet[i+1] le segment correspondant. Si le deux extr�mit�s correspondent, le polygone est ferm� */ void DessinerRectangle(int x,int y,int l,int h); /* idem, mais utilise la couleur de dessin */ @@ -79,11 +79,11 @@ void RemplirTriangle(int x,int y,int xx,int yy,int xxx,int yyy); /* trace un triangle plein */ void RemplirPolygone(Point * sommets,int nb_sommet); -/* Trace un polygone plein d�fini par son tableau de sommets. Si les extremit�s ne coincident pas, le polygone est ferm� automatiquement. +/* Trace un polygone plein d�fini par son tableau de sommets. Si les extremit�s ne coincident pas, le polygone est ferm� automatiquement. */ int ToucheEnAttente(); -/* renvoie 1 si une touche a �t� enfonc�e, 0 sinon */ +/* renvoie 1 si une touche a �t� enfonc�e, 0 sinon */ KeySym Touche(); /* renvoie la premiere touche du tampon : cette fonction est bloquante => @@ -110,22 +110,22 @@ void ChoisirModeDessin(int m); /* fixe le mode d'affichage : 0<->ecrasement 1<->xor */ int TailleChaineEcran(char *t,int taile); -/* renvoie, en pixel, la taille horizontale occupee par la chaine � l'�cran :taille est la taille de la police (0,1,2) */ +/* renvoie, en pixel, la taille horizontale occupee par la chaine � l'�cran :taille est la taille de la police (0,1,2) */ int TailleSupPolice(int taille); -/* renvoie la taiile maximale de la police, en pixel, au dessus de la ligne d'�criture */ +/* renvoie la taiile maximale de la police, en pixel, au dessus de la ligne d'�criture */ int TailleInfPolice(int taille); -/* renvoie la taille maximale de la police, en pixel, en dessous de la ligne d'�criture */ +/* renvoie la taille maximale de la police, en pixel, en dessous de la ligne d'�criture */ void CopierZone(int src,int dst,int ox,int oy,int L,int H,int dx,int dy); -/* copie une zone de l'�cran vers l'�cran dst. La zone copi�e est le rectangle delimite par le coin superieure hauche (ox,oy) et sa largeur l et hauteur h. Cette zone est copi� au point (dx,dy) de l'ecran dst */ +/* copie une zone de l'�cran vers l'�cran dst. La zone copi�e est le rectangle delimite par le coin superieure hauche (ox,oy) et sa largeur l et hauteur h. Cette zone est copi� au point (dx,dy) de l'ecran dst */ void FermerGraphique(); /* fermeture du mode graphique */ unsigned long Microsecondes(); -/* renvoie le nombre de microsecondes ecoul�es depuis le +/* renvoie le nombre de microsecondes ecoul�es depuis le lancement du programme */ void SourisPosition(); @@ -135,15 +135,15 @@ int SourisCliquee(); /* indique un clic de souris (1 si oui, 0 sinon), et recupere si c'est le cas la position au moment du clic dans _X et _Y */ -/* fonctions a r��crire proprement */ +/* fonctions a r��crire proprement */ int ChargerSprite(char *file); -/* charge un srpite en m�moire, et renvoie son num�ro +/* charge un srpite en m�moire, et renvoie son num�ro * -1 en cas d'echec */ void AfficherSprite(int n,int x,int y); -/* affiche le sprite correspondant � son num�ro */ +/* affiche le sprite correspondant � son num�ro */ void LibererSprite(int n); -/* libere les ressources associ�es au sprite +/* libere les ressources associ�es au sprite * n */ #endif diff --git a/main.c b/main.c index 9ec439e..871d46f 100644 --- a/main.c +++ b/main.c @@ -95,9 +95,9 @@ int main() int n = 0; int m = 0; - size_t longueur_serpent = 20; + size_t longueur_serpent = 10; size_t longueur_pastilles = 10; - int *serpent = (int *)malloc(longueur_serpent * sizeof(int)); + PIXELS *serpent = (PIXELS *)malloc(longueur_serpent * sizeof(PIXELS)); PIXELS *pastilles = (PIXELS *)malloc(longueur_pastilles * sizeof(PIXELS)); int direction = 0; @@ -186,7 +186,7 @@ int main() if(MangerPastille(serpent,pastilles,&score) == 1) { longueur_serpent+=2; - serpent = (int*) realloc(serpent,longueur_serpent * sizeof(int)); + serpent = (PIXELS*) realloc(serpent,longueur_serpent * sizeof(PIXELS)); } } } diff --git a/main.o b/main.o index 3e469479cc9a309d40e7d1ef3cf5b750076721b2..3c504eb2d461cbcfbeade333781c2ace13c28edd 100644 GIT binary patch delta 772 zcmZ9IOK1~O6o%*AiD{-Lnang~I=GPHX53i2P^k-JE757G_<%@P;$veGY%5aSC`v#H zL&f@UbY(>-5jTn5h#RX=LIv>w1qH!&rw~xVg-XSqJDGu751jk>zw_U7xOK1Q-S()~ z*nW+61?8XBqlspzrEz?%^AeO={#}1MzbF+yD1GqhZIElLl?C#r(~DT8LixXna?3ya z-mkor1<P$~nXRva{fX*eLa}drcw!^MVbPPK%9WO3-a3dWQO|eEDVn7(;V!3nv7*oK z)tkZ);cz?#I+Mq7D!FEk5El<*b2r3+Oj19D^BsR_1Y@aj>c_`aFU`#x#v7fs;aJ9@ zBlwYa+!I31s%di5qm=iP=*c+lg@`6tF*w)$wd1CI!G%II3cZi(O#dj<RA?3r?!E(7 z)}cYH@_85od_EH@Q=xKID()RQ5Qpq;bH?2tW0L8Uh{luemZcoe@PO%S#hYd|_I|=U zrr#7=P-q@xI_|km@|||yZr)?>#gN`psH@OAPP2Dep<5LC8#AUuHXfPdZh!PMv&?14 ztIRp{<vvq4ENhSWwHd?KJ~5g^qoaUX%ZraImPey7>>@qHkX;ndqYB%j1uU`r9Y$A? ao??jC8mhcr#!^?&*qM{PH0=^*tgY)Mx#>9o delta 740 zcmZ{hK}Zx~6vyX%v#q<ayECJs(}ovMt|!fddeLQ#iHRUK!;t8p37rDbLx(_cT~?4` z#rRWs@ep0Y4((!ejGZnUUTQnpCGA$Qm(W88&EB`mz-Q10-=B~7d;kA?%)H7}GMgEy zR0mdQ%q!<3zI(hb>TXlx^Rvq0yG?J)E88Vm@qBmRqtCwCt`=*;D<?|$Mm=|mHTt(} zy6Me-@roaGZhG3bPqTf`*VaWC!0deVP)Io1F5$Z9i;3cL(=;|*EQyM3%QfomkBi|t z!J*h4(d!}}X>BJ>(dbk}&cjUf#K;rBaw&67Tunyx8<_7nr99?h3p9>KY>;+#DgH^P zel!wJ`nHfhO_O#x;pD7+?t+p|`o2PA3SGjLq(i<;py!z5&X-DOhtl~6PndS<T;e0A z7<|Ji!w5L%8v0TW-NY|`KWJ4Rw<@cx$}`+bIq5e_LYI>84h5#~6)L}1nBPE^>7hcq z6?%m4OfOyF5+Avn!#DIkgk?DCNB^PQ$T5AZ(94SVD;AlaDzsOjJ$PZrpJAB}?O?z> zpkBnSQK2O;X-&{Q6s#<3z&Z=+%+hP*SnDXTeni0f8`PDh8gi@^6j)afu#SQ3{=XxL B^mzaP diff --git a/prog b/prog index eeb593113de4ef0b8874c3d59522c4b44afafc9d..746595a165b7ff2602e890d667e3f81e5bbc3f14 100755 GIT binary patch delta 1736 zcmaKsduSY06o==|&Ni<myREy)KDv3Dnx>|~CXqr^Vs+XfHtm)YUm$23|4<1@zy!pE zEshn3aoaSPqGGBPid3bvb`fg{d529zG?A(mf+RG>4c&&sH0fG}@poqOXld-i-p4uT zJLlYc?wK<xJEOAm$t-m;T`+%>>5+}BMRYwqQZu;s#{9PE$?VRn&(zdZPoJ%iblQw` zb~w_xVVCIFYj0{nDJsVan?8?0m*dJuO4v2j;c|zV5?((<Dn*yCC~R2mcWBNPi&e#_ zUK>{q{j8|{MEqhYYC(LjS4rAV$wJg#XkB;s8`T^CUnP9!@WIg~2L>$~YyZbER5{Mn zws?x;=q`TF708wTH4G(ee=H3N!sHv6D4Lu=vI%p~<1UZ)VUp@{j3ncdd6WrSSMz{- zXGto&D^WRS&UDDW2^(osEMF5Qxg=ZQAGmW~b#J9;eV6h;b~D1m_E&%t^%|&)B%A(H zghXwd6`D&F-9A}-FGHb;saRoJz+40@#P)M%rpKAMZ65D|CBrZHj?6sQa}cTt<~ZU< z9LxIMNPXsmjQzwrvR-0Md^T${JIk{?1zyoC+v=6$+`m%D8GgW1;Hyp`Sqi7<wTU`q ztE;dGn>X#TCf@ET-*PO;%5U%%-RcpKLDy(aaM2BE51lkN#cz0uSS8Q&=I_V{(_Kd{ zwWyWb;-X>bCnSQya=SLBgx!vNjK+AQH^8p)qh6mlyvS!ffkW^iSpGxsps0h+b}B2< zl$O)XL<%DVwTgD_fTG5W6s_$FO7Ye@EA96Q(@^%M($l_&yvFu|!wLT6#lDA<-o_;; znvFO3+`Qgb$Uf!VS6+C*ZaL{&xZ4Tsqw*BFnI7PAUqRX@Skf))L5T<ak0!O6w`Jo^ zem8IM7qZXz3IAqR#=HDQp>Y`YQbWiSJt(yh`{O3uhwU%Yt3*b}XsgMy5H&4{S}jom zLFuxux9IYe)t=Z<;9iA|>H^NWrh;O{mo=f~&I8l0%j253thrk;VK!_`lgH7v$W=vb zSXRozt?wYB*;)(pD62e-RH!$?LFzd(6>8`;#As%LX9rS4y8*&>md^VX)@s`iLi2W_ zbs-#_qlM-)w~dk|1-beaNCq-}3IcGf`4Q8iN?Hbk7P2P!<6nkx{q+zyvANXp91c2Y zald#U6IB7owggcyi@IO1gTUHH29W2xBl|X9XEI)JGWL<m>><Vvr#;`1+qI<_#mz-o zKg3*xIR$U=Wz2Pd8^&SGo6zc~F<0_yx#t3Vuo9lkaK0x#mA=llo2^eu7B)fDg}=zZ z&dXu@_!!1hd=BF{-;iHW*$9t0cXG07v$;*wWb2@N1JN?*Ij;Cl5#c-1l)o>Hcb8O) zmjjX1ZO=-W`N8coDW~bHj9(6ap{#*j;3H+Xyk>5Y?SY?-LWVHlH%){L{(Jei>^MJO hQOa_7AI5lOuHv^Owx5qYUYdG2V3{F;_{8V7{{XbUt1AEi delta 1716 zcmZWpYe*bd6rMY~tJc@9W>@zSjjq+MQR6mIq6rN)Wz3L16vR@02*nymOGB}^w$O-y z(UR%7ChbKCt@Kw@qzz4ENt#HitA=h&+R{)+ETnWHri{9zn%KBW1Jm!$=tk?p-gECc z-}jw!A7_RoGAxmEDI~Qvlhc2-nW1db#oL9Bp}+3cojGu4&u^1$yHA)NwKTVchD=%p z=?x8K)$`3_u+gjt%Q7DkVvIRAf<X~t;wdp`?_(ZO5oSd4t70>}QkWNm>FXj_rAe!t z2ogr4e!IQh1lXV<&<ufV3Mcbx5{PXS_pe1DzA?gGvO;8(4RS>7|5wu_A;wGHF`IQj zpx@f_YPlzxCI&4vX{Z&D5kN#)h@<ZK+WOKPJT!Vu95=><#@V3yC~@SHdg^lQudu@* zMg%pLS+?PcD9^|iLo5oP3ZIGjmgsTEwnJHEEZxLtAsAzX(Snv%&>7+oSQnXZ?i=J4 zrS3&8P$4RoKelh?l&*4~PjI@xxd<|+zDm<`oVMl1`u?n|z|*uUr_kO6rxYjFJ`eI3 z=wqR`bDkySIvvPuB}Zs1w}hOdTbxBMv%aIJ=Nc8|o2<-v+Tbj5*T+#TOD8JL@piGy zUhKo7)1n@s{m!aVCE3_hc!eEnpHqWT3<HT#c*ogJ)hL~F`p9mY?ef;-gEQ97B;|-v z+x>@{rVN@HIVhZzZ-_xh+9uG?^j%jT`ICO)a`RUn(s^edt`xVW>wiRlaXIU<k#Bmc zS(NWKiBilb%H1<K_dt?SV=uDc>Q()=P#s&3GYRz|cyQdICGO|Q2lO>}9r>J|a90(7 zXECTh{IikD))8Trk>`G-s=FxtOHB2Hl)`5Ew>y`Xc?$W!3T<#Z=v$uc<P;t7ln_5X z@A37_02o&4%(8HM9Jk4-x0cz?Elp-4+i|v(g+;jDS#<>rS3Dv_8Drt7B1AVdVVE@` zhus+gDXg~|pscF3U`!A8tZO1fCh?$I?=ihiGz4$6pehS9XhKvhp#p&S3RkWDAL7PP z5zDgRH58t{BO_^FxYH~Nvjj9^(2kbhL`g>TJ;1#Svq;PuD%kjBtyVPrs+V5h>aH{c zhtMK>mWMHyx_{yV)eNj~!Nw&vk!?B`r?2>FR^Ar><b6$>yMW37CV@SPXaXnA<HMA2 z>!jiykQTbY-~&5Zh{;>o<p0Qu0}QzjNK>FDA(D{OKY9tbu5C{S<K*<z18e?cJkAtR zx{@*#>PU-_&k8P=?!f&P;3a<nTL+tgwtExy@FPt-23vrJ{t9+Ky<2cLuMsou#Z24B z{7V^0rk6>2atgN<uFLo*(UHP!q>0|Zc$zL@jM6M`(cVrdde`#=$z*csRGr(7*!#%V z#@<&#yOoD_sKeWkM#m}+^5yxV)E%#zVQJgWd(RBJfyK{DTXwxiF3{;+D=xh@_+Eid xHkZj=^XL$+js9NsJsG5*R#%cDI)QO9v{Zd7nVg~1FI1+M=Nm9&;P-uP`VVc~nF#;@