From d0cde0beabddef501bd4261ea11a920b762cfe1f Mon Sep 17 00:00:00 2001 From: Makrellka Date: Thu, 9 Jun 2022 22:24:46 +0200 Subject: [PATCH] Packing stations refactor --- ForkliftAgent.py | 4 ++-- PatchType.py | 6 +++--- img/door_d.jpg | Bin 0 -> 30818 bytes img/fridge_f.jpg | Bin 0 -> 23795 bytes img/shelf_s.jpg | Bin 0 -> 35903 bytes main.py | 9 ++++++++- 6 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 img/door_d.jpg create mode 100644 img/fridge_f.jpg create mode 100644 img/shelf_s.jpg diff --git a/ForkliftAgent.py b/ForkliftAgent.py index 502bdc6..b2bf5f0 100644 --- a/ForkliftAgent.py +++ b/ForkliftAgent.py @@ -102,9 +102,9 @@ class ForkliftAgent(AgentBase): packing_station: GridLocation = None stations = dict(self.graph.packingStations) if i.real_type == ItemType.SHELF: - packing_station = stations[PatchType.packingA] + packing_station = stations[PatchType.packingShelf] elif i.real_type == ItemType.REFRIGERATOR: - packing_station = stations[PatchType.packingB] + packing_station = stations[PatchType.packingRefrigerator] elif i.real_type == ItemType.DOOR: packing_station = stations[PatchType.packingC] diff --git a/PatchType.py b/PatchType.py index 289107d..96a4c05 100644 --- a/PatchType.py +++ b/PatchType.py @@ -7,7 +7,7 @@ class PatchType(enum.Enum): item = 3 wall = 4 diffTerrain = 5 - packingA = 6 - packingB = 7 - packingC = 8 + packingShelf = 6 + packingRefrigerator = 7 + packingDoor = 8 divider = 9 diff --git a/img/door_d.jpg b/img/door_d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ade864e8569923e418084b32179ff1ee0a2bc69 GIT binary patch literal 30818 zcmeHw2Ut_v()JDrK>?9o1fqx(5mAar4K}JsQ-UBwMWu^0L0UjWl&T=0bSVN-B2q<2 zq=Sky=}kftX$cSrr2X-J=iJ|OulU^J`R;dp49_Nc_72IOwPww{^Ukb++DH8e?9kQJ z(F8ys5O9I^15gKn;{d}J+JpYfZ$<_NMkZD!CNP+32Q$l7R?Zzd!M*FBeo$Wn>`e5Z zXg?qkfQ}tR&kmy20}ucJG0^Vz%MJhb0MXHJVPFI^ZQaI9dqe3CfDS}YPe;3dngFzS z`_ZlgTi6*mb{{&*$Z2#DEaJi?8~ES})1G5RHQdG>SW&r4uD7;sGdpK)efi2&8(TYjH+PR4o?bV-gKh`k3AuYOG&<&C zY+U@K#|h~fnORS>b8?@(C@v{2E3bH2SzA}%(Ad=6@}{%vLw8SaU;n@uW_)6DYWma6 zXWY{A3VwBsu)gs{E)YQfKVtn=vcHjwohBC@ZCbW~zsLom^Q0a0>{}RiA7bPSC8U#KI)078FCF+F9Vo^pTeThQC@ghYm2`3p9*WX!FWiI4fnsx2bw4-dN!xdpm1#Sm$Qh}`}6te7avtvTT6^Rti z2xS&3!1BULVckYAsxbh1HiOWMO*gqqx|vzDnn(o-Ofv|j*dExKs77yVx$8iDfxm%C zZ0PeVmzX{sZIqzLH_8Zm9lm+OkPuxnv_fZO-c#8a>)qg_u=D04kFC4J(2#~njQT`X zl48#NAX85Bp500zW~lI#SJwm)<^VZp`I4F_ocKB3d;AUTvqDx{ePy=Ex6)^;hvPG0c)%xAgc;G+-Wa#LUPSr^&U{zpQ-~#7HPsDgdQL4=Y zpb~qbs2K9NQP(6DfQu6wA8Rmh8U4_MSyO*67hrUf3wWuNAr>79m`h5eF|_i3d3nAg zCRA4f$el+Xm>YdpQW?jHk9d>XnU)@)62Xb-t%tI`kDj4Opj6a9w@N-hh&c4BDiSaH zp6Dv%nq6H@sM5}K+RyvUbA!G4vuagHu29#)h+9tspw@L@jpmv_{w=PoV&gsN z1HMwYQHW4N(ALM3w@PC~(qBXi%#N z$vLlSOTS|A8d|DVM+JD8=J1a#j-qxQIKb9CKX=lnwV=BI|E$f%O{o492o@1U2i-<; zX>+MTYG7r)*eJTm?e_{!^*kw8%Wr)t=oB8G#Iy-NXqgSQlv!CHiDs?5eZbVU9QAdw#WA3G#l-dZ1#A2^Q*fV4-x z6i&|TL<#v`!}ZqrbW`4b$b8k+AEakqVP4rn>KZKQa0{*5uW7HnqP^h%96{0)@ zHY7pKS^qoW{=Z@^er*G|W$(X%W#_6r6Of=U!phVeaFLXIVvMmP>DY*x%z&gOMPe$HW!ThusX*?wtL-I0Uyb>o3Q<7cQN1EJVtY9_axBtnvg&Lma>70CCM|B%*EYA3v0CtI;BVjWlBhLa({KHUf@ zuuBo?m@iEho;i?TXsE0mqLjv}{NFG&7)DUTZa(BOtYQrn*y*d;RVY&>b0Pka#o@-G zv700ZB;*CUku!=AeGEEZ*$%$bVMX(gEP1#fO2Bg}FpAHh@WaNzWY9$_fS%P5-g(j| zo+OKGWZR&lc_Ktl6yXXy9J0a?LZRVhz{`ny0giox=7WA>W+PJpbLd#C|3O4M4}?f5 z0gaWwULxxDkuFeywEfUEG7XjAIZL43mWCN(apPzH?&{eg#8)Gcu}TxWJXwH!emWGu z&KU)4m$T}UnM32^7kF zbjM)pdp^PIN4X#0#Cl>*-lm*w3U*ec0xw>2fnIk+%2_J31^C)I$Z09w@c_nicO0U` zCd!2P9^LLc%xrkdL)!5pVju7(J-;P;v{ozeit0_uiX$`&wkzn?K|fYt?>~u)nJYdb z?d5b%0tfVcJYT0q4rJG{I>`^~YE@!~-v-KyPSg#$Qh{KvV2N1`$n(kr`e@{t(CI*GA-~0?mnqh~C$fv-l|cb(K{qD)2z@JQY9&lJaKR zJO4Esum8+DN4~_6-nW7ZRG?!|DrDv39!-^oo>4n{pWUQGLy$aui?rAGxRsZ8LvXz}a?YS&@oGoaIa}C^ww;%wYO5B_$*~lv8OOH{PsN_* zkqm{=$^Q2{-83N4m5X%y z#Fd6037`VXnIa4utjs(NU-UpCw>-q|6?T+cyS zP*yifTLEU*XbY0a8f>(a0MbJ@Ke95@1B7}*Hz2F-gju(bLRV#29F}zyLly=1(T(Ef zCdgy+aFwZ)5MUgQ^EL#}U8%0;HN_1L>J}g07oufy|MkY%P(teJ1;WDqsj#u>Fyz*9 zw+QtGQ(`tT+)qtv-f322d-?-2MP2hh1+q$o5(=n*XktAA|G9ghmm6n6(NVlh1!lW* z=$HI|^Xcn|-WCe(sUhej*EbLF5EUqblkQbclYQAH;bxJsOP+HuDj;(0B`u1kUx)SV z$@-zulcut@nxEaUddkY@gKSo|^x-(?Iw(D1q-$boQW1_k1)cfg42{o=YWZ88|msY@EW0oR-0|zfgM543K+jUKlil11H>NX&Ip*#fM z+L0rjnO#*nnRPdJ77kBpJn)bB0BeNO7V70z=el{9d@t@nlP=Bk1Bb|SdY_=x8W3qC z(*yYn`>$n|R+mSQVB|{2ALzbFy>2gEm4wq^Nq>m_jw)quPqw3lOj|D|n2AT)UOv>a zlTj1Qpp9&Y_an#8Td87~2=IDdkni#AUEAIv#;4Q+$PUXN4%G;k7LOs>?NOY#y(#F7 z^YXkmB8AL^Q8cCs&fCkE4FhBIFo)xDGOt%F=fi?4wsCxBnP?LCUU*>(`e3O1W0{S= zgl9h>3?rugt@T5lCWlgi3H@H^EX^lv)Vu#FQ3-vi92#7p9tz;7Kqwj@3E>X(=*5>? zDw@|UE$-$U8l4a9K`{`*u;mS@tO`Lk$i9leN9&4rWuqg9R*~It?~mjgaCq4q$6X6M z5QSk?mm1X3+*Ub}OGB0GOv83kpPVBh#gRztD#i&>XD601*65g=A!{*R>;r47m~Emj z0JJt)V1HS71`zioms9BhYMviq4GzdV>gsoHW{PW~E(%Rp20-hc?fRW^ghicz0n`H_kn@xj~To zipn{IEdoH~cYq56cUJl=ZwjQ>v9#duaqi)yy#3dJj+ zgw4@o7S`~-M(BgqqG(VMfz$HiH92?^ycpUbh83@uSV>$j%J}?Fh$PSJe|WW-ZK@<@0F=j|ZM# z87~5t%41#NrzoANbd%U?1v23z1t;{;SH7(*G)i5#5b*^0ILaK*-6VSC5;Ugqk$O92 zm761tK1`b3P}tBRD*B#^YNEwuA4{qp30dn3pJ++ZWnpk`L?1pAP_49>fOif^-7!J% z!JTeg(m5wT*u%4C%QmuQ3?V|}4XJ=qdPb=2bg8EDADR&;crkQtcz2{(pUtk`DP$Ad?f6kyP<)3_Cdo~n<+DlUJMC~DnEZ0>&beK|(FMk+$>ApMkR6BTbt1+jiwNVch z2ve2L_mXSiMG5t!*%lU@&m9jDdgLQe({##BW9vytzJ|Tu22{@)%w&_;oA;FNv${i*XAp-yTW(>zk zmXV=HbEUz9f_~w{QM9~Y+Cvk!_bQ#?<1q<<`9CZBX7B$2Od)6u`nSP@Z}J}kD9nZ{_O>)rWH*g{|N8ebs9Z1$?% z_xQyEGt}Eer8u*}_MmeQGh#F#g(J*3Ze%ElGs|K1#a52b!)DJZtLo0Z3hf76nj3tJ zh=PO;Je0v+n6vT`ZmVb9k#T>}#HyW`IO zE#a~$X`w#-H+UWygZ_g<-*oYRHx~b1oW9w$r}JMBUOmnrWIqWurlwan5WP@_x?Mly z-sS>-h?2)PEC%`7DmxtTL1U?R({QjleYSIV3=Xz9hE9{81M;B0ABE3;4qWy-KKuPy z>OLWAOv-tuuSz#b&4uYfc5t}T{4TH^X}0iMlCcL=7a)0lSeYp)uv$Jm&W~KafZx52400HOUUB9^)IxF3Iy-%$_O%(_!(2ZNa`Y_$Z9qrG;u2ps zdT;aiwp;%vo$ycQXule3^_%4UDxMS(!YPlO-Lh~y4)CcP$Jg?ftH?vv+1_LX?f{KY z3@+6ddI%}AP~GEsD)u$91(@s!G)dS#e(sIqzozOtEW;LsDY&pIRQ#Sg z)9i-hp@oMhrwSRhrCPl`&U8z+PDS|GGM;Kz_1ehg0uiP(w+cUuEyon>U4ih~51a_Q zQ}WWQS?y)M2`ymx25)@YYP8^RDDYVo{H*l}>3BO{>gKkGuOd8ciY~A%BYT=JpSuuw z^1^WmB_RT`ksxM!KqOgx#Zl1jXsiEol63b@bAsMjfvM)ma{r#9wY2T;+)mPG{rg$x zpVJfm?h#2Xh}Keimks%w*4;>ihrdLzOfv@Z_s5akBWWO+Dk>FWRH8DO(aL7 z$KhLrV>c{_r)P{lLjnA&JLgNI@5L|Eq2;5FetS`U`DD0}f1`4=x$mhS$19G0h0R-p z$BN+xdW$LVDueoc5$zYj%|=_dKESh@davUwJK%)N%%zUp<(g*n)Vi?|cGJ_KW=#p%OD9(|)1|QPfSY<}N8?>pVfNX(4-lY+tia8z&FUKr94VGVY~+3} zN+|<0cGucxT9tSC7=HZ&O32nTTeQXgv3TF5%Fty*pr_{AM|kkHbLG4xf)r6$=C8^6 zUic15;^8M%&o0ZX#@%ip9wkJSaW9Lq;%R)O*2pY8DYev{qXCDSnK-}y!5z4ZhVVC0 z#TNs3dVW?v+ok~UPoT7VzV#$R3D*t=>z9a$_}vuW=zZQBKxrv|Vd=|W9!#09%Ho}| zBLDj!@F&IUUvT`E+4bJ(w)wmHXx@3f-G)v_#L)^HtX(+dZK%`r3=A|xo6kD?umQ47 z10vP2N#UQ#D-*ln9QqadRmGP#DeR+-!@H{np!+t=QI_N|F%I8@J>!eQY2c}s$ef(- z>Bv8H?d!Y}%;9VMmd4idTP=gh?-kygPCdkp@`pSltY!2MH4fjVczzTkv)SjwVpHdz z(<(NYIqRazCn;?gQwc(T{ctw_LHN>PFNdgg4}ZkRGoU5?&8(M78e`&VsJkI}7+s`D zib>@_^qoYkSo)d3rTpthmrncYP=SlIB8LtSy#Bwa4;*P0-#nuyG`}=yT$QeYs1fMs%8=h@YVig^q2~ExJ=#X z(qbw>SZcwoxyitsV6fUpt6Pp3LleP@l<+jRSldmu0Z2A2ggU8|0)B%;PDG0mPMmz3 zR?Kv=w_9PUe2$iH5uL6_tg^$&yzn#ae+Q?&f$hKhp0CZ*PeG`E1;0R#W}2)@v5@&# z?=>ioeBaK6!TvdTLowW+2%Gktckzu!2(av{INZ+Ef|my^cYm#=U%!^#D`O83M^~l8 zWon17G{Ml*lyzi|)KpvFRM#98U_$Pt0x4^>-FUhir#HE)Xo?HW- zeACa<*gBB?>hJa7w|I(G=njY;NV~zk7&`$ec1ke!Z$t5WKo#o6X!~&e*sajN?AB&M zAniQUq|jyYAFO$Jv~U-Pl%k2LCwEZCBi;e6CFDj28qvKwvo2g|ZR~rR^uxBk((|LIYE{%LmJy(#CNL zpYZQ|p~XCq?JFvlSvSnHw^$3p41UekcjjulbyH>3s#YD@*=WSD!G3y~k5alWuS1yKPZZu^Yj8^;CQ2hz^``&jhn z<~`R3S1Y@zKrxD?;3-CZ*k#hXx7z=v@EIRkEnXR_Wc%Z>`7KA@yz6DDrYuNd8u?m* z!<%V9b?T~3*TC91CGfDU^!c|dok_t3sJ-Q-ZBpnJ6KY}VS zaWU1>zku|2+;ZmCZCQ^#Zr4d;YfBwuHnpGv;if$g%8cK)8ivz0vbs7htX7O|q)PmMZwYJS{zNFwzlm>I2RyHdfJ7iXrrw%)X5=C~j^=oM=8@win zUEb$x;}D**-T?S?PK!f>l^^(38vlZGn+DizNAeL|_Uv{kJGzmRF_-Eb_SlTtH8`Y{ zVyHk#Pi3Xd>tsug@i#AD4YHW2rrab;&@Ve1SH&B4Uqjkl>eQD~ft*jsuitSmo7Zo_s zb-}nzdgyZCCq7P69=>d3Z+Y1rre1r^z%$$XxIp{x@+Cn9zn0!6<4uEhJMhQ|s1uyy zL|q+)=gukpoeJ-ssoXj!HHX5l#}Ks$85EAxNP((n2v6%Ug_U&)`lg)CA|@YWllbh; z0JW}F)Ap%ub!EG?JhsOSx8$QQ+wk*23j80ynh-?>A(?l&>ea;_sOv?P;mV+ut`2iQ zrc(F6a~I1W64>9Y@JP_;7h(l2cy*aa)r~OqDBKgKO!jLRMt*ZG{JXg9XNM(MZHmg7aQs9$7*!4Wj9{3)bAScYz4IX)#EA0 z)%`lp?sNw5}387yL;O`}Vd%|Rrt z+PP%NNj1mhHPn3L&F86|DmvE+McL~(;%`_70LV9sVI#8fO{v@p5uOjWK5W=F9gx?= z1)82lp6@hHsWSfdNb6SHNuC7EyXLY#c2x?X5a2fityAN-8ZdjBZVYo?$J|zJ{>w0{n{NkVGseZ~C z%^cP=2_LtIMS<1N!Icr7NCu@gGevkbBWykyCw%(z`t~L(*IO{Ld~YiYxqwl|F(Jf|&lo6HHuAh!M=e}vH663WD!K?At)IQOF zP-h@;ll*Wtr@9h2R(U#^!(t-o*eKQhPmT*5=Qz$+tNBD@m3x_{1Xx^^9F}6h4L@2& z1@yIORkssUo>}M&3((W5@>x}U{vZ!xICnX=we&)(ORgeZ3-pRP>Waj}7 zr_&y{-uK9fMh*uc-%)`G8Xq9zFG0XKWIc${DzO$yQY#`aHdZUHCJ|=D@8S7JX=!MF*b?0m@U}-33*DC4q=hj~yFy zS<;iZX(6~zhDHy#91j*p+Y<*@wF$NqVQe@>u3NecZjau-yEpc(E1&n(0QKlDccQ+y zUTN3slp-S34l(Z|KSA4i`ARw|2375JkC~Od70b*c!)S&szlNbZ#5+214@(>rT~9(nq`He?gKjtt4FbUoy8 zdX^P-J_{o7ivfdUPX{tkX4D;NB`bXiyZc<>bT{ zDi5hmyRZ$r*dIR@=EXZUV80QIYK5E9=^UA~{+zLd^m#q6!Thgat?&KKe?79!90H~u zya$(F@XBZy5yD=J5X-};=}PVNs*$R`Grejw)Xq5ZLW|2l{{5Z^M$G%`T(D-iFcq+C zE=aG$BI<~NqH`>s%AvxXAH=I~rZz?mSe(a=w>}|U%PQCk6w zp;Gkm-dPQye3yKe{Vr)I47ty^113d-r6M-AZCsy!_(tXbVnCNXW6wVs%J(jwQ`9I@ zPsNG;vp%4g5PB|-&&n=Sdp!I~@_Rrya}~)?2qxbNXVH`E9Q=KIl_shzfu1&7EDz}5XN4e4VGFu6r})+I0!EmWI##{-)>@ z-t+(+wcOYht+{Tjy|WPE8I)u8@WdwpH^#b1@t7AhT6B;KTuBXL9*bc2b;B?pQ}Cf} zde_teA8hm)FH*oWb|iIOiV%sgjyTpB`WIFCv?(RKS>Ep-Isa$XNTG|)(VAzdSVC6* z(w%`7kp3$B{EwBWaE8j!5|CHJX?R=APLXB28c+^Bc3m!1j)sj(jIV~{n!Y$wqZZXe zl6HGf7`5zw4bs@IrY}@yL*H59WP@3&a{|A&)N1Hqf6Hrj`>}JD7y2IBF^ZvYKbGLB zTZyhT364HmCPr&EhG$d92P3^+)v5EnaA@_kC@l*1$K7Pq8tXxA!P(4P;^gX&j(25; z9lKZ2fE0(ASV`r11)b|f3NM;{papPXB7_Aym{E^taq+_o{R7EGn5tKvY7)(Oc>tqx~5{z+h}!d>$YVzsg?2C5&q7q-D9uRz?$Vd1}t_N1x7UWyoBF|Gnb48qnLxVOPLi& z0cykVl{^=~Wey#OpSQIp(HcSKxGGx@b|!0sgl?|=fKu^qrPh87o^2)aAexg4Sv)Ez zvG@S)b?C>%P%C+?P*P6{f46!QSL@5hp^4tpP}{|@-{Eb>MsT@Ox?C|7c#@=xi zZmB)RSyfd@Qx3V8sld$^+SlnVhC^BMciHX5#XTa7JG$L*ep6Acx0*rFdwNIu*?EIV zs0$AUVNU8x4^Su2vdNBUI*kw_?S7Swu$%**#5J1oa*fZynM42LxDi zA}!+ZDJ&wIkj{P3%PK?)r|z7-o3SNuCSh3`)`U9LD<*4iC5pPAa=QQVQ4*-oDqbEW z`a(zUvDkx2H_~ZWgYi>sLUtwJCJMg=5>H!Itz;u^QwQPSC5bC&CJ z(F$F_e!Epz!qW`rr!!djHQ08JBOfjo)ApE16QLxoQi9D`R=0w!F`V5h#}3ZF1j{ix z-!?akW$dk~bV7$$nKJYOlPz!z@(7h|T$P7km=$X`78lxSFN(r7;dRsIIXO4xCtOm1Me` zvA=!;HViLD&&{(1&!^#1!{<#cFP&v`vfI^M2Bx*VvCsDfk&~QMAeeN zC$lR~ZnKnbKiPS1`UmlTbl-B*f5y4E=%hn|0|A_ZA0E_*zQ{M) z9j&QycE{zSRqg=-?-)GXU&LP0d5nC(G~hwy)JZ9U$Z56N1w=5k*z>l(a1-}xE{B8p zh^$Sln*e0>=!^zLm9&!_uMoxc)(Pn~qSz(x7-Hd8UmSG|dIvRuUA(gb-}b5f(+2D9 z8;4y0y7Y1Ni8Y1%jD1H0-80I|3xIt~a^WUL+SQV_e+usYTWtPgaQHt4tpC++f7P}% zT);zPOt=eK0#t`AkoaW4uh!~;VkbC{!v!t1*h1WQ=2e6-*wtR#vnJk&Dj;|gh0OYO zc%I>OeKoaykRDVDcJX$V%9!*a`Ni#@RtNlExNFC6;0w|+>EFA}YVdEEMrD0c zzU+M?EW6IyhL@Q|DnLp%v1D4QLHWldqrYYPzIE>Zq&d`!Jjo~6PG@xb^@58gxPVsF z*4?G5f^;~=tJ8s$dF7AcaoO0m3fW3|3+JrTyjW3L6n5%GOn!{EB8V~%cp1*No`2r8 zh}SDE?aH65N=D7ONLs_)ytGyiVWnaMqB!i1`L#UP>!l|lS7tfg%2**JNp!uX{g0l`>A|%?uU+jY4UtP zVN?!YZOkV>x-WNQd+CazQR@Mvv~9}%kF#eEJ2++a)!1wcpgR$$H3Q>SsdSk=-SFp| z(r-DSzcH_SFhzsd_<9qpD4u#Hr$g}ZkvhROazd|Rc!EIY0QDSLjGq^p*YkugaG=;m^2D{c+c^_UxxVn03 ze7_opRr-1~9kni+RuvDLk&zLEsDjE^&@?Og?Zp6s+1!0{XKTdI}?+IzaH zRQx2>*zUi9%1U*~!}~okJvlh}fqiC!&2m$EyP8Q-E1^3be7xe0?243VzpyWd`=C4s z7av0F2KboAYzikHy2q92CURbgWuaA zq(p6-oN!d;K%dO1qkQm5^Yb4!x^mJOS8Jxi-RVPVPC6({`cDM3-vYT`pF88BcHpg9 zmra+41P`XuV^CDTBiJfEKsBH8o(eGbMUOBPi6%`;Q{+>zUrr!Coh%{^k{r5i)7bXW z){-YdjtU%;j+z=B*CNTGYf?AZ9TBub9Ra+#1pOQISTco$3bcn=ua^@#Xbl4wu{M<3 z7LZnSW3?%*>K{q4K?FfpMEWRB6nR9Q3W=6TdBW4Q?2JR6rQJgwg@5#88=0vLnuv&i z{QCZ1X2ZBRtr3W0zB$!}V)n2Je zU3%qxQR>oY4TZPV-N%pd&0&Me6H*o>h73m8cH>zQ6&okeW5&{@mDX>|@A=!9$1hKF&Y#>4~D^lczo_`TVr(>oaF7zNxIb@Lk=- zdikZxR}_s+&DU?-Y`Jy2wXI#Px!0l9>AUR00P8Gjvx_G9_|CBaZ%*K$u8PeUq^1+oF6qO>%DP9 zVnR#baL@d)Sht|{i}ZB&vAR_d3}RDzuzNQR0pimi;uQu6I?nJ_7qhMLo7D2oMqmb-iX%A3CPblW16IDZyEV@DR zF#Qw=Y!|5VDEtNlU;03>?GtS{1cG+F!BIyDLCQP0Y<}`62(op=-86xsU@{Ma^M;0w zGbzh!nWj4%nGR>%?Ei9brC%vfgbf>@tMuk4loiabD=gmNC4cF}tMwgWI~IF?7NET| zglx1ci53^)T)?+U4s3bKqlq%}VI9d$^8uzV(kkL@ep^&&3QiwEI( z0D{QuFmWMaM>M~mw45sSfS^VQ*7%1B0nfz6Q73AZQM2W{h#yg_7l;VoHffW@kR^4- zF9{(y1m0AJFRc!FIB@C*P|2P_6;IA37N)r2m19&5WD>g2oHWDkbaL4SVaiFvMC2IJ z3PP{i3BeQ|R#z+JfiM#n(RFbJSLYWs7J_4_*;(XE-5-~Gu$zS;c>&{7t$lKznBvCQ z*Xh&9_&>$daRo?MPXEDfQew_(Wm-$A+ck1k#bi&3jN+eKaQE=M@&(7nSb$ZlMJ2dw zv|$nQn5P6CWGq705!!MHf?me&>TB5BYNM`0U{lb#nMyqdL4)Q1+OxsMKGrqQc26g;}L~Almo0zSg@9yG8m3M)%YiKOS;5!xawQq4S$>aoii}&WD z&O-0BVUg%5R4FV}z*@TG#n|kJ7^G%g)`4fFL9F0-@ZKt+!2zRYo;+ zj)tHT|D^_`WSDwB>d*7jnhSYrq$|lxyqUNq)>O?UElVdDRip}nKYoHDj6XWsF~VOd zM~r(DwAUa0ZtuPxA-45I`DauW(I!?)_1C?r%~7sK6^I_HGclqxHDdj}^V31I7H)Ch z<1u2LpI$^JWFX`ywKJ~C;a*tw1i`mI97=YNp~Ocry9WoU&uj9FZXB-ZDMU7VyZ9%; zr&2=}=}VOaBXlK~*csK-ux|yJIxOtZ^V0}Pu^Eva{L3P0HkAp%D+f{d7blY#SH-f_ zd;1~U>a)~QHzGuI`%w4(%;CPUEdIItq8=l;1BL6;e=I=ZKZ?8{I64n+2~fx$sPo74 zA$@@z`l}6En5Ci%v+PC@KQ137P!Clp>dTC(0O|D@Y{!$tygbsibdT42pf@A;y|^sC zM?%KO7~mzXFs@-B-^1w-2J&^I+!)CBdl1if9|QSl!9WJ`(SeNJAM#1WEWr zQrsoJ^vsfFYg&qRQwHl>h#&ah5+VwTE-Oc>Zj$Ss25XD@fm5dw`1BR0XVtUYNvk-7 zTu7;?HF^T+T!Z~20%dJ1tC-GQ-rHkoU;yJ#)Kvcm_vCabp+f3&zYa;e^dbaX1#Q8} z&mlq4&LFo!Isr{@kEIa^JrX(B+q?Ul=f3OI*4y&m~;xwM5&V^`y+!!i{{uOidV_L%1EBsdgj#DoX;07@S4BqPR*j%|z%)wyGg5%ZP^UAz zFvAPeUxdY?jq?7C6ySlCPK*@b;VUYP^@@+R5`vKeFj9aXB{n@lJmWeB@-b2X zlP^4c7(+&b0b?K^1Nj)pXZi)~zafJkAf0KX0T}fs1NmsA3uw{)%z~fZFJEU^K8EF^ z1s55}NAI-|G-M#mf*;z8lo^)qf4$F$Vfh%A&m?cM>H+dCIol{uBx}#TASmJs&|7z! z&|7!jE~$Lv#kRW^XP}o1_`VCl00@FzQva2(@_R!Ork~v(YRSH8Gb+BoFhDDk#s#iB zTc~hZ_=U34=ER)qpH?gD%e>M+n^e05-z-*pT%zJBe_S@n;0(cjr;7IFtRSjb@fP86!&O7v#n>D!lA>-))Q*E->eJ~r8k%Mp#u4S&di&S$ z@emBvMEbC*2*pQ~4HA3oT&z2#MZ!y)yQ(GBmWBLk;%wRc`|S(pw7*sxaKHV?AKbKo us;j3X>mtufl6~W%ai^&v&adwxLlV{W*@M2iWlTHFy<&XeFXaPlc==}yCqV50 literal 0 HcmV?d00001 diff --git a/img/shelf_s.jpg b/img/shelf_s.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e1e5525dd57dd30b48d2f9ad16e985c74f67e0a GIT binary patch literal 35903 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 Y{HqNk{?p&rOUeHkm;b-xg8BU6A20Z?(f|Me literal 0 HcmV?d00001 diff --git a/main.py b/main.py index c6e2056..ffa4084 100644 --- a/main.py +++ b/main.py @@ -51,6 +51,13 @@ def agent_portrayal(agent): portrayal = {"Shape": "img/okB00mer.png", "scale": 1.0, "Layer": 0} elif agent.patch_type == PatchType.diffTerrain: portrayal = {"Shape": "img/puddle.png", "scale": 1.0, "Layer": 0} + elif agent.patch_type == PatchType.packingShelf: + portrayal = {"Shape": "img/shelf_s.jpg", "scale": 1.0, "Layer": 0} + elif agent.patch_type == PatchType.packingRefrigerator: + portrayal = {"Shape": "img/fridge_f.jpg", "scale": 1.0, "Layer": 0} + elif agent.patch_type == PatchType.packingDoor: + portrayal = {"Shape": "img/door_d.jpg", "scale": 1.0, "Layer": 0} + elif agent.patch_type == PatchType.divider: portrayal = \ {"Shape": "rect", @@ -83,7 +90,7 @@ if __name__ == '__main__': diagram = GridWithWeights(gridWidth, gridHeight) diagram.walls = [(6, 5), (6, 6), (6, 7), (6, 8), (2, 3), (2, 4), (3, 4), (4, 4), (6, 4)] diagram.puddles = [(2, 2), (2, 5), (2, 6), (5, 4)] - diagram.packingStations = [(PatchType.packingA, (4, 8)), (PatchType.packingB, (4, 6)), (PatchType.packingC, (4, 2))] + diagram.packingStations = [(PatchType.packingShelf, (4, 8)), (PatchType.packingRefrigerator, (4, 6)), (PatchType.packingDoor, (4, 2))] grid = CanvasGrid(agent_portrayal, gridWidth, gridHeight, scale * gridWidth, scale * gridHeight)