From bb09c5afca8aaf40a0dca63a1579e40ba0c2b1eb Mon Sep 17 00:00:00 2001 From: Lukian LEIZOUR Date: Thu, 28 Mar 2024 23:33:35 +0100 Subject: [PATCH] bug resolution --- images/startBot.png | Bin 424 -> 428 bytes images/startLeft.png | Bin 456 -> 428 bytes images/startRight.png | Bin 451 -> 393 bytes images/startUp.png | Bin 475 -> 374 bytes universe/Universe.java | 10 +++++++++- userInterface/Grid.java | 16 +++++++++++++--- 6 files changed, 22 insertions(+), 4 deletions(-) diff --git a/images/startBot.png b/images/startBot.png index 743e36ce86f27e5c8ca2f072a07583bdca4d4cc7..2273518e1aa60fd1d08188ffcf341990af03edae 100644 GIT binary patch delta 343 zcmV-d0jU0{1FQp(83+ad00168h_R6&Cw~%j000tn0p4aGcmMzaCrLy>RA@u(m`w`8 zFc5{~&k@`x2yVQP7jWk_+H<(`0^Y^7OTm>#P}GSTi4X&(GcqafgV3f6d7m#yp@aJq z*8_&(T0OlH@k^_1+c2#Y%Kx!PY7>g{CO5lvp;W%?sbx(lm#6sn)sigz-C~iLu76Sz ze~QTQ+a-upvtsX&l0Z@t1m5h{P#0NkcYbIiD)P&km)swOS|h2T(&1xNL?|!~T2lMX z+7G(t=NhPrumB5HD}qJ}KqEOgFd8WUjpX3KXrur%l7j=Ikpj?24i5a!MjU+(lBQ{z z_w_Jc_z^$TK&27lTO(Siim(6+X+VmId}&O0fQU69VhxB`10uF??g5b8)Ug$Pj%AaA0VdKMnSB5N delta 339 zcmV-Z0j&P41E>R#83+OZ005C)ALfxECw~sZ000id0mpBsWB>pGBS}O-R9Hvt*+CA1 zFc3yz^ak9R8+!zNghrwPI{(Z-T+G|Zg4!o^N}_Y>YLp-j_t_MDp^)5aereI zZ)5#o@@hHW&7~poYAw43*M5Q2vD;?muGDvzX}j z-nvv~G||p2f04{?qWvc^T_%}mpGAo>)kKFZN|8BCbjG5f%x9twi`+7|iTW&Z$RZ{( zu}G2yO=M+}Q5H9mz@n}!#YCR37(D76>iMLt)|xbp!$cky87K3Z$jPGalx`FGS#&aS l#6%$$?M@#wQQG&!l@bT7rLi&_hBpX5tQD*}NcEG30VW}_oZSEb diff --git a/images/startLeft.png b/images/startLeft.png index a40ccc3629c68fb891907561503bb21470b0d01a..1705cecc0c6ed6672faad2fcb068f702f1da7394 100644 GIT binary patch delta 343 zcmV-d0jU1S1FQp(83+ad00168h_R6&Cw~%j000tn0p4aGcmMzaCrLy>RA@u(m%R}d3_(T50_?&PG^_vuA9183`EuLeb_10Y^g6Ag_wvS#BFs=8z=a=UWM2+;RAj@=b=Rx<57P$CcBV7RvT+aPKTYYswRAf4gCD# z{(9=tobCCdD|ImybnGL$klz+-=Q(mc?!V2r<{COSfjg4Sg6QnX(7$YxZTXoa%Xy(o zbN(i~udHG$&g%%jdELy|u!a97nLq^*uP9T|CyalW%-b*aBhrA7sTmqxa6}pqA`J+U pMpQ!j9>H)V6kV>sk&v{xl8htbcZgpGLrFwIR9HvN*;}r{ zFbqY}!VEfNX51l^1Bv>G;?z!T$NPtigw&Sx)RP$$dOgnC%kCM0G#n2?O+V?qL!n+b7Qlxf?x{FiF1clowyU4Pf~ zRHbyR=e3-7VzD?T3tx-nywf$3B{Hc)>zBOqPQ^`wqgU3Nc%s#8rgq1IXxBiGXXTp+Er)GeipKm4Y81sOyL)@RPt#l)mWM> R%NJD^pG9>URGX8A0VX7`uVerK diff --git a/images/startRight.png b/images/startRight.png index 108a4275a90fa1b1323e6c53f1e3477dca9ec454..dac5643c85c6f8458cd2f031953512b90ad40894 100644 GIT binary patch delta 308 zcmV-40n7fw1BnBW83+ad00168h_R6&Cw~%j000tn0p4aGcmMza1W80eRA@u(mq8A~ zAP_~-ctS7W&XtGY940PYxb;|GLmdJM)M)7pG4rSM67uPa`TYYeo9CNgfNj=9j4{vf zXpA89VFWc5yNM8psn|}0Kug7bB51e~ZMYF_{4|1e1bb^~W7Y^tdvzs(V5Yh1E`KRl zn>n_T5sX|v zQk7!ngD5_=dfs-gN)Yc6vOY=+oXsvyBo!eTg?i4x%m(S{q*##bXqM;$L=I}x-r2)l_Ora_oVq`4vD62c3t)B~US6Q7%t GodG7U)QB|z delta 366 zcmV-!0g?WR1H%K583+OZ005C)ALfxECw~sZ000id0mpBsWB>pGK1oDDR9HvN*zJyj zFc5`d^bWXV@0d%#gKbD9t<2Y%`ul9zv4{wA3(o}XR4Xyv5;Jr%0fa} zHVa8)6Ike0Hiv~qveGmb>dMN%X0m=Xlhr+7Cr@j1=$GcOZXZMwSdxchHcR-xPGt#A zD32vKq0Z+mPouM2WkSKz>b||!gjeV{(O^RHtkz*Op@S8;TWw|&qI`FX#rK#HWw)Fr zL|^$c)v6@1R3?5T+?hI&vK#;qQ8NkP1BkMz9WcgfG9phydfOhSLIRg|~iwcz9?x>^;adKg0leGaRKHzuK delta 406 zcmeyybenmCBnJ}%1H;5v`DYUq)$92VGcfQSW;~w1B87p0G0fA&F(ktM?YY39!wx(w zfqrL1Ep{>HbI<7spBAR474q`0LkEoN65+u$WU5cC|^xpcPfDPa2)Iyh@WsUWmYDq$oXSnN& z_l|Y_9$TX|W8Ur)Np1yZ4eU+K!f|5E zP0fim!gDN*&pulDAVjF2_4tuWv3?f!X$FcGKVPVHpJ)Bd%EQSgZsmjaF?jV#=kSWvn|T(mJ7?6h%jz^1fvA&ONms5$wgq0V uKlkfUiez#4qR9HJ+jflCwuvVh stack = new Stack (); Situation currentState = new Situation(firstState_i, firstState_j, start_dir, 0); - int [][] bestGrid = universe.copyGrid(); + this.bestGrid = universe.copyGrid(); + System.out.println(this.bestGrid[2][3] + " " + this.bestGrid + " " + universe.getGrid()); int best_filled_boxes = 0; int best_nb_mirrors = 0; long start = Instant.now().toEpochMilli(); + long lastRefresh = start; do { if (universe.canEvolve(currentState)) { @@ -244,10 +247,10 @@ public class Grid extends JPanel { currentState = universe.evolve(currentState); if ((universe.getFilledBoxes() > best_filled_boxes) || (universe.getFilledBoxes() == best_filled_boxes && universe.getNbMirrors() < best_nb_mirrors)) { - bestGrid = universe.copyGrid(); + this.bestGrid = universe.copyGrid(); best_filled_boxes = universe.getFilledBoxes(); best_nb_mirrors = universe.getNbMirrors(); - printUniverseGrid(bestGrid); + //printUniverseGrid(this.bestGrid); } } else if (stack.size() > 0) { @@ -256,8 +259,15 @@ public class Grid extends JPanel { } else { break; } + if (Instant.now().toEpochMilli() - lastRefresh > refreshRate) { + lastRefresh = Instant.now().toEpochMilli(); + printUniverseGrid(this.bestGrid); + + } } while (stack.size() != 0 && solving == true); + printUniverseGrid(bestGrid); + solving = false; String message = "Solved in " + ((Instant.now().toEpochMilli() - start)/1000) + "s and " + ((Instant.now().toEpochMilli() - start)%1000) + "ms \nMirrors : " + best_nb_mirrors + "\nLaser length : " + best_filled_boxes; alert(message);