From abb75def3882c8ff5311452bdb298065dd466ca6 Mon Sep 17 00:00:00 2001 From: karolajoj Date: Fri, 12 Apr 2024 21:50:11 +0200 Subject: [PATCH] =?UTF-8?q?Ponowne=20naprawienie=20spawnowania=20zwierz?= =?UTF-8?q?=C4=85t=20na=20p=C5=82ocie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + __pycache__/adult_animal.cpython-311.pyc | Bin 1457 -> 0 bytes __pycache__/agent.cpython-311.pyc | Bin 4028 -> 0 bytes __pycache__/animal.cpython-311.pyc | Bin 3111 -> 0 bytes __pycache__/bear.cpython-311.pyc | Bin 1868 -> 0 bytes __pycache__/combined_animal.cpython-311.pyc | Bin 1432 -> 0 bytes __pycache__/elephant.cpython-311.pyc | Bin 1969 -> 0 bytes __pycache__/enclosure.cpython-311.pyc | Bin 5766 -> 0 bytes __pycache__/giraffe.cpython-311.pyc | Bin 1904 -> 0 bytes __pycache__/parrot.cpython-311.pyc | Bin 1898 -> 0 bytes __pycache__/penguin.cpython-311.pyc | Bin 1895 -> 0 bytes __pycache__/spawner.cpython-311.pyc | Bin 2504 -> 0 bytes .../state_space_search.cpython-311.pyc | Bin 3022 -> 0 bytes agent.py | 25 +++++++++++------- main.py | 23 +++++++++------- 15 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 .gitignore delete mode 100644 __pycache__/adult_animal.cpython-311.pyc delete mode 100644 __pycache__/agent.cpython-311.pyc delete mode 100644 __pycache__/animal.cpython-311.pyc delete mode 100644 __pycache__/bear.cpython-311.pyc delete mode 100644 __pycache__/combined_animal.cpython-311.pyc delete mode 100644 __pycache__/elephant.cpython-311.pyc delete mode 100644 __pycache__/enclosure.cpython-311.pyc delete mode 100644 __pycache__/giraffe.cpython-311.pyc delete mode 100644 __pycache__/parrot.cpython-311.pyc delete mode 100644 __pycache__/penguin.cpython-311.pyc delete mode 100644 __pycache__/spawner.cpython-311.pyc delete mode 100644 __pycache__/state_space_search.cpython-311.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/__pycache__/adult_animal.cpython-311.pyc b/__pycache__/adult_animal.cpython-311.pyc deleted file mode 100644 index aa04f9ee457b0f478085e6e1ed2573d1a022c044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1457 zcmah|&5ILB6o1v}&UBKApBXZ{qR0-bw5TBXfwC-)yRi7N!a8^f!J_T%%p`V_v8v-Z zp@lgJMiJJF%p7wVMrHP}hdu1kKVT1u3>XRo!IQTv<3R+`SJl%oBZ{v(uir=2dsV;p z%cE>I4JeHR@4XKM;FWY@F*c0#<7g~`3oh}YAitVVs#-xKpuun8CT@ePd)i6@U=@Fn z6cR3(0?T+U-HR3x$;n!|YWvPcUVY-#>-*5XgFQSb5ElxXtGA#;TtOu?`Zr0z zkQGH{(rx%bRPMEgJDucEQF&@vcfEq@Az6d~?-k1m8mqAb?V-#d2q6izFtPbI1VTLo zDw`<@4fNvEBO+7qgj}?AVerPR$An2~xmFG+6~ZS?W!kI0kdnoRA*J3zJu_yZManESN(FpwxG$j z%B@M3mEk0JnCI0*YMPZ@%F9hGQ1j+!M3b~MBdUl|Rm`P|BV1l6q66C@>*y}C=bGDw z=P4tSO1y+>0eZRJZGAc2%^hf^dSiRqx#eBmv4gGji~R1j{Ql?pL(lSu9=m^4{yq7$ z(mC}c)p@zd85#;!hmO{ERv0_nrIwYrDuV(DxQdx&K8&tZ~`D)9uOMH2mY x=1pz0?GAw9@0sOKeo*V+8`^$d{*`m%no?|+qf^Od~n{}ImPM$-TQ diff --git a/__pycache__/agent.cpython-311.pyc b/__pycache__/agent.cpython-311.pyc deleted file mode 100644 index ffcb50348b5a640e566c133d798107cb1901f07c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4028 zcmbtXO>7&-6`mz`SNt(W(xTLC95ebW9a@f@wzBI;wdFRF980d6T5^oYOgAg;QldgF z)mh56SSs)#2c-~DCJ-PUWPk@lRiPeq@S%qmFwh)wToMFK3}8S&d+|+$TeQ%{eY4A5 zl8V$8_3ZM^o0&K7y`6dAyy0(sJ`aNO*E>SuGvNM08&+Yf%!^CFtRor8ObSiW+L2=B z9aD~Z=aiE{4s;F4&d-s|ZaEOzfuC8XSecnXQSLcyjz=BDoz%qXG?o=iyuhZXwTu)` zDeKoHOT4I2xB3{Hu-E%OcVCP)4v!%y`sG_#`ZPMj_07 z!YmQDoWx2zlT53`J%f|7s3o%s;TM)>q2wSXtC`+~CE^mrq?*i#Vz$}XyH&{ynd4MWyZ>+GZ-b(a* z(G>xX&$Da%2D{l@5jvsS{4CtPnR*&NUkab!^%TPc=TlHeJ=hBs_E8d~13XSsXyE|uX{J5wbSjy_)TV&}Oz|Cc;1)W@YjLb7 zsz#%sy&bpGK32xky{yNKbIMaK+Mj_uKzm;Q>XnU&lDA#=wm%czEDO=6!aF75o!wCR zdqYp+MPalojIIo=j;@SWe8JUUY-lB4r|#=~HQDK+aJ?*CH}&obr^~`Q%I~?Ff8+hN zH$SvCS_nOA+wT5-Z?WUjAG-e-dD8dwm16(T_4b=Z*F@Php<6Hh4tz(vegkdjKngLA z=vp`*4VY@!eUW44Z0Iyd+Q6ww3OQ7;Lj%m)MP_miI83=Mn6YEeVvu_0Slzbg|5dl+ z7~O9ltJ@CQs_xg0_1k&0?i@RWK8`K(^dUvC3^R<${L-%(Syu5a~ zFj8tctGAr3bam%P)^0ot2^*2ko++IQDHA)>X=nQ;f?LhEB8m(}jB z6h783$H+}pF9aE`$1*EBWY;EJ?`I9Apry7(pao{T?b$5M=3%zyf1Pc>*gKB9z)Ql6 zKd0M)sWJRIC2vsD4J69q0lUK(GK9WcH`F*Q%GIE1W?g!GV0vy_$mAvC8jJhrzy(Tv z2!wE|a*raFR!iDpG~ynRvGOfFBF;ivdkg%g;0xwsC2xoB?Wml3bMs=M@6pBlg_U6% z`JWY9O8#!$-(3l`ZUn#d{4lF<3`<)EvtH%DfF!x+2>X zyV{c${q!)rPvo!F^66WU(#Kce+4HsJb0uGw?(6!`g8NR?+znC&TF0YJ^qNkOOHm{q zQJhc9i*Uw?1G^n9wL;Sl#B^c+o1yVN8^7tK`Ur18&4)E1<;B5I0+fX`xZ$|&$j~O+5_%{kH BNaz3n diff --git a/__pycache__/animal.cpython-311.pyc b/__pycache__/animal.cpython-311.pyc deleted file mode 100644 index b4b1e5e774aed4f0db893f131d63876002ad4833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3111 zcmbVOO>7fK6rNr0I%~&C2xQX)8;QRpHGv=~EreD`6q+<7aT@U>WUQ_>-i_nbKk2Rm z#9GuGa6VXE|^^gOV(p%NjZe%IeN=QgOaWhI!oci9_-Z&&dzGd7o!ld8?bSz=Jh%5)-Q zbK~i>VtWy#N{2MAs)}8&rf$ZybSkN)GGKwz)x@}l4$v_AT0Mdfp$VZ8p&6k8K*w?W ztL1gig|m^Xx~l1sL0L;DB6@mSi>eV#ol5JGVL72n*>pN0Qz!RK&Deq@#Z&Q&BxRe* zp6{tD&;j~40JEgny!*lEk7ACy=dNwGw1LJ`6!${qtyUG~-ov15DvGVN&)=Ej3PPJn zpLMWFqD~}0z@=z>4RGW<$>4xWnRKF=cOqHs!`dK|jwORN*l~6<%OP4D{bbUKxORgw z24a54<+QjDUfE@EZ?1fYH<-M`sZDzZeoZ?3GT1DP0?h`;sOC+34BYI?!2KO;*81Ut ztq0lAOG;zGc2CX3kis6w1}S|!ttD+*&u4rt?fp&TaRk0nzB7H zEv`sMiM3T**w>UTjXN@z_Mh_EC$K+n}RM%0$-oQ1gl=-^$ikc!>hCUjGwd zmOK~z1+imI>|PbS7cTyGX}Nu6z&sPO#F2tHLP=NObnk452%Zr0qU}Kb{Lc-!fnxi? z{OHg7a+jX_4;1{}YyK0f{u4`w|2VQd^Y;<++*Qket>C|w8!GyC-ygg?_>(W6d3-m?v;Wo;ug$4!?=S4*ByA^p}_3RcaPf@%Cf|I%QjFrqhqBx1$L;DQDv8RL@i@23%=_T~IRFTp}$iT06>n5&QrZ zGHC%+>_c!8qTO6$tei==aAz0NMXDK>{iudVwH;_%9|r(V1r9zMS_>Ro4IDFj`m8{I zA<%CM?Vv6Mj;;kxt_Dt;pIls-F-OB@-wi7eDFhAO@txt!{u3<|E6@-vkeclrM0&L>_f?u2c-bw=}_&a2eooV3YDcGD-fHqrc0KMDO zV37$0>o&rz9fFbNSJ^v%h{ zo^nW?8whJ+8*kn^dJjL%E)%T_nu}zSp*d2=5&J7?4!;4MG>5_woQki5S@J^g<+yiW zK*On8H$d$QjWIQoiKk-H#B?gA&1A)jvo@=HaOyDx%uk^p(+A&U@O^+^GLmF_B`KMP z?-*?RBT5!$*gbsv{5s+}&QH0|NbX#ba9$7=TP{1UpKLnU{ekIn!ca_Ly zX!Y_TrbKG6&Bc#^rUtz({%fjna2Ij6lvsvuC=q~HE)eIwEi2qRci~t%f%<`NGssi= z+Aeu4s$pQu=cC8ie6-iX7iBM<(@w!S46}Y6pyXm0rbrrQ>90r*ncF=jcQ*rTZ-rN= L`)`{Ly2t+kk*s_O diff --git a/__pycache__/bear.cpython-311.pyc b/__pycache__/bear.cpython-311.pyc deleted file mode 100644 index 524e534ff6278695ba0c6de250aa7bf4c30dedaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1868 zcmZ`4O=}xRbY?%KwH(Dx9EHdqB_zgWsZl9~v<|^-(&Co1RiPi$D1u?D87XpByYB3& zjl~LlFmzjdaKXhc_~4UE@g>I|`x7K%;$^^4=*c%1_fT@`o0TP7xOuC6^WMyx_x)DC zrqd||@Q#r!S5$=ll1vx$Q{vdSe)3Fy2guzXyM5k^-fn;cCC~#cFoI-|2-F<|?!emt zjQqhajnG1(OZRII5b0T^NCuv73_(&W%zOQ7NI-7UsR&I{LMyp86W=d!tv&#ZM6?jSL z7OmU9NXY__Q*Dk^J;Jis?;Ga`0nvaRCw`w)l? z6rgQbFG7ETG02^@CdE(U3tW+tL{%ubmOqk;g+6E59uwLZyv|HTT&^&vjZ-0y>rRD3 zQAn9FYGQsBggxojO+GH~X>z|Y5NAq~Bl6q?w2UI-(t$CyXNTzfDVW9aHKqBqCzGV}S zm0X8<{I(R*;^c{e(qmS7A{$@ml-a%|F4w9~-De(IgwAEulNM#;#u?_ffNPAz3GOe- z7#w&H0YN`r8(;tUr~G;zx^6hT`To|Y?cvu#J<7gvke%MkPPenU{cP^p)pqvH@G{gT zOs%HYoVGD3iD>k8x9j3sn0U@i%Au80M+l56sktzdlD-y+1>Y-s>pOoy&Q5;Kb z&D2H0ivKIPYzHnsjGcl>Uw%U!N!iXXjC-9>XZahzO4q$Ipkozd9HDHh{}-Y3a{NSS ZqSgO9HnJFeyNJR&f6Lu}{^uz6<3Cn4rK$h` diff --git a/__pycache__/combined_animal.cpython-311.pyc b/__pycache__/combined_animal.cpython-311.pyc deleted file mode 100644 index fd6781aac92fa19cb572c37326bba5c860e0e1e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcmbVMO=uHA6rSDe#w2d4ZT*iwt<;~bAPAyZrBLb*ZB2@3dx(Ky-QA{JlTDr7ShJ*1 zq=z7ada4BvITU~J(u0Q{D)i_vk$_=A5Ipr3i6=qu&7>PsX)nIrdHd$=n{VEG^X%$=aJ@n4J+QmXh@vXxZ6k;*6B2+ zZg|
  • V)m=>pOb#G*K_iGah!eVT6`#RW}()qb~aFq6J#n7TG#8fhhUT@_o9D3A|E zeV75|VM_-J$Rpeg%JWSh=Q;B}i13m?c>!h=g^7k>TRyfU;)lUH*#m_yKnJI22orLb^$;qX^))TQZuSqM zsis|Q#qq{VVJ*##NuGBg3Ouy)EuMezI3VY3v@K?9 zHvf%IIYP^p1MJ{k|8y>?q;)rF6UDS9G9>MamI?>U$l(h2QilDPF|wcRgvGAkQi-mc zZZJs<4O@l-0H!{JXAI4rbVJmf)Q#k%?Me(x!;Fa*Z3&}U7m+BApb=%p>HLQw)X7-+ z3SxjAJ9jK`jd#w(HW!p*AG@oePD$V;hcFFjlimQP(;Ilp>gZK!-XS~?jkOQRKOwB+42KMHrU zaN$*`cxP$+tx-O4ab?fyzBRdgX{6M1vn)j`QncjVqzw{`$=r4Lwt(;^G!kPsgmF3p zUmUe1j2~o`RO1Z^LpV7E>K$TBSrZ857*mvl))i25&8x->Vx)#PD=8?(xEk78H-IUo z%#(HxnjEDTO_%NYD{!TeVm~h8*o z#R_}~bPGPDkP;Vs@X4k4l4E~DkCJQfG7t!~J>=%%9!gGqv)0NMZr*C&yf^daeZSSu zx!fQExJitatcK7Zl1V`C5+@%3@dPo%u!U;4gt4R*ODQR^s+L+)ODaYR`UElUA!0hm zdn!Wv@SZ|RW6BpOpL!wLJQk@%yIM1?B9MfcKKH9NUhc}qOLFsM0od=rHb*7Q5ZKd0 zw1S!PaG<0z^&tYyV6gd)}wsZh!+N z&;u&~`tnyEcfIA$OxLlNJ*VN8`LfIFj<DSh8YwdeqcZhjN%r-HfP0Z~q{8ZQ}gxc0{2+s)^N9A4z0wX&$?&wc}c!C173+qMb z?-C4hXWh>5T71D(a^ME!{M6yR@@_cuc1GqyJu+sFjD-VZp<@&djl$DQ9pf4_GRcO6 zTZ5164!I(UXyS6xgK<6b_;x-m$6U@Rr7+yI=D-w7I!oy{4bwV3iD${Z0v^PUid=V0 z%iOXkg|?ZJ9?A;dIt?c!MJ1BoG4CEAn6~6ORiPssU4lk*{fcB?jpA5h zYk6Iy%=izU`+pJ2ZN^W8 arrZ6$V={xmw~HuT|6A_<^FK$iAO8V!8O=lh diff --git a/__pycache__/enclosure.cpython-311.pyc b/__pycache__/enclosure.cpython-311.pyc deleted file mode 100644 index c4928950f8565a6a243187e3d4e29df32071c885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5766 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 diff --git a/__pycache__/parrot.cpython-311.pyc b/__pycache__/parrot.cpython-311.pyc deleted file mode 100644 index 57487236828fa034324733dfc329592f782b402d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1898 zcmZ`4O=}xRbY?%KwPg7tZlcJJLz?7Z)kZB8S_n?lw8brLq89oEip;QRMv9!(t~S_}jVJ>}-&9zsrivn$CKZr*C&yf^daeZSSO zsZ;_1+%Yoc?^T5UmP`-yE^+c65L<{MiY-*b1&k%FSV}>GRkhTbT2L`k(1(a>Yl!L$ z?}4s;cq1riRQVibW6va;#UggsuGUN|52Qg&k9pM^D|KbVrFZjW4%i>SHbVtW5!llM zRK`?U8!D(&T|=N5EEZt*F)qZU4H5gy@J^ zXIF~%Kw`fy)r4@GI#ru7sx{+OZyH|wRDKW0{XV;U){FkGkA210ea(;ih9C3QJp=B* z8v#aMvPUDd6zkE0nteq2Rwb%5?oGm+U@xEy>(r}z&F9j=n6s|W$BS&(*AY`I%=J zdYYcz^pDar2kDtscD|jyeVD!-40lG;f!4WnHAr?Y&IE~&dTOM8jIYO!jLQec+53MSUfZqTgKwk$?H3FzvOmufwn#xz;gnIP^sTQz{o}m8}cI{ zwvdl@VLcCnCC4Cl+N=~m3NLU)P8U_71+;u6(((L`&=*Y0WkUOc*I8B(BNYa9vMc0a z-L7yb5GgZ8vzT9i8?JQi8ovTqXmY=i?B+`{6H;Op&?@Q}!$-!{ficxKrVowjmNDH) zj;`O@Ru7U>t>jc^Vshi{za}ypZ}Dl6ABb2+8%DeX1PtJrY@Eh47;h89prEDxP&S|w znu@RNN8QTGg(5%q7dv#f-YrqHN+Y%luW~ z8W+1s9xTli9JwC@g3f&9%I3YF@|*c!s56$?{$S_R_SkHocQRLxGIIx+xppRZn8`i4 z(9XOWj6iLI#Cl@GZW}ix(V4u_>%XuXS-g;q%Q2QyNC*rssW~vEk{%}Ho4RR5C*j2K z8{k3crbu;1vBWHk5NMguLs`FfqhMlER3iC7avuPKsp>t)N?gw#qnDvex;}Y~`e;no zZ%X#%D2yevmeobf4F5^EYzQttno-H5FTbHkQa1GqV?GM?9sUNe(sj2C=vc)VcTlD^ i`0Jq5YWQ@}bZhW;Y-BL_b{+*^{Udk({hy=IkN*JR)3X%- diff --git a/__pycache__/penguin.cpython-311.pyc b/__pycache__/penguin.cpython-311.pyc deleted file mode 100644 index bae08695b4033b54589872e29482c97a4ae2f1e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmZ`4U27v%^xpYMrfJf4TdhgkEX!^YMoShE6zbBtDpk~tf(jC2FGKE4n(kyK&P;S0 zCeVk1qx7M|N-OlCPZjCQKKc`UY)aV<7Yc$;eXG<5*(cAPe6*qNnasK8+CFk5(j;$7R1w1soaWDr4^@YOY`EF^7}v@^x3_uUi5c;>`T7tD}LP9{FpEAYj6kN z4q)UB_h^JxV?BCMvyVvMDn%mpd~+P~T4Ce!vF2j|QZPMmwSEO8ZSE6%8 zP`bur^|gvoV_b~{xMJD{<*M7LGly%0RIREeyC|SsqW6ZJTzFlU+B7*yBTlluW~Q32{Z~ZuMaO z+1+>Ni(k0Raf=@rj%^lQyWx~r(P4GlEj}?dH&8HM}Jv92$9zLX7;r&{WV_-6b>OCM?J zof|v%cj(@OC-c9Xf4p`0<=1U(`B+;%)Rs@DZtu?hlH1J%%I0VQ&jlDlrG5heBN{Dg z$Pa+nMn2ku^*Rie9E03tvr_ypy5LA+yr>KSR^O zO2eu+P#{ufjOy4K2VqyZb<3F%_Y|?;O!kr`xCtSm16oI+mORm>kF@EwmOa+8hgvoq z9^IVZ!9Okp3*p4n)|-D$WVYULvLHPWtOzs;b{7bky(@{h3}-OZ7KRx?tNnRwLL0Os zU)mFTuEF44ikmP$E!l^!!fJp1e7Ttdza(Na1sY44h>I#dZgQFxnw}ER; z_HsN}nrS$5KLi9_`NGWOkAKQP&Id!`SZ3$F-A~$MuLf$Exp|VAJIc(pGr8kT?#XyN z^Lj7>r3n(7i7l(G%?cu%y3^~us2n<8(&J)`#Sjt#!%J#5OsSxggnZL5%+5(PF3v1? z5c$bd-9aod(P)AZU^)u~WC)5S!HDHD7ZW++Ij4=*T=5X*A fqSSiygeZGB_&e7!7<{{qg7V*D_n-eciv0Kwt!T2W diff --git a/__pycache__/spawner.cpython-311.pyc b/__pycache__/spawner.cpython-311.pyc deleted file mode 100644 index 5382987914e7f12940f1e59d6833bcde15f9392a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2504 zcmd^By>Ht_6hBg=K5WZWD_NBtw@^~YE{)Vh0%&Mq^aBkNAcj>GZigBw2t}k5S~95~ zWjAu^z(WQh5D=jdU;*`@!AKLNLx&C-I&|nCAQ>8n13VQSx+!pnB2(X;L|Q`ZAX|q% zTEBbu?(V(2$H(9K$8dNAfqWF4T>Dc*=nvX)Md&NX?|`z0RHSkRw2F9i9jW|1r1~E6 z2t9#cPgXgVTS2n$7wx8VeJg9Ye&;v|${x}X%tfob%H2b&KI&^#PO zJ|b9JVGRdhDGmZy)NL}EeE#02A7s9?G;C#-ve+zSEOQg*v<%jYrj=RF7BpqsG&5Fj za|^{X2`Y+i=p{wjj`X*@;94M?$ch2%A}2mw5vrrk)C@FI1)gKDqoLE$WV6%RfN(mr zPNy*0@!di@g6+GCzP_|0+Tyx*PMGDTf1R#ol4mwNVGB+76}m&LwZ(_v;fd#kL)CXn zqbF0={jP2c!!vjMA!Pg4Y2uiGPV>hk&k+AG2@Re{VTDQ8Llkd!ppUse z`w`_cBc8hIB@x4}=QAU+eB!esdV3r6@QM*n&uTB?*;)1S4-q{NFNyg7$|`D(yYF)9-==ZWhd3UQ>x!%H}nLgn?x& z{ia^fOS)!}z?xnv>BcSMH;X0RG)U-#!|0m^!lHud8zp0ml$0LZZO2?P8nn`w)*5{E zKuC${eW?<5UXN7*PW`hMY1nr}(-N6FcP@kiyK?5AJ-nrSC* zbdon}LVdIzcB0eu#io34=`gy`iY^?@%patGe*c%n-zI;bZqKAUGwIsZ`ci%QmFN9u zaib5m?{7EenyI!VcOYGm*Rn#!6y=-EY@s)TDf8p=6zC2gBes}*DVP!}1FBe`0PK2Cm*>Tc@FBPmoDkz( zH05l Q5aUI7Ms0teGQcAI3oSYDMF0Q* diff --git a/__pycache__/state_space_search.cpython-311.pyc b/__pycache__/state_space_search.cpython-311.pyc deleted file mode 100644 index b00329224cdcf7b38b9a7fb2f357d0b0b06e4296..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3022 zcmaJ@O>7&-72er@a``7wl+DPIWmr~2TTx-e3Lv9!n&`)F-O@#6$#A2Bp}8wr70sn* zNk>w51G*?s#t>qr2wY#BKA7|0KoXD_cT85%WKuBWM6$Qbs*)&%G0I!*HWYss|wX(O>0P#O=+^t z5MiGD{nPJa&xPk(jp^IX>DyjgOCJ1Qj=zxO)%n_VJzFarHsXa}9pJ$m7FV zBB-1~-IoBss*|Jj@n_?9=p%fBKP@f13=e);+$ol>z4AxeOi)-Rt#It|_M`3UnJ=v! ztIW3|LzP?K1k1u}C0d!UUTP>~O=S$I?cmkgK%(H9u zg*kXyk>Mx7KL_i+XE&cO+oLz(X+)NqktI8_^sn{^qYQZdwnv%3KzZ6DOn;DL;JJjU zLd87+;c}vqx4}&>n4|{Zjtl6qZ}pCb&0#ARQnAnKK3eVfqi6mwF$r7?An>>(9S04H zI|}CmMv5a*?E&0uv;^z$IbGEp$qOyRK;m_-2Q-1*5O9-?TL7@Zp-Aa!%O5Il?o7cF z3!^PL{5bR|R4G)iee*>_o@mMwwmi`aM=RHMz9{o;flRHaHGM;nmneV zmNHmMdQ02mJPd@(>MrdhR4^C07Yo+n;F3XHe!?XKISlt6IFwh}4Y&6qLxa%4y8%gF zWTS5!nIfiC1nJm|!|#?j9KQJ?w%o1AharuQ>7O!>jI5ai$fEKTMVu$_sc$ zN|&cA%hhFjX#9mTZu8^rT#^a#?Fs2I6xYyOQP(<;ub7eC5r2?>a!*%_S?vnF3~ji% z#yUWoBZRbBLf!{HbU`HKG`@B~jFRCt(}VL-0&&}e^CF41nI1$qa<0uB2iKMV09cly A1ONa4 diff --git a/agent.py b/agent.py index 311fcb5..94b4d8b 100644 --- a/agent.py +++ b/agent.py @@ -27,19 +27,15 @@ class Agent: def handle_event(self, event, max_x, max_y, animals, obstacles): if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: - self.move('Go Forward', max_x, max_y, obstacles) + self.move('Go Forward', max_x, max_y, obstacles, animals) elif event.key == pygame.K_LEFT: - self.move('Turn Left', max_x, max_y, obstacles) + self.move('Turn Left', max_x, max_y, obstacles, animals) elif event.key == pygame.K_RIGHT: - self.move('Turn Right', max_x, max_y, obstacles) + self.move('Turn Right', max_x, max_y, obstacles, animals) - for animal in animals: - if self.x == animal.x and self.y == animal.y: - if animal.feed() == 'True': - animal._feed = 0 - print(animal.name, "fed with", animal.food) + feed_animal(self, animals) - def move(self, action, max_x, max_y, obstacles): + def move(self, action, max_x, max_y, obstacles, animals): if action == 'Go Forward': new_x, new_y = self.x, self.y if self.direction == 'N': @@ -59,4 +55,13 @@ class Agent: self.direction = {'N': 'W', 'W': 'S', 'S': 'E', 'E': 'N'}[self.direction] elif action == 'Turn Right': - self.direction = {'N': 'E', 'E': 'S', 'S': 'W', 'W': 'N'}[self.direction] \ No newline at end of file + self.direction = {'N': 'E', 'E': 'S', 'S': 'W', 'W': 'N'}[self.direction] + + feed_animal(self, animals) + +def feed_animal(self, animals): + for animal in animals: + if self.x == animal.x and self.y == animal.y: + if animal.feed() == 'True': + animal._feed = 0 + print(animal.name, "fed with", animal.food) \ No newline at end of file diff --git a/main.py b/main.py index 3eb6673..e5c417b 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +import random import pygame import sys from elephant import Elephant @@ -8,7 +9,6 @@ from bear import Bear from agent import Agent from enclosure import Enclosure from spawner import Spawner -from state_space_search import succ from state_space_search import graphsearch BLACK = (0, 0, 0) @@ -159,12 +159,9 @@ def main(): obstacles = generate_obstacles() actions = [] - spawn_all_animals() - actions = graphsearch(agent.istate, (an1.x, an1.y), GRID_WIDTH, GRID_HEIGHT, obstacles) - # actions = graphsearch(agent.istate, (25,1), GRID_WIDTH, GRID_HEIGHT, obstacles) - clock = pygame.time.Clock() - + + spawned = False while True: for event in pygame.event.get(): if event.type == pygame.QUIT: @@ -172,12 +169,20 @@ def main(): sys.exit() agent.handle_event(event, GRID_WIDTH, GRID_HEIGHT, Animals, obstacles) - - screen.blit(background_image,(0,0)) draw_grid() draw_enclosures() draw_gates() + if not spawned: + spawn_all_animals() + + # region Test szukania ścieżki + animal = random.choice(Animals) + actions = graphsearch(agent.istate, (animal.x, animal.y), GRID_WIDTH, GRID_HEIGHT, obstacles) + animal._feed = 2 # Ustawienie aby zwierzę było głodne + # endregion + + spawned = True draw_Animals() opengates() agent.draw(screen) @@ -186,7 +191,7 @@ def main(): if actions: action = actions.pop(0) - agent.move(action, GRID_WIDTH, GRID_HEIGHT, obstacles) + agent.move(action, GRID_WIDTH, GRID_HEIGHT, obstacles, Animals) pygame.time.wait(200) if __name__ == "__main__":