From fe917685ef988d3a8ec0675683a6db55b0b251c8 Mon Sep 17 00:00:00 2001 From: "steven.liatti" <steven.liatti@hesge.ch> Date: Tue, 14 May 2019 11:49:49 +0200 Subject: [PATCH] Update enonce --- doc/enonce.html | 2 +- doc/enonce.pdf | Bin 606592 -> 606614 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/enonce.html b/doc/enonce.html index fc4b94e..1769012 100644 --- a/doc/enonce.html +++ b/doc/enonce.html @@ -378,7 +378,7 @@ document.getElementsByTagName("head")[0].appendChild(fileref) <ul> <li>Le domaine de jeu est rectangulaire et défini par une largeur et une hauteur fixes.</li> <li>Sur ce domaine, sont présentes des particules de nourriture qui sont caractérisées uniquement par leur position. Si une cellule rencontre une particule de nourriture, la cellule gagne en masse et la particule disparait du domaine. La quantité de nourriture initiale est définie au début du programme. Selon une probabilité donnée, la nourriture “réapparaît†sur des points aléatoires du domaine.</li> -<li>Chaque cellule est définie par un état (“morte†ou “vivanteâ€), une couleur (fixe tout au long de la vie de la cellule), une direction de déplacement, une position sur le domaine de jeu et une masse (initialement comprise entre 5 et 8). De cette masse, sont déduits le rayon du disque la représentant graphiquement et sa vitesse de déplacement. Elle se déplace de manière aléatoire dans une direction donnée, selon les huit points cardinaux principaux, et change de direction après un certain temps, de manière aléatoire également. Si son centre entre en collision avec les bords du domaine de jeu, elle doit rebondir (voir explications plus bas). Si elle mange une particule de nourriture, elle gagne une unité de masse, mais perds en vitesse. Elle ne peut augmenter que d’une unité à la fois, c’est à dire manger une seule particule de nourriture à chaque déplacement. Si elle mange une autre cellule, elle récupère la masse de cette dernière. Si elle est mangée par une autre cellule, son état passe à “mort†et au bout d’un certain temps, elle réapparaît sur le domaine, de manière analogue aux conditions initiales. La masse maximale sera définie à 10% de la hauteur du domaine de jeu.</li> +<li>Chaque cellule est définie par un état (“morte†ou “vivanteâ€), une couleur (fixe tout au long de la vie de la cellule), une direction de déplacement, une position sur le domaine de jeu et une masse (initialement comprise entre 5 et 8). De cette masse, sont déduits le rayon du disque la représentant graphiquement et sa vitesse de déplacement. Elle se déplace de manière aléatoire dans une direction donnée, selon les huit points cardinaux principaux, et change de direction après un certain temps, de manière aléatoire également. Si son centre entre en collision avec les bords du domaine de jeu, elle doit rebondir (voir explications plus bas). Si elle mange une particule de nourriture, elle gagne une unité de masse, mais perds en vitesse. Elle ne peut augmenter que d’une unité à la fois, c’est à dire manger une seule particule de nourriture à chaque déplacement. Si elle mange une autre cellule, elle récupère la masse de cette dernière. Si elle est mangée par une autre cellule, son état passe à “mort†et au bout d’un certain temps, elle réapparaît sur le domaine, de manière analogue aux conditions initiales. La hauteur du domaine de jeu représentera également la masse maximale d’une cellule.</li> </ul> <h2 id="relations-entre-masse-rayon-et-vitesse-des-cellules">Relations entre masse, rayon et vitesse des cellules</h2> <p>Pour ne pas faire “grossir†vos cellules trop rapidement, nous vous recommandons de déduire le rayon d’une cellule en fonction de sa masse par la fonction suivante :</p> diff --git a/doc/enonce.pdf b/doc/enonce.pdf index 35225ebd952fb712ff24170f21f7766f45ab2ef7..30b5f053b4743b71e451ce17661fadcd47678ad7 100644 GIT binary patch delta 5501 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 delta 5440 zcmV-G6~F41gC&52C4jU6ZlnS<HkWXu0V{u#<hBjI&#%xWWlecT%Qq!g`QohCm6Q*0 zc5WUYwB4FsrS$04W3vAD0SHhnX=JB-X^JEW;`sq=kz5jy{B$RH{Nd^D-3RFtDY8No zGI@GQ;46nck;tS_nemBtHuKsfPi^vRdVbbcewwHIN3HVoJkxj``pZzZZI#_W8dHCy zAFHPCXlw4Oh2~TFscz~CS@8M3>u^>*z+8*8DQUgy=V7R)dEm3pLWuzh%j>lqO89aU ztTC5y9++J<@?H0j@Y~njJq*)$|J&0)L7k0KR%J4`q*U1i-cw%>frHkhnKmF{Th<-u z1uPb;z58G{CVP}RD@+)yDUzo%@O*z(QtS@Bv2(GLN#~i<j%51#=km*p>T92#s;0S@ zDTpM~Cak%%8YkKe9(fkpbTw~*iD+x?Xhe#soM`u1Sb_Fz`(dish(OcNObc7D_3OR$ zX-Vb_L~u$zM6OY+er~E@`-QDGUwL!tXBM!Wi2_36LY~NkD7Km_n~9t?KL>xO7ZeN- z6t6We>^IOXAVCxjc33o#p23q~vC~wCIK-961dVZR%2U-=pdSdjKa0Tw_89BiVUDnZ ztdCqMEViuwQ_Zx1S5Hw@wbfM0%xX`X(v{AoZ8?tN(*`@%9o$_ui-bgU>f7s31M3mv zfXSI+;Hf3jijU-I8^}p(Rr-IPNlw)?t*=G(y-mk{eOIv3d9J6C4mEsYD3R!QjEi6! zB%On%Z(zd}9+q<UX+4H$Rz)7%hvQIPLr#ws#TkZMfdb$rz{&M<4QE>3rR9ppk$Jq< zQx!~ylXD!mE{4MhOS(vZY#JsR-;i!uv}ISrmH@jRy3yq(1CDRu18jd{06ofXq%U%@ zG5d(bl{NSo4>A#G!l|a><Db#o;0BuQVJ)yZmBYF2%K0nP40U&^uP|q}6(2q!tIuV3 zSyU1`hk23Z#VQ9mk5)-k29Jr6W^)(waF`$)Xfjppb$nPQ28=6f5}U2TU<K!w81d{d zBh!yH=U=~EwTgGlG$MarO*t0#!DxLJOW3JzntEiNOj;s`SNy3?v_jU0k56Rp;mq@; zC}0920)Ruin2fm2BLKkzeN{~p_xj*P_!=ta+ktgy36nmE(8rbP>$Ry*C7PZuzczCe zs~kD6jd5tBsI%SbY;@+a)}YciLD~=k@M$CDS*#dSeVUt%9(I3KhIi`N^ip0rre3(r z-BR0Oc3$pdkbyNYS=1(&pkmVo919~SboK{nr$wfWB9$ncwTE_rM`jud4@}GX5)rf- zXo*THe4M|T<EfR{FniWU&{rrkzDQsCIs|k9+4~KZ-3{HDqS)tT+97h~MMmp&`9@I} zi^pX2TTP|QT%mv0*(lK;$YU6QTkMXsilP7k=QuYG@}Ss-pi!JyYH_H%g#`=R@uZwN zyJW1l5BsA5#ZNO?|CZ;H3$+X(Kvp>Rs?eD<W~HmkZ)FNWd5HKCYFR<z!w$=UU%@Yq zd=OBTrqm0$=nt1K3WYlsg}~1QGA>`WOMwBG=EdcX`cZ%EpSXQ;IagfdzGUM@N1GR! zEm%j+|JWd5EXGD}K~lFuQok76r~5XTXsJPg?MTKA3LignXSfAo?C{E_zr;3^YKX>8 z1E7hZ=WXX~y~~8*&N+4}V~8u0{#>q-o;vBa{93nV!?Up(m}K9#>LreKD#hQ{NTfNE zpdNzvxaEJ0aIDwOm|kOW01@cbRRT>{0X<OY)s@eb*U6){(4Kf|*5NGx@hO!}|6Mf; z==uOl5Wf^K-fkKu&;z!9zlT%^frHc&jjtH&u`|I1dYE_{BW@(gwhw|;Ucie>7GP?r zG8aqozc7D$YD6uir@~%;q=gr}GgPF3w=hUALqC6x^$_1mC|c-kiDHo^Y)wOdrFH1N z>hn^IA7~N4hmR4DnU6t((6<m+XEGY>Q$K8%CNc^X!EURhDGJDb(s2mI_|{&clNqSN zwJa`8D&BwTyQM+VOT3J4<B(rPP~O2t<<a4B#&?fh-aWMX9r?-?YhNiLGYK)Ivm9b6 z#L$1hbZ$+TXUbw#4iw+x!y-=&3`(Wn(%|Tr7wcmXo8IPdT6;-nui-8E<I~-jyJ$Zx zi_8d_7!Oidmz>(WUw;$H88#7s47?=&8%Wy(u*YLV)FdD8exXPIR-c6zI7K<miuNc< zAC)zk67bqp0s__&Y5xq89vMo4ldX&v7><89=2`9*3Vzn=H1;BILPBGj9o*z)ra>(6 zC$hu)T*<{95mQ2pWcx=<j80{;Lh>u-{Q_xg7}Xdsn0y#mfTpqDbI*fivEal7+Wym2 zbu~}s*h6946JK^QV5!Z2#Ya&!jH`!Gh~|*2p*zI@?&76Qv+uRQl=V2?{$+{1mcD;Q z|E?-W)d4lNTR#YLPey|=BB2qQn&+NCG7o?Bydd-ijdQ;oZOiHNNS`m^8A&)Y)U>uj z6__ok!iNC{rWzEfhP52|I)h<#tS>EuqV?xPsL}8w&AEI03&}3wv8Qqe>F%I(IEtR} zINh<2S<?N87d-!OA^0q$KH>w(Xmo!h`u2zqAcO;v;8l|^tjt@CP=$atGSLn+04Ui( zgobF35Med&_B)K&2o-q&rPqpXl@ZGh&6fE*UlN;0v;dh4F9L<lga?M1jEDnDSfW#Y zMQ5^H>zmE2IN$}TUFco*!=W32&rEUSA&z*s%;tXO8+Ry+Fm5G_JO)V*{t<sg@(8#p z++V`T@fah$eG8H04Lp`I_XptUphWzCY&3s@jnE%Kh&UU7Un{P9KQkdVa+i$cQH)<u zt;cCtiuV+gEVL?{%3DpbJB-gmXm4AD*a_b{*j}#xN`(-Q0WOu!w1klp3nKi>9mKjR zT%cHehApWaA-rRxht+rgXjM}3zK5v)Ww|2qe~cGAu5LK^*Bn9^pv7a4EF7oghx#%{ z_0@OSAlvjO{9miuHY>+|+=KLCKTQ42+BW+UEaWqhL%p^Rf{6c}R(pH?56fo|JcoC! z0f%?30*8041Gjgr1p4a%GM68Y1uB19TW{OS5q{UN*taG?yWIPw2o8`qNNS)5=fHM> z(>i`oWX4fzORg?K^6&f2lA^d0C9h!>DA4o3<#IWko%!aQy^xelFw3-Hj!EfRWYTyh z1yc?ujT;Ir%tpg-*D2f&%sa=FWIno)QY@Ollx5N51SKL^Mq*MXwNfd=w8nqgMy8=f z2gfvY8)(phNedw(adviO(3yvvu{fhk1AWmdW}q(y&n)ax7H5q!T^pt}ozbO{k>QrI zHZV)3NHu~g<*kF=Ooa&h@mw_U752xV8GM9;xDV3=T`(=-yN6}4i=jbA+!ahK9Y=6b zYwwtcV^#zf(C%PbfVhh=9cO>9EenwI5Dw59;AMndaE5v4i^2gZW<-=DJYp2QCr6=x zMRHsc6ga~*DI_Y9!U0JKyQR>mz;G$>j8AYw*we#~nIPpz3TTNY1ps&fF~UVq{3wo+ zAV&vQ1~S+&tDr?`oIU9Wc3P4wDn`Q=1$tPmMiP!#3-1-+b}9uH6-R%N0e1l_5oqfz zK!AE5ErlGB&_Dqe1hN`k*$4&1G&lxpiFo9vRKzX~hqOYNfSy5k4Em5DjWdWCc<C&n zBcb0Vd?4;@ghSw)b3`8W<b2R02}Zd9CW2;&F7CrF7riF_F)t($&?3<AN`hrx#)kQ@ zn;t^&h*y%L>k~T>#wdU7=*=5eU9#%q{A$js_w3cOo~)+x8JDlwPd|-beF8sl_)kKJ zcT}vYSW)pw7(wUTu6fgvZZD`9Q}L~<O{utleXvut-|0nC40_V}E<I00O~vxK8OyHA zhwk2eXUnQnlWr^qtXhBW3>(7ZqSLUWHT5~CVzy^y-8FAfs{4Ne51p=MS0sTy_NBJy z{>VGa`pM$-tut+vBe>kN;dU6}N$&7{j%p+S1dIa_KFb}r&CNW9<?Wu~lTLbT;WXz$ zPuF20>U}fccCe>Tz7C){=`PntV!K6b>)@Zd%dh#9<IYdyfK1JYtu_b19p?tuT^A+s z{@Q6+bSYRr0iS=}H{`s7{Yw{xMb7sp<Gs$MN?B)zlJ^%X9$!qehfdA(_(1T4h3Wv| zzI4TOAR>2rmfhup!($%#e|IR>PuMe%03UOb48isUpEeZ!*1wo_vJV5}WA^;GgLw1s z7V3Ft&Z3wW1NriEZux;cJ}~9gIV1K-^oLIBd*6%60J(pQSTm4kmpM%~U2L=Lun%8y z8o$i)<8#q|N-ev&Y?gbl$aQW<^U^eH(Q^A(T^(Pi<kW4?{rR`fC#}VBVqIeaCfEh5 zK1^3PWW$>`qw4C%W6i2x$9MIpI-Ac{^=!4o!jS|=)kVFWuNRYgNh|f#@^gJV9lx7@ zXV=tVBL;sAtXzYUJj9z3^emu&VKtbfKQ89$N7_52tGBb+9Lle06G3)h4?(A!Q8Fc2 z(mqjLR#%JhZ23s)CO=qpc3HizzfC9g#m9H7I%liJy3QO(x<}Q!`Qo--B-_MI^_S|r zI>QB4nK$IjWW}zvkDN9vS{aVTtC5=1u0mTLC3$~vx&FK&L;gCQ{i}MrG3#v#9nAXM z#W@|XzOGh}%Rg7u_-?%5)A?%{Gh|PzjU{!%=E-!iG0!N+9kw7!D6X+;HrjAWdqT~l zcMyBac6s$>dbeKGd@_FQt(RM4dO`o~@BhGRpG){2q~R9rv-SP`%^^{nM7@VSQJ081 z6F`3kQzj~TQTG}IGuVKYh$658R4WjbK5*@dv`QyA?W;1;56F`gh7Z`SVf)!66*fF> zlVG%?4{aU0Y%ex-AgWRws;b|9`TS3cI;lE;z-G^Nw|-sBCzmw{f!uumfmK)a_Z0~t zPtVxR=vealxSPD*pD=m7?Pu*v`5wWUNH2c{4A->Z6qbAJBQ?@MC||;NwZnHGius<2 zHu1I|iKa}Es0|#O<PuRW1y{02s}`CYU8FTA9+W;r&5VK_?Q%LgY{EC~$cLcYIt0Ro z)*AH<t&s@9ZQ3<9@CT@jE>1$_7<Q=~-3h528{eZjC8LeSqLn%D$YJ<)iaUDW5*&ZG zUY77#_xb!XQ>2JssAbAUkUG7F<n+c%1xfi(VvX6!uIP)iD-%6Fn+%9Lqj)S7)ehMe zOGFjU-l!r`q<3__L^K2pTJBIH_7m<<QhIt7DGp?lX0c7o^9RGCJw;~G%h;XNqF0p9 z&#f&m^nSFI8@cRpatz5@P4h#Utbu<6+Lzg2tl?gTGFgqeD}<MXJz#Ary9+E+r5+~4 zV5Fal@ZLIrUJkz~!m@mB&1E-{z-XvqnJm~K3q>(h1R+l@t5w7@F_g&y2Kt6jBC9}N zA61#G!ceWsY(N`#`rv|~PrN=MGZOZAx5LOjpXrl~(l27C-rHi*w}#Wr?eu@y<Ak%i zjxr56RtfH~%*SFiZ6T~ySiqW+snqUFrSyfSIGZxrC&tSGSqpRRz+^Tk8#JenlO?hy zAVor{EV5rbd%Vo(8R;{V9%f-aY0^isaFUtQ?9Y_?Su>?HdjqL{##E`FF;$kz7Qmk6 z{^6y{;oQHr^p)~7$IVH#{eFM^j~?Rxxc5Cvz<DjOQeaj}E?-nOdYaOE&(n`4UA>WM zTMPz&j0l=X=B4G9d5lSpUYKD(QS>D3Y+E@UNP;Z(4!b4hl;?_t*wd7>HqW;`U{z)4 zM+Zo@Jv5T3jFI&8TbxWiHArCKX=`@-WFIBtL^`%t&E0KV9}8+#NmGB235jG?AGxFt zYcTq;ge=oKN$Abf4x=~yO#{4sAEW-;2O*4&oRpU4A7dg<{}CYo+Deqp3k1>WM8#A_ zOT=qR+x%TbKl5<YYinvDQXm^`#t@C0k|g@~bV!s-b-Gu2v`?q9(bq4n*;o)<l92SD z43?TKz}iSjNOV_}dQpEE*cFiq1~ioP2O0Sz5(1H^irp%mNF=zF$$<o$dH~053r`@4 zfGuy^Ep`y8xv?RYUQp6+{cUSa(zvZp)^0Fw5~r<WK#*;8=;@|4i<#KOu!%$aTqjHS zO&W5HO=XJ8_FjV$)#zwbcWWo1pKO&0lD=mxzWXSrvO&4QvtNG_sGFk?Xdl*onIPW6 z+ylEowqMeZcuh=O4bdiC)6pB0`q;MR4#PCPZ_Mnl*n2m4v}pD*wY&IcD0f)zPb_Ub zkyVMoeRPkOQkWEu1b!d(e%U~=UpB$&2Vl6A()F^fkN<uwQf6V#m}Y?u<U2=WZR`FP ze2hv#IgUNxe*gsPsdfgJk&OithZ&;<hZ&;=hZ&;>w;7`d*@y=-F*YzVF))|;D+wG2 zGch(WGBGf>94raA5>i1zK`}%{Lqs?^LNYirH#9XeF+?^nHaRgiL`5(#HZeXRJV8Q1 zF+@c}L^wG@GB`6gG&M3YL^d!sIWaawMKCZnF+N=iFHB`_XLM*FH8e9ImvE#3D1RlB zIZu>P6o&7)^UcOK49h4o>YySFf;fX4h~R=7?zrLZXl$*tvNF-c#HG;0grk*9s4Ok4 zjFqLeiH+e0*x4%2YxCr}=id8G=Dg>I5W?RWLJXE(=nL3}W%zE)Km;49O=2mKfMII8 zur$bkZPX^PEXaW=YU5ZQG=Y88c7I~cpamSFwgYPgZQuyC?N|Y{gQL{=p;!bR;5fCd zSSRQLXQ+)~-Jk@{QLAGsz)En1S`F&~t3a=XY>&E82CKmuFkm4Rw6PXcxZ4M?h{bg* zwYwhEwSG(u8!>zGRv)OEeY_*v0tU_A&ucjZHgQ;OXX%4r0BEDikrA*NjDK1zztY{h z#s1r}F-txDDN{x@i<Qq>(k9nGQe)L|MWKu)EcLJ+EP1o2!~4OcC5!)OgRyW82>&up zgFRp`I0<Gf`D8kL02~B|xj_%&EI0;EfYX+Io73TWaLSUe3tG-`gZ{;{;5@is>1U6% zdlg)?^ou1eFM-S4pc}4KuYZB-;09=bo9rszTUaj$mLGo2SDf^nk#|Pk8FXjRoe^+m z+?jD_vYpBHyrthIy4z%#{C!!oW$u2EwOHoSFIlT)UN&THmMwpg6)b!2xvbr?-_x?9 zWq(9jhviC2%R4Ps8JBfgZs?D!+j0+zvXbR~*JRAIj{>I2_2`Jli6O^{$Mxt4)Mo(k qIPth%o-)#Vo3(s(X}K>`jqnc)MQ!(&Z9xei3O6}33MC~)Peuw5NnP;( -- GitLab