From 76f9b3e0813fd49c6bc6c79ae8dcdce1c2471ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Sun, 10 Apr 2016 02:11:37 +0200 Subject: [PATCH] =?UTF-8?q?Diff=C3=A9rents=20modes=20de=20jeu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/game.hpp | 22 ++++++++++++++++ res/textures/death_block.tga | Bin 5688 -> 4104 bytes res/textures/switch_block.tga | Bin 5076 -> 3510 bytes src/game.cpp | 46 +++++++++++++++++++++++++++------- 4 files changed, 59 insertions(+), 9 deletions(-) diff --git a/include/game.hpp b/include/game.hpp index 1837378..1d714a9 100644 --- a/include/game.hpp +++ b/include/game.hpp @@ -9,11 +9,18 @@ * d'une partie de jeu */ class Game : public Level { +public: + /** + * Les différents modes de jeu + */ + enum class Mode {NORMAL, PAUSED, WON, LOST}; + private: WidgetTimer widget_timer; sf::Time next_frame_time; bool test_mode; std::shared_ptr return_state; + Mode mode; /** * Met à jour les objets du jeu pour @@ -52,11 +59,26 @@ public: */ virtual void frame(); + /** + * Récupère si on est en mode test ou pas + */ + bool getTestMode(); + /** * Mise en mode test : l'appui sur espace renvoie * vers l'éditeur donné */ void setTestMode(std::shared_ptr set_return_state); + + /** + * Récupère le mode actuel de jeu + */ + Mode getMode(); + + /** + * Modifie le mode actuel de jeu + */ + void setMode(Mode set_mode); }; #endif diff --git a/res/textures/death_block.tga b/res/textures/death_block.tga index f132fc2a3cc679dd387fae7545e04cb9e9970498..3e7599aebc1224fe017c7099c59dc3747dc4c1be 100644 GIT binary patch literal 4104 zcmbW4cWjhr62|S_H6a1XfQ}>t9azE`8-eM)7XzllQ38k#qW9ie_d*9DTxbH(t3(qB zkPreyQ6z|EN(5LGU7;K&8!%<(<~JMrc3FoU>_1+A`@S>J%slhVd_h6q1r>dwgQA1N zN(VP<*6h~?4I1QT*R5MO*QMWXw`$eum+|ArM{)4oyLTa}A`;@zbDo(qXTDpzc5Pwi znl)<*U3{A~X;OaU#*L*#ixvg_`t=J><5F<*=FL5N#FKsY>{)RoCnx8(ZQE8lckV3u zOJ3KmU87R%95z?2TII<)efqSNI&z~mfbbN*^YNSy zZrZe|goTC4YW{Onty)zYHEJZMPMwlCo_teeuVcrK5+5ILHam6d1lIiCy?aL_2ikND z8Z^i(L_|c0*9-QJ9z81VLx&DYFyDA$zd1EqvVZ@6(Y(m9W5>LHOMmKDW0ECHmPl-D ztZ2mdyLIapmE`B!@P6N(;GB>mUT9S(275Tgvd^!)3~pDKd5H zR2ea11hL496)Wt_tXZ?{%>4QD%?8M@2{O0k$QPNLl(@h~t`!rxel~F6!0<#rYe{ns&&YT`e2HW|^x(mR(yLc5>C>l=z(4A-a^*_P=d@|lWb)+6 zGH1>lS-pC-K(fAl`%3@*{f#g1!K^rZYnND@8|@`>^B?LK=jS^a-(|2ze`aTA%dla? zBqb$9jvP56J9qB1+>aVH%CNxA0|yR>-SYF5RP2j7C`bOKT&d~y^W}|`E}+N9j2UB{ zxOwwtal75JefxIVv15m9+qO-%Zrv*B>FKg@<3?-={=0PPBB~=L#A&`mia3fMXr3Qx z9wYqR8%4k6*p@9@Wa7k$QmIlUNlQz!GQ+oq4I7HmN6@1<9()H$b8>R5fdKOU{d*(G zx^?S}L_>!THQ)pg*gPr4Ng;7sfY(~E>S2n`^o-QksZ+-~R8>)C&z>!B-@cVMZ{Apz zVONbBHLQz414~uqWc29KvV8e+9-)L16%{3A%a)Zrd-m8}KrdUi%-A$`>{ts6U%uS% zLMzJI@4fTFV?ukme zwKVsTCbGxpKzPLn z0MXIWX3m^C>({R@FJHbi(Qn_rz1OV+nIVTrTA+-5#!UjD*#yThit*~zE7`kuuT2qE zJJIb!+>DuT&=k4{YN0i-V9}yQR`uPxcZ=Eb)3iTx>_mQ%XvWiv7cYbrNSw6r;>C-t zg&F-{VYphgYI5Vo4eMg&lh-i3r={-Ry(<+eRQMXh488{s9@tP}uzC%XADSRHH&@D+ zFaI@$buBb~dGh3m(L9Y*I37QKY|N`&yY^QY4W@XE!<85drg#wXi}Go73TFQ~e*Czk zo1t^(&e;a^MO3rHPKF|(-oJm}!c4}Xll-x=z+uSuMTV2$a0nv_t%s559Hq$5&-Zp{ z2or&QieFIv$jC^^$jA`8`~Py*JL*|W$s+3nBUP2m1_TYns?0N_0lg<>fusI2ZDAYw zpWt!m9Q9~rJ*ZnIwQ%r_^`8~I1na=kE%t4;u9gLk!Gi}Epk#~*n_>=M8FZ@k-&kiU zIV)o(?-WkHVTMJ5OMYQS#6Dh_O0%=}>6qU6$95vmaKn3q7{ZU$DId}Fa@Nn@e}TClaw zrHft_jWdURgGCY1GYf`;^${EdLF}3YowvSOu*KA=%Sc6ijd)HZaOHoI@PdK`!=RDG z1z51v+oc}LE3@tr2^NZRSR~*e67msf!Cov}8bMXHa0d)TQk;v@e496K-lvgRL`4JI zUYwkuAPzW9J}nL#1XP4_!Urnin*)2{bE&rfMg8Xx0o5#ypcMXD)rf!>9^bq60!kJB zs/Zf`B;lhQ*Y+xB?p|BTSm!b((2K|HT`PJWrcccMk>q{wrJ@yjq)c=0eir)k$ z`$HC~ar}P9x;q_mIuz4SZQ8W?g?`UgaNZq8UmpL?&wTpz?H@BB_HVJhde;8AQ*8H` H=%D`s-bxa3 literal 5688 zcmZ`-dsLM57DajE15EF#OtaD+_ga`npoN*10=_j+Ta|06*PE91ygim$2@0r4W*R0w zKt)|*ike;@2naqZH4)PUL!40{P!V-_Il!E|_Zh#55#pcuX869}Z=Zek+2{N|7Z)EF zdwk=z>*j5)87mLT*wQDT{ z2M(0s!-or2Fb^F%RM#CgY?wtlXfm0^i&v{wt+IrLg~^H)D`d== zF?_ak+_-T)_z0hkY57@i-sh8(lXZ=e zBS%W#zI}_Zw*&wDW@|(df9s1EO_HB)5`He{FKzB!6|6YWF*J zxN*h9hl^$P>T)@Fuvji!Fv&vQ^U@{ze*BE#FRu6Q8O2TA$p?7_A2&yg81asv^~j7dK8%FP2G@Zb|p?AWo)uL=6rs&j&<-1rgVsZ*C_)21>NSJ$pq>D;+qUVXJ%Qc}v~ z{CTr5yC+XxmdTTEfwu;gz>FC;Q3h9p;8g4m%OHPoaa$!Q=psU~O4qIxVETY^s0H9k zLxJ#_nK#icrjM24AYxdl^bB zu{xm8ff5o@BqHLt`1w^!yLPp3!Ca&_#jZCuCU)u4&9ZP|l7xgPq#I6fR2yvy3QV$n zd#Swj)-8GR$vc{+S6-<`oY$Zc3l?saZr!Z1V8L}ccg`#e2*Z&s!dSB=S(VhidpY#i zC_Q^#k(ihtG-WGSCdz`%=$^@x7=_Pztc%@P^83&5hAgHS29 zBl-0E6)UbHU$rVl)RD}acO5yrroRy!jgEi_n7~y(%>dCcqNBITQ%{vht5%IjVY&3` zWrhN*2(MD6PCW#5q`+KZS+Ys%!p*H7oL52c7Il@NphA^wQc`lu;MCqa78aW1*s&|}?YCED zkQrg3YofaRTIw4p} z`N0P(5ptG%|NT1T;ctLy1MsHdQNUBD-jc^3zXMxu)PfEOsD*`H)s&NI4aH^w%1;>sQ8&`O{ao1l-jp%Eh?-*SgR8!-jV|cN^~~U;9CUAQkga_6AhtT?N=BV7Tb3fDNB=63^j6Of9V`liRx)SK zE)2>^P7pksLiphayOMhLtV4UO(CKvvw|AQ0n@f4ss&#Pc-Kf()HQw&s%V4I3Dro|E z^UY(Z+x0DP%w(KCeOb8q#*Jli{J7l&zT?IYF%B6r6kfaoW5;=nAQo*993CPfeo+@{ z)23EJL(d@ZDNftC8u5`P<~5Q{+l5yNjtvqMSK&RHa5zaxpUJH*DiVV z(W^=#y*NI8v(pB8yu%65wz{;mRN8}IOK|Xi5Pp$LARwSfzWBmEv&O}3!K6{FOOYy0 z98Qjj=}_Kz=bhTv*jP(qOiYZ$mseA!{JU!K;BoTdhZz`eepRM9s~d*Q`GNk%VP^L1 zA5m`W945^03xk4!;3&apK(9#Rph1JgjaPwzL8zSn>PY4o`91A3L9W&l2ih;c-08HS z8%D*>JR#$Ji>Y~s96fqeR_5g7h--R!HYBzfb8wKn`|i7<W}zDL z&}Ax6bhkix1qd$1nV?XaNlN-j;qKg-4RChI`}b!cVcE#{aj=z-$}!8+Pgf$-cOaie z3>`PYST0;93!Q8MT)K~@k(1&)YOQrs>(Ya%yMYv9_y-hL!Iv6oX=!$pT}al%i5F1^ zoXU76WOr-O9lLe2Aa6wdr@ZmTB{Y`;P?d-CW1fr~XF{D+VwkE$*R`U7H{zK(Aga)) z84+n8ZXQQ$bwb^?RvnC)%bwrRE%VHdlPWXortozs;K zjRgc;$B=kIKK=BpOrKt$yi%Xc>3{*{stY0^Dxx<>5<2l@QhEuCh z#ykuqqPn}nd@kX;W;Zi4QzDt(uEds-a#X7{IJjK(#_FWCtXT1j{P<&*P*1D_GE9wa z+m_Qr54mU~1*oec9H>fhcq~H;E`sU&j8QKWqfaInjMuuM4v80R+Vu6KqoyZMp6m-x zF6WCrW;T+KdG6cC`0~_oh-v815**iaQA;_{cc#SfuJ#!jnd&2Z_GANL4$vKjA05%_ z^zAA3wnYX74YFS) l@Hc(6`_fA4=C3 zDD4p$GSiQM4knd{4jrQS_;}eNEyQIiYNyjl85tRL_Uu{OwQCpQJ+RZcEIY2ENEOKb zcT`l=hr@0zL#pg{JBbQF?d|PU0OKl`%SCZ=DsG6IbJ0>9Z==FL4dIJDf zRaH?zK>^8tCr_TFtgNj619<-Yd3IC=tgNi0oSd8yfXG`YD7!ok!}|JqN>5LJ$f(brh5-BecIN8f(;kW2;lskymF+)aA&J<~U~Ar%A|&#Kc52G}^asA7A`dOAmdK@R+pWTmK+UMATENuIZImT3fj!!26sr zvV7E#vr)~pYuC626&Dv%OG^v6Tplvz-zPl`O0jWI*jQs@BVD*~fw-THa-BvsBsZaZ z_dJx6{)h|!RzT3e?P46MWUwx~hrZhD0|WGgz_^_&5Lk9s@lB=(??kke=K{N6r87LB zsFzNoRyQD@ynp=A4=gYm+(D*yqY~Aws@?XQi6Vxjl;_*yOaNg3s zzCKckQrSPoofjR3_Uzg7kEo6PW>J3nB|M2s_#BfIO00iCCD9liixw@S<;$1T+O=!R zyk^ZBlJJCoarIELxVNZ=rj=SWnd#zsSkXzUtE;K0sfmh_oDxbGivGNL^SBiRIE*GJ zhJ&|76L~1wGIuxg)vH%YT~}8}2M-=3G1^jUYAVy_W;)C|w{f*-S<^74Vvwn+sUcjT zVxUNP%FD~61q&8XT3QyCRZq{gK;soYmfr4j?RQno|u>zWV4q)c_hK_E%9~-Jb`RRbCsYF z#!#`sRX?BSG{I}S81!zT50v5?h(D}Wu3UK^%lJh`M6HVs-WnVh`fsi7KPy)&Y}DYLVzfCgI%%rUQn@jeXz&gV~yQI5wMp;17eH4>w~@bE*22G z5{zmxYL(v@3qDpW6ZLSmsfz7^%vz8p&aM_{rhuv@7|rW zckkYug9i`h#PO+vPxtKElf!ilpZFX;d^l&}!iB##ZQ4{?wQBXRfddCdu4G~VmMvT6 znm2PlfBq~VKYoW7=2^H zgb9jK4=a3q_9Vg)y0#1D$BtSm9SO6k(2#qD;B zkB^Ty91ca3l9Hm4vi{k#XQfM*F5>U+ug{b$SyJ!KT2iW1DOtRDvAlTkA`gc@e1M}{ zw{Egy#}3)Nd9xTM(BO~0efw4e0$38b3AC`ls!>&p19VMqZ*MW*D<1QfJbLs3=a=ihJu2EglCp4 zSt1uNUX-IpkILxLqh;KL+@-EILmU89F=^8ll zhgjW~15gbI7$?|x@s(Ezi(4y8P#;~RV|mLroql`B`4kZIGV zNm^PO*{A40)u&G%>DaNOBK7t4Rb_~zV#SIQA0Myz^F6fjFzbd{Rxr%|p5Fxph^1VN zA3t8x2k`-vo}RA8;EDkd-z=a+xm+$y{rdImOO+~Blvtoa$)rh>qz>ZEMct5;9`z_PKd8%{l*J9n-I0!a8nT~wyt zn0BEG;Ec|lJ8PxGseIqKabr1t{P+(+Ca6;__51hlkNO`?hG|`LTLACfy9e32Ei%#o zw3LJclQuAY`gAorth8&_PVIp3yLRo8hYughojZ5Lv?wvXNQMm?CV_#0TB81+*olC1 zQoK$2u>ZdY4H{In04M`cL2%K)e9jGqpsrE}$vSExMwm5gmV}0e zN?2H!%$qk)-~67Sd2sRzY9Rfi033@W;1KaTg##1{riUHe-0{ixwn!pk2b@v55zqDr z643Qfl^SvR@@0)gBX$rIQFC4KOPk^W#4wxY>PSFKq|_Uy3VA@0p>RSOt%t3&So=aG zWuI)|`sB$IjnHa3YGd!8Wg$PHP|JuUtm)vIfF$Ys`SWG!)T!DBsXBl{V}O!!O`0^( z0L&DnIb`M`g=T|SShHu({+~GHSz&RoG^*!`lOL8{6f-k3#SB;4@F?1K>(-SLB}!=1 zW3WLQ;Ef$SRy>gDqS)~y<(U#n3*;$fG=OIrhIoSJwRGuHVUHhsCO<5@57OU`966$? zOXXlWDhKwo`~zFCGGM>}Y2UuRPCHCAgs@`83N4Ya#nxP}UAv~tQUYt$swHg98b1Ne z45qpGWaY}0TA`~|tESZ!h-5mhg9};~wF9Vx(YkeOZ6Jtx^5jXog(Dcry=~hzVJ)CB zZUNPTUbsaU6|*cJGx?Xx^g?G12?@~-N5)Yf_?%7*^rWODnK^T&dXL!qJ~T7{=uGDQp@K3rKMGMd?1st4mo8mWt|%VX_>9z4YW~M? zNJaf+Oe3QKOOs&ifOnn&7}@<(zz~zu0{tJ$;~h-RtOr{N31fJP4XReHs>NSxp#f2& zMhykV8UP|VS}e08%=0|L;<4fav&#iNo?&VE^5t48kPTM=3d3?GuNdZ#6W}lb0ER$Z zcmDi&VUEcgui*-4GiJ^|MG^b*wDek zY-p?Mh6j?GicUeqE7T>P_@&4;u#pdhQb*VfZ?l|IT@1|%5S7Yu#dygZcFmNNoA%|) z7jYQ&?4w`Nn&TinCr_UIA9K?Enrc$ytCKs^CjQ`z$RJSkC8ycpEk^|EA%;lRNt!!8 z#mBTO9akLr`+|=tt`VjvWN^YKHDIX2$so z73A2lW0Feg@u5C*e4>^x2Lf9M%L2Q*jZay_%cvVfhzn;!29tfWUex3$uU5hH?)u&)V_m26xZAU|p_*)bg#T}cnJHdSVXsc2Su1tuc2 zsq%yKRjXDNh>!sD>#aX;I6*^Pums&2mm(o91jjKRUi7vGK>aboMq#GzP=g|qcxY;N zJZ?}>*olWRtjO**Cq}FCM)VIjhe&u+wQ_N{X3ZLn1Ws7bpvu*sh-`ICRSGiB`!hdL z5Jd{Fxo{0=IQ%jc4;?y`9LP<=9`?HicWLwKGw`!hDuag;_Bi{IGjz&i-tn%U8vp set_return_state) { return_state = set_return_state; test_mode = true; } + +Game::Mode Game::getMode() { + return mode; +} + +void Game::setMode(Game::Mode set_mode) { + mode = set_mode; +}