From c6dcd8cfd26eb90406d9bbd1daa6f0cac9819026 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Fri, 15 Nov 2024 07:58:55 +0100 Subject: [PATCH] players now cannot walk on bombs --- again | Bin 227628 -> 227841 bytes again.cmi | Bin 9049 -> 9049 bytes again.cmo | Bin 27884 -> 28141 bytes again.ml | 42 ++++++++++++++++++++++++------------------ entrees.txt | 41 ++++++++++++++++++++--------------------- sortie.txt | 1 + 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/again b/again index 4805f31d0e4482a939b4d70744c642baf94ad9a1..f067460e423988f424826ee1b12280f7d3852046 100755 GIT binary patch delta 1149 zcmZ9LYiv|S6vywGKdrlTTXtKQExothy}M0Y*zQuaN(HsVEwbO55K@H@P@CZ6i$q9y z*u)pX=!asg;TS*A1U_OyVu+(atcqf=Ro>;LR%3)hacLKb294JxW@sXH2$y21yh)lxdolhbMox!jvqnMZzF9?GjX6kXJbJ8C>!pOtuPMQ?KI5=>6p1(WAu9j(B6Dtl1I zpR!kuNVr0V>x8tpnI)%%Uj0e{ogl>{_hKO(;*r^~wF;u0WU@GfB!3)2JMRu5##Pnw z8w;U>*VG`U)75Att_!0}@2NpQ@!h$|>Sw}upSZ6Ut$Znr0OvyR=_L_7O!NhxxUQnS zy++h~Yq5&H)PK}s1<_INtixaQ6)&}A`ZZ5FNYXJrV56Jk4jgj0(?NnCb>O4p?AfsW zvnBfngl`K|-szyNY(y#x@Q{lLpLS47qs5)RGdtP(zIr@G^nEdjj~cLpPVlgcDECCs zK_~UDD4K~*6?J1VDRYA>1*csZz3am9$0eNkGOS%Ro6{<^-L&|e@#>~Ao)gCta^!_V zcg7{)h2nnY35ju$I}=#XeT{JVPy$EjvRNPH-Hpg{PZJz{w-IZJek`i{nvkWRc(@6N zX}qZVpc$j;XBwR9tK-*O5TjpAD4RcPk)GyTu({0i>Z$)$!4!)Yr&0tr)JKxZ`=%;$$wSk>)|n zT--R{Y=ymg^X=l2s**{zvz`{6zcd$Nh5t7{b<6Y2v6_24v)z#B{_8Wqy(uJUFTZKT zue?8n`>BG*Q^@!~&v~AyCCAA$w$M%9mzF0mRp^|KFT^|KPD>uWvcx>Cw6H;Ng(bp6 zLSCO~12=?*EensyEB!>WIq0+Q8PzX$&J-M3qV;h=>x2#v?)X%a4eU z{h^6h;=}vVI35x4DyeE4384|g2TEe9Q|b{h_RaVZ$z3^nuXEO3`|fl0ei?oyIebqu zwW>rf)#<)ob$E#GNvJaAC?LaFVi?9q&hJ<6=_#lB)ii43X-U;cxqLaPDs{zx+NJ2D z)?Zb8RG>l>b)pz5hzYUBST}mEHD)rbpi`NDajf(X%>w&K?>~EX{(-n71Q#bl;yRxXgk|>2I3C6=8ssAr;8vwy4}}A+ zy!{GojS`#{?q5v{MX5Jf%pX&K~sqR+g0A_}NqADIXqJMxNQV3uKwXcfPU znMTG#U9}K5oH}a*a)we;yEa4FBJUP#716;h$j@}vcAnh$+;wwJFrLg`F>mLwnUyuM SIR;A4@a^qVyPe-`hwl&MLJma$ diff --git a/again.cmi b/again.cmi index edfad43610b77540dcbc8a5b9e3adb11ffddb21c..5ae80a4a76cdb33f280ef7d53e0a2a2d3442acce 100644 GIT binary patch delta 883 zcmYL_X-E_S7>4&9W>z7OO~+%+BZV`+H5|oC~g%n8g zSy*(~MImI$2Blf8d99_X<&kBV9hzGIBIvT&ouWSFoV066y_mtkKEYnxKHh@04x1s*P?@xxl}x$YAy+#WaC71S;CYf47x1~ z&h89)Ebfb(fnM@;*#H|EU82!Pr(O2qA$hrO#Umg50X`n9jT1!XRb3 zU&Ii7chAExWvh1K2@R==@su=+t1&{oi+5v`G#(`wqw5|fjFXS&VLYR=o)wrNHE+Um zI>;B|19*~+nJ0U27z!#5Of zDZzJ+Z$f+>;_Ib&9FU=f)~J_bibVCLhz=xHB5}W!!&OInGZ0~KhZ;;~V_vzbv;^#DdzTCQKjODz w#6~bjkX3}NosuT~AM9~xa)3x$8N5_=ZnAQ`udYU=Rb|XY*RUg&?BE~x11$A0T>t<8 delta 883 zcmYL_dq`7Z7{>P;&KXAPOpi{dQx}wJDiWbNbskoZ3Ii9F%fNMVQwL6KSwRv-7Z4&) zUI+@L8%0PLVS%M-%hb%uTNhoFm#$u-KY|Fl+1WWs@bSTqhv&z`>$mtV4Vh?d%qqa` z#zUF7(|GGL+NcE6X!ovV`hmL?%3enY-DL%I(r7znkT&83UQ$y;9Y!gJ zcVUc<@s;q?XX$@MTO&O*$1kFx$R50=(@~XpL-SD%jFUrqmOqUw3$ix)IJOB;pqRp= zlQBWL(R2JY7>zKRq<9oipqO%EmSK{_m`kbmkhc_h%Y7WD1{BBnm6dhovC_~rG_ag5%Oppp0fC54EMHhp&6cpQ>@dEkP$oEKb37|lo>~lf>>YJ z&u15_s=&UZx3S&)ID{eyTclDwpn#p);^Oh1{Bf)K4=|^~oFT<$00m5B&>Qf9*6OYN z49o*Ck4W)NK!JC3RUe0s)T2MSii0HumUJl|2BUycUNi~S_rRjGUFCc2%3}w<(pN`X#hT#Wi5|!L}K;Z4zWJK&fn54#C^+I~VA3DgQ_Okw+AP tIfCudJ1%Lg3vf!->;zU)x*;*FWZ+8Gn69HNY2vGPM`7IsZ>ixY{sK~bDPsTt diff --git a/again.cmo b/again.cmo index 6b8dba2e391ee489527735944eca4388ab3c2051..c649df10d531a19028240dfcc81c14a659b511d6 100644 GIT binary patch delta 6531 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%0DCK7Q}3s)Q1!X zg}Y?Ts&N@ABp+3N24++p{C|@VX@c@1V$LDv@8oE9Q23r5U1EMCs;)Ay!KDTq3F9rx z!Gv=$!ZO-{ZK{`0YuQ|h3pqUUs==Q(#m}et^*wV z5x5R>_x=U0GdH+#w05uFV!e5At#zdD4iD$@Hk2_$R3L&rhlKo_i0oQhuGM}8F0J;{ zs1DXH3(2BHB-3DoA`o#55obv-iGy9K#ns#cLpZ9n9{d&6)B~Y6M4+1LA`pe@BMf3u zJ;{gBPz&W@SQ20%1K;lpg`K#iRpm7%6gbCk{>%;*)le)WjeF6-)r@)#_4!9tI0L!Wqa)!eF@ZOrna zW(R{V)a>OdwxQ+=2KS(rnnVTOhuSO#J5k##+}-KnPeIuS%PCkcl0Uy#-+eZwb{V_5 zh}u;Q-bQV|ShYGK!bqPApFrfDh4l1k`HXxQg1-GJ-J?b#yfe zq@a$j4}o;l4Kc_>9VckaMjiLtXh$8jj%*4rlQT6sFtbn;-kOp?_uwf+oT^U*k+;vp>uZ{e zXZo3S6*CVoID?soIhSuSD~!Q4%(63>!mL(N;<1LuLU{(!vk<*}Qg4bAU7p8^XVF<2 z)0^gF)*1#ym_^l+rX91+F<63GSEL(L58Nptcdc#CT4ggrA4llRR9P3TEnw>2@)?HqGbW&Xlci?`E(9?(rMBv+LVC_-2?! z6)()+AvB4&V*#95?+!jXb2LlUEb}Ynt9(@Z%8H|;EON8$eBM()zt!Gw+~n-F>vLe~-Xn0TlsJ^C6mevf)O3q*YZ z^%n7FPn_=)<#vR65h}>?Yyj`OA@%l-mey7)r(U1M)bpq>WN;MqbW8$Y0=wn^3HeJ= z{TrlIRn(vOhs6>4##B$4^Wr5f@m_knaGTK3N*e7eR6_?DY5!YYJM0RW>b z>KJ|IDdv9{I~IAo8;1v42E4R+<~ZeM7*5bH;rIalGj+RxbD55Ylj7ICNxn>F1q^?o zUox|4*cc+s&S=?a$tY8#2{cyI)RQ8R@aU*A6-fAMkW{ZJ8Wqm3z%$?-_IO4d-p!m_ zJ9IzA@|jrP8AV|`f|7^g&IzL@Vv2CCix7MJqI0%Fw*#GibkgB9-x(BsDW7L^_$->2 zVa{&xc3(omZs>NR^Y`fdhD?7R5N?j=D=ebdji;WMTV(zSb1pD=9djt%J$v-#uhG1B z;`qAHQCBnSeDdS1AH22qLCYM=qA$xHR8PD8`p`nZ-rV5V(|@w}sQHAS_Ulb=klsSr M@7Eg^y5-OR0^b8*@c;k- delta 6325 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 0 || dir = 0) then begin - let nx = bx + w * (fst order.(dir)) - and ny = by + w * (snd order.(dir)) in - if is_valid nx ny lines cols then begin - if (gd.laby.(nx).(ny) = 0 || gd.laby.(nx).(ny) >= 3) || (gd.laby.(nx).(ny) = 2 && res.explodedCrates.(nx).(ny)) then - res.playersTimes.(nx).(ny) <- (dtime)::(res.playersTimes.(nx).(ny)) - else if gd.laby.(nx).(ny) = 1 then - halt := true - else if gd.laby.(nx).(ny) = 2 then begin - halt := true ; - res.explodedCrates.(nx).(ny) <- true ; + if dtime <> gd.dt +. 5.5 then begin + for dir = 0 to 3 do + for w = 0 to bsize do + if (not !halt) && (w > 0 || dir = 0) then begin + let nx = bx + w * (fst order.(dir)) + and ny = by + w * (snd order.(dir)) in + if is_valid nx ny lines cols then begin + if (gd.laby.(nx).(ny) = 0 || gd.laby.(nx).(ny) >= 3) || (gd.laby.(nx).(ny) = 2 && res.explodedCrates.(nx).(ny)) then + res.playersTimes.(nx).(ny) <- (dtime)::(res.playersTimes.(nx).(ny)) + else if gd.laby.(nx).(ny) = 1 then + halt := true + else if gd.laby.(nx).(ny) = 2 then begin + halt := true ; + res.explodedCrates.(nx).(ny) <- true ; + end end end - end - done; - halt := false ; - done + done; + halt := false ; + done + end end done; @@ -563,7 +565,11 @@ let bfs_for_crate (gd : game_data) (dgs : danger_map) (x0 : int) (y0 : int) (sti if is_valid x y lines cols && gd.laby.(x).(y) <> 1 && gd.laby.(x).(y) <> 2 then begin (* within the map *) if Hashtbl.find_opt visited (x, y, polar) = None then begin (* has not been visited yet *) Hashtbl.add visited (x, y, polar) 1 ; - if not (is_dead_all dgs x y ct interval ignorePlayers) && ct < stime +. (float_of_int maxDist) *. interval then begin (* is not lethal *) + if + not (is_dead_all dgs x y ct interval ignorePlayers) && + ct < stime +. (float_of_int maxDist) *. interval && + not (Array.fold_left (fun acc (b : bomb) -> acc || (b.xy.x = x && b.xy.y = y)) false gd.bombs) + then begin (* is not lethal *) if (ct >= stime +. (float_of_int minDist) *. interval) && (is_empty_lst dgs.explosionTimes.(x).(y)) && (* safe *) diff --git a/entrees.txt b/entrees.txt index c46c416..6f0a0e3 100644 --- a/entrees.txt +++ b/entrees.txt @@ -1,24 +1,23 @@ -85.0 -3 +157.4200000000005 +2 13 21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 3 3 3 6 6 6 0 2 2 2 2 0 5 5 5 5 5 5 5 1 -1 3 1 3 1 6 1 2 1 0 1 2 1 2 1 5 1 5 1 5 1 -1 3 3 3 6 6 0 2 2 2 2 2 0 2 0 5 5 5 5 4 1 -1 3 1 3 1 0 1 2 1 2 1 2 1 2 1 0 1 5 1 4 1 -1 3 3 3 3 0 2 2 2 2 0 0 2 2 2 0 5 5 5 4 1 -1 3 1 3 1 2 1 2 1 2 1 2 1 2 1 2 1 5 1 4 1 -1 6 3 3 0 2 2 0 0 2 2 2 2 2 2 0 5 5 5 5 1 -1 6 1 0 1 2 1 2 1 2 1 0 1 0 1 2 1 5 1 4 1 -1 6 6 0 0 2 0 2 2 2 2 0 2 2 2 0 4 5 4 4 1 -1 6 1 0 1 2 1 2 1 2 1 2 1 0 1 2 1 4 1 4 1 -1 6 6 6 0 2 2 2 2 2 2 2 2 2 0 4 4 4 4 4 1 +1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 1 +1 3 1 6 1 4 1 6 1 3 1 6 1 5 1 4 1 5 1 5 1 +1 3 3 6 3 4 6 6 6 3 6 6 6 5 4 4 4 4 4 4 1 +1 3 1 6 1 4 1 6 1 3 1 6 1 5 1 4 1 5 1 5 1 +1 4 4 6 4 4 4 4 4 4 6 6 6 6 6 6 6 6 4 4 1 +1 3 1 6 1 4 1 6 1 3 1 6 1 4 1 4 1 5 1 0 1 +1 3 3 3 3 4 3 4 4 4 4 5 4 4 4 4 5 5 5 4 1 +1 3 1 0 1 4 1 3 1 4 1 5 1 5 1 4 1 4 1 4 1 +1 6 6 6 3 4 4 4 4 4 4 5 4 4 3 4 5 5 5 4 1 +1 6 1 0 1 3 1 3 1 4 1 5 1 5 1 5 1 4 1 4 1 +1 6 0 6 6 6 6 6 6 4 6 6 6 6 6 6 6 6 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -5 16 2 87.5 -3 -7 4 0 0 5 1 2 1 -9 17 1 0 3 2 1 0 -4 5 3 0 3 1 2 2 -1 -3 6 4 +0 +4 +3 6 0 1 3 4 0 1 +10 5 1 3 3 4 1 2 +7 6 2 2 3 4 0 1 +3 5 3 7 3 5 0 5 +0 diff --git a/sortie.txt b/sortie.txt index e69de29..7cc0f37 100644 --- a/sortie.txt +++ b/sortie.txt @@ -0,0 +1 @@ +4 0 \ No newline at end of file