From 832384634eadafc1848449acb51fd5853ea02608 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Mon, 18 Nov 2024 17:19:49 +0100 Subject: [PATCH] fixed fatal bug with out_of_bounds when player died --- again | Bin 232550 -> 232798 bytes again.cmi | Bin 9919 -> 10059 bytes again.cmo | Bin 33523 -> 33789 bytes again.ml | 13 +++++++-- entrees.txt | 42 +++++++++++++-------------- iachallenge2024_bomberman_tkinter.py | 10 +++---- sortie.txt | 2 +- 7 files changed, 36 insertions(+), 31 deletions(-) diff --git a/again b/again index ec8f960e8743e4e0fa48d7b08596269acad63892..0ae4ef66dab891be776f410d3a9e9f66145bdea9 100755 GIT binary patch delta 1004 zcmZ8gOKTHR6rMXbjftiqwZ@Rdn%J05gY{9`hy+O{q$Q;lyYr1MbRk6$H$n{<7X^`Y z zWwrTDJrp$JGy6?-r^sH^9eq9`s=(|C@Z6)la|y>syRfU9C)Cv7YxZz0dgKV2e?IRT@Cd>Q_9Be`_ajZ(E0!uPz2n-O@Mq+;0T}sYnEl5f_wx7 zfCO*}7zR{vt*L5W4wcShb5Dl9Q#~{+vMjNBnm-?}LG!{x1?fE5Vc*+fpMY&-a|gA;Hve>* z_)(mi(ev0(V;H4sEPNge=l!y1k#d`~wjpPh zK^lU{aVZBO>DKi9tbFebMUCxe_rm9VgBPuCdmc6o;*&Xaxni3G4;7(vvL!C)d@woP z>@=_^O(I6aXaI5PbE}Aw&b4F=Durwct&!~G08weCGvbZTV?#DI1s74qrL?KoxU$_4 zzC4exQK9Aeb(Rv9JRf6Y;$@!4*io~d=U-TulIcgu0%?E_Ehue%DDccwxc|nL#OUWz Zu~EJJG5vb0suyM_CKW#MRtzn2{Xc0o#vA|u delta 902 zcmZ8fO=uHQ5PokbwXJAOt2Aw58nm{FSc95)FraSIR(mPp(UXWC1U-3C@UVg+;?F^X z9qB<3_2i)yDhnb#YCyz`h!;f^G*+m!DpE{c=S$u~b{9V8eKX(u?7a7WD*E|$^ui@Q zYc15QZyVgjnl)9_@7!wxl#F!7lu`!;ZTv7p`}t0RI(R8VZ~0A@#`)Q9in+P1REud< znZ6Zw{}pN0iky@LezKRIcFlO6*C}k90N*5kd0?fTogw$;5brj8SWN$;)RVmmZr!|6Z!8!pNSc04+z_(Tai#7PMmw$uB=R*8uh@TU_ zx}{d1;u)J(@ztu;dtks6ZWkL}ZZ^drXxd|97^wEU8N(om#am(@e@)ty(Azm_Q_^vM zHkIp*GSQ+uBC*rLBLa-%cY#eAo)(K=g(kHW9KE+igPctQXxjwsKN@`H$( zyITGpjT!43+LLxRf-O-)Kwt`8;jb3Rp~%wWGnpxk0C z)ZjS*&Ul$u*ey|d$d_it1xemmUy6saXP)aNS@aH$m+839^7%65^)8++Q(6zZugdgE xckL5lL4XgND7Y_1sW{&E=-$x}`JNMJ4_E%ws}py>+9QWX#}tjc=KdRG{|7q5ww?e0 diff --git a/again.cmi b/again.cmi index 532f6de0d76b61338d6c7aab01104f46723b0761..d0e795c7c74fe955c6fbd47bd1ee229d0d27d3f8 100644 GIT binary patch literal 10059 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 Sk#Qj4SLKL8|BvBEaQ_2Lmnjbb literal 9919 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 RgyKZ7;r}Z8KZYN^{trIR?%4nU diff --git a/again.cmo b/again.cmo index 6f80752237a41d93d6b44ffe9d1b11ab82ecd5e4..ccba6d7d57658d80fa38e30e83bd757a50fc4794 100644 GIT binary patch delta 4871 zcmZ8k3s_WD9=|`FVTKtEaCkbX10tXiqGG;f1{fG%c*uarOT<9IfKeDGO!Wtr7B_ z9j%DA#uMgtH8eiCE&Jqga5>&O#b?(K@*0nWuSNN-?Po3XjJUy`nP)7_yeZ3t`Q-e2 zIg-}I{-HGz#-wmJRO$een|FXRO z{eyfBaqgCHS0$~SK{AgL=e|bL;CCty`(1hH*u4MB^GcXwed~#I=eGEk+`{&jCypKM zTTvvEeS8Alxg?L!&aRb@wkVS0d=hECyCTWA#+@s7?>-1ju+4yHM3;IE}@Z zuw2?A7k-kuXTS#{a@DtKE3vdVNJ2_BGNIxLJ5Tw5;Kp@h41qed= zRSt&CgIVSAbnG>I_U3y!x)U>;&URP3?vPiljsqqdkTeoWxx~g06U4!KACGdE^0?GV zFjotpg}G6H6qwg>!vT|ECZ8me21|(WISH0D0j9u`CBQUT$PPvE6f7J3qDaVcwl>6y zAm#!yFz(kF*G(~$DCDTsV)k@&nCVZqPgtchn_;2s$YnV!X9buF%Vhy-V7V>8LS&c( zcnle4*3~>|?lQoP@j8qjK^~SX#6s3GiiM;T8S^Ph)f>pz#G^$yGDH_ zT^q8ZXijwoS;}R0;o`K0^AW#kI z0*pT(W+ah7g_uMD)E&~l1Z$U{e%n3$NnGCu={$_5V7x&jMj`zc^DxTbgfMUm)?QZb zOm@$LbO|x}h*?CkvlY_FePxSc1x6t|hU)~*L3S!Rz2C3Ed`KT6IuOy*NZGECSzI?u zsN^BLSbzd#FBH1>`W0Bo<=tF6hP0~`?O3k8Oej?#d$j=7$fj~p2(`$j0q6&TcGQlyX(*K7*Wo0h(Zw`1uHY7B-szzkzLo03EPxW*e6$Pj~~;TZlM; zh_A`qn+o}sm()DrvT5xwvQcei*^R~LOP0wUl7S-_*fw^La9&4egxZf0bYY` zKzQs$uI&0#U+8 z$SIJvBlr;nTS@0ph3sJN_BxAKh|WabNdb(=`%LK#fAE(!wKSM!m}pmPiXc6Y;9Ur& zXRfALA;(#)Yo2N<5tKu7P}&nnO#Gf*A)^Y z64X40e3OX4h5Te*FwJ)47qhFbQIQ8B?L_b$gwV@Y)1{CUGE!rZQ~m_`a?0JvU&lIE zgjN0<(k_H-MaX{A`A#8S_umikCc4DiAzv=RRpiShIE{QN0R?ak`IHWU>#(N^a1-`v zqIKF4kai>FB0_%lsjwZmwz8JoGpvmO-a-TZ8jtiLahj;2fQ{%A+7A=mFZJ&3*{OVNCM18 z!B8H!b^!_&3Q&iFbpq6*V7CBEP~c@bt42qzhx8IccOmq3vP+GV3GdY-?A2ATX7&n` zr%-TKfP*Nw>=)s<;^w+F4Q;*{FGAXf;aM17O}4&Ph?8O*&)!)b>7FJ`{11h4tUr7KcVo10C!N>$3c*UB9Tkb5EO}S1O=j~R4fIdNF)_B6h)+d@3SSD_qa+9 zjBnu}Iz0O^{6z#0e~TEM9>IoRr??_}*00ec;}8!l=pc&T6krRAD2#gsljQFp(TAYp zkPg7`Cm22;TlDgi$yt$O{}T}@QNqF*6q^J%g5qQm?LSexNq}=G_6TqR#V6RbwWi3M zkX}VtAi_*!vR@%Nq6NFx)=#B<*{Rk&jNR++qI-aC}g8#r(dQCg+(Q$HeNJcx#WWGbLjdB&-dX0 z_TsvTrjpY_wFV_}V6##3wZ9Fk#ZhV!HkL~(pt}P-y=io9J{*7lFeb>7;y9M{3!|%0 zG9W-X99lMNeZJzmzYn|Ep7jxKN0v}M2nTIVs`?f<=KI@ll;+y)BDv$zYUnAp?PSC2!}PVH zd=n(dl5$|p!q)q6xCD3^jt$hN6!AW-Yip}pQ@f(Y5>CT0B)sRo*>^dqd2u~y4&@Ev;};!L{hld-dOcX&)10Z`|0Jij*QN>|mnDIfgUW%j6t4)dt>V?63Ww`ZGbJmDujw6W-ZgT_XWT2pT3*Z%=y Cn!MTo delta 4780 zcmZ8k3sjV48vdVghT&2&I0(py+!2)!#Vs*yX1ET_a2rrAVn~62a?xQ_ybhM7yS2N( zm*sA@jwdTST{O^hY?o~IoI0^5D-FwPwal(o?rP#@rn2w%{qy6%96$f(`TqBPzUO3EF@C{1%{q36X+HbOrei0}3;VlGFY6%noYeQn*pI5zO%%?~l@GWMjf{*05Sc}T zf1Vu2H;vSWvEQf@6Ln3@a?qcQ&16*ubg~3&IWn`p(=nn;7^OrY`Te^^0f9Nu9)mD3Za(F6}j@LqWk=czO}=8d_N zovn;EE0M`G!z0qYS0$47Mh5lB-E`$29>WLUH@~K_MO6rb@6Z&l5_53kOn*MLvHEkuH+{AuI3nfd5=El0_wh~kiv*?<8_5VP4 zAHq*~)GA0azQ9^*7VAA|h(m+bqc%V#;~Mr+jYI!7Rzzb(fk$nEO2!qedYM!IAsT-} zQ=CWL2$hWIvM-mF=ue~Rbu^v#sJB5SvfL?-$NycP1XPI0~h>4 zCB()dw#cJVF92k+gbg;=hpG{~7qRcsjirE0K4hkq`Jw)ZGaxRHZgc`NDQ3^C>-e8W|O709OtbhGgDE z4wYLRtj*osvsyW{*fcKmF{B|xzJ$mjBBvGdv6(AT$tk}NIW<1{Yew_u@cf@3okHYk z7$hPW6*7VHUC5y}B!NNXbomH$j0&WafFFIgd<;V>3`>YiP)L<9K&M0bpCf0#PrhR` ze=g6Dfbvlml# zrIKCEvztWH66CHHpbEKEF0xRAT;85@AEX~jwbXUB?JH_KoQ~$UM&uq45f37-oFdd( zgUA z(k%dkWe@XoOmX?W2k9`v?m-y$^u9tCi==ZR_Bbrx3-B^5!(zqvkS{NN0{Mr<%nM#BC~&d>=koBmkp6^; zD=={@<)ka*1nY9vnU9K``6%!R5P^c@%GvQ3LwR#+L(GC0>UymW(w{ML2orxKQmBw? zEN<<+dU0ynMihuGYx7WWjjdiA9%z$%yIU$9b1$kPw7()I{kge_TsOHkR; zde^7S4u`Z0x(Mjzc{Kj?^&pcBek!*4d}sb)u$jab{|B3mx8QRBG)PZDw*n zPLU+q)qgf@yG3>|Z2Nt-Mepm@2RdSsX=nafkp2SQR_N$`;GeCK7tAJR+BTUT+@NPS z)=$3Yl8~u}?V11!P^jiR@L!6;N&)UiAr+2h>QMNE0QD$5$}FAH;Ts`64c!oQ7ik4L zQ9(kI=m_SqzRqWJ28HAx3Qq`d0EK6Kyv`_TsoT)t@VY$%=^2DZ;ce*7)xbqyg>r!x!Q}6PY@FFGckIw1e-KNcGkajV-WNQxV3--C_W^>P81KY zJ)0t?3_#k4N#9}82&K|%QV@N}=%)1S>ZY(%ok$u&NrV9XC`k|&PoZS90H;y1TY%3{ zGQcu6$An*k^eps7=&MNhvO>D3@;#~4lRcWiWR#o|z#k=444O$rX^8-HP+HIB0y9zi zIGevEKHe;KB4`hSUiHwV7r#R-T6$C@5b&_ATf$bBN*xFsLLgNl(C)?8Z$BzYMaA}V zON@9}N{2;i1xjxSa1ZSMK4nhIF_)E#Copi8M&x(fD6U(t#j z#n)b!v<^X51g#`hw--BnROL`vwMB?M2Rk(tsXhXGm#=DBdA`jitiCR-N01Xij70zL z#ZUW)%8^3UWq(45y$L&YD5>s+ojQ%BikEPm!%?@Pwz0v9vJ{$Bt5LRa+|3StleQ^t zE|>jy-!mqZ4bVh4i%UyI*;^EoCRA5A8akS4+uLiK>#?Yu>dt>`ioe8C?G4Vgj<)rz4%+|m~!FePL!M22d*iuz?)JH==)Lo1I68vvA-XWv-sMPMrg)+ z4Bg#k{vxD_F^^O;D6u dash - deeper analysis on pathfinfing (~DONE) +- correct fatal bug on player death *) (* ---------------------------------------------------------------------------------------------------------------------------------------------------- *) (* ---------------------------------------------------------------------------------------------------------------------------------------------------- *) @@ -51,7 +52,7 @@ let default_bomb = { } and default_player = { - id = 0 ; + id = -1 ; xy = default_point ; nspeed = 0 ; nbomb_atonce = 0 ; @@ -138,6 +139,12 @@ let is_empty_lst = function (* ---------------------------------------------------------------------------------------------------------------------------------------------------- *) (* ---------------------------------------------------------------------------------------------------------------------------------------------------- *) +let get_player_id (gd : game_data) (raw_id : int) = + try + Array.fold_left (fun i (p : player) -> if p.id = raw_id then raise (ReturnInt i); i+1) 0 gd.players + with + | ReturnInt k -> k ;; + let print_game_data (gd : game_data) = Printf.fprintf stderr "--------------------------------| Board data |--------------------------------\n" ; Printf.fprintf stderr "Time : %f\n" gd.dt ; @@ -288,10 +295,10 @@ let parse_input (str : string) = if debug_all then Printf.fprintf stderr "Players\n" ; res.nplayers <- int_of_string (input_line ptr) ; - res.players <- Array.make res.nplayers default_player ; + res.players <- Array.make 4 default_player ; for p = 0 to res.nplayers -1 do let dat = int_n_of_string (input_line ptr) 8 useless in - res.players.(p) <- {id = dat.(2) ; xy = {x = dat.(0) ; y = dat.(1) ;} ; nspeed = dat.(3) ; nbomb_atonce = dat.(4) ; bomb_radius = dat.(5) ; ndash = dat.(6) ; ntraps = dat.(7) ;} + res.players.(dat.(2)) <- {id = dat.(2) ; xy = {x = dat.(0) ; y = dat.(1) ;} ; nspeed = dat.(3) ; nbomb_atonce = dat.(4) ; bomb_radius = dat.(5) ; ndash = dat.(6) ; ntraps = dat.(7) ;} done; (* boosts *) diff --git a/entrees.txt b/entrees.txt index 4d9cdc4..eafbc8b 100644 --- a/entrees.txt +++ b/entrees.txt @@ -1,26 +1,24 @@ -107.70000000000023 +168.2180000000007 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 3 3 3 3 3 3 0 2 2 2 0 4 4 5 5 5 1 -1 3 1 3 1 3 1 0 1 2 1 0 1 2 1 4 1 5 1 5 1 -1 3 3 3 3 3 3 3 0 2 2 2 2 2 0 4 4 5 5 5 1 -1 0 1 3 1 6 1 2 1 2 1 2 1 2 1 4 1 5 1 5 1 -1 0 3 3 3 3 0 2 2 2 2 2 2 2 2 4 4 4 5 5 1 -1 0 1 3 1 6 1 2 1 2 1 2 1 2 1 4 1 5 1 5 1 -1 3 3 3 3 3 0 2 2 2 2 2 2 0 0 4 4 4 5 5 1 -1 3 1 3 1 0 1 2 1 2 1 2 1 5 1 4 1 5 1 5 1 -1 3 6 6 6 0 2 2 2 2 2 0 5 5 5 4 5 5 4 5 1 -1 3 1 6 1 2 1 0 1 2 1 2 1 5 1 5 1 5 1 4 1 -1 3 3 3 0 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 1 +1 3 3 3 3 3 3 3 0 0 5 5 5 5 5 5 5 5 5 5 1 +1 3 1 3 1 3 1 0 1 0 1 0 1 5 1 5 1 5 1 5 1 +1 3 3 3 3 3 3 6 3 5 0 5 5 6 5 5 5 5 5 5 1 +1 3 1 3 1 3 1 6 1 5 1 5 1 6 1 4 1 5 1 5 1 +1 3 3 3 6 3 5 6 5 5 5 5 5 6 5 4 5 5 5 4 1 +1 3 1 3 1 6 1 6 1 5 1 5 1 6 1 4 1 4 1 4 1 +1 3 3 3 3 3 3 6 3 5 6 6 6 6 6 6 6 6 4 4 1 +1 3 1 3 1 6 1 6 1 5 1 5 1 6 1 6 1 4 1 4 1 +1 3 6 3 6 6 4 6 4 4 4 4 4 6 6 6 4 4 4 4 1 +1 3 1 3 1 6 1 6 1 4 1 5 1 6 1 6 1 4 1 4 1 +1 6 6 6 6 6 6 6 6 6 6 6 6 5 5 6 6 6 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -2 -11 14 2 110.22000000000013 -9 5 4 112.5 -3 -8 5 0 0 2 4 1 1 -8 15 1 2 2 2 2 2 -9 15 2 1 3 2 0 0 -2 -9 11 0 -7 14 4 +1 +3 9 4 169.63600000000093 +4 +1 8 0 2 3 3 2 3 +5 10 1 1 4 3 2 1 +5 10 2 3 3 3 3 4 +5 10 3 3 2 4 2 2 +0 diff --git a/iachallenge2024_bomberman_tkinter.py b/iachallenge2024_bomberman_tkinter.py index 14a8bfe..9319f02 100644 --- a/iachallenge2024_bomberman_tkinter.py +++ b/iachallenge2024_bomberman_tkinter.py @@ -443,7 +443,7 @@ def execute_evenement(evenements, evenement, plateau, plateauCouleur, bombes, jo TAILLE_TUILE = 40 HAUTEUR_JOUEUR = TAILLE_TUILE -LARGEUR_INFOS = 1100 +LARGEUR_INFOS = 800 COULEURS_JOUEURS = ["red", "blue", "green", "yellow"] COULEURS_POWERUPS = ["cyan", "orangered", "red", "magenta", "purple"] @@ -481,11 +481,11 @@ def decision(programme, indiceJoueur, plateau, plateauCouleur, bombes, joueurs, for pu in powerups: print(pu[PU_LIGNE], pu[PU_COLONNE], pu[PU_NATURE], file=entrees) if os.name == "posix": - os.system("cat entrees.txt | "+programme+" > sortie.txt") - #subprocess.run("cat entrees.txt | "+programme+" > sortie.txt") + #os.system("cat entrees.txt | "+programme+" > sortie.txt") + subprocess.run("cat entrees.txt | "+programme+" > sortie.txt", shell=True) elif os.name =="nt": - os.system('type entrees.txt | python '+programme[2:]+ ' >sortie.txt') - #subprocess.run('type entrees.txt | python '+programme[2:]+ ' >sortie.txt') + #os.system('type entrees.txt | python '+programme[2:]+ ' >sortie.txt') + subprocess.run('type entrees.txt | python '+programme[2:]+ ' >sortie.txt', shell=True) with open("sortie.txt", "r") as sortie: direction, b = sortie.readline().split() action = int(b) diff --git a/sortie.txt b/sortie.txt index 4a3b60a..7cc0f37 100644 --- a/sortie.txt +++ b/sortie.txt @@ -1 +1 @@ -0 0 \ No newline at end of file +4 0 \ No newline at end of file