From 37d1265b98fd3fc3c6fb50b44d233b20513bc6d9 Mon Sep 17 00:00:00 2001 From: Szymon Komosinski Date: Mon, 27 Apr 2020 11:38:36 +0200 Subject: [PATCH] First deadline --- Font/lb1.png | Bin 0 -> 6590 bytes Font/lb2.png | Bin 0 -> 6590 bytes Font/lb3.png | Bin 0 -> 6590 bytes Font/lb4.png | Bin 0 -> 6590 bytes Font/lb5.png | Bin 0 -> 6590 bytes Font/lb6.png | Bin 0 -> 6590 bytes Font/lb7.png | Bin 0 -> 6590 bytes Font/lb8.png | Bin 0 -> 6590 bytes Font/lb9.png | Bin 0 -> 6590 bytes Font/lr1.png | Bin 0 -> 6590 bytes Font/lr2.png | Bin 0 -> 6590 bytes Font/lr3.png | Bin 0 -> 6590 bytes Font/lr4.png | Bin 0 -> 6590 bytes Font/lr5.png | Bin 0 -> 6590 bytes Font/lr6.png | Bin 0 -> 6590 bytes Font/lr7.png | Bin 0 -> 6590 bytes Font/lr8.png | Bin 0 -> 6590 bytes Font/lr9.png | Bin 0 -> 6590 bytes Font/rb0.png | Bin 0 -> 6590 bytes Font/rb1.png | Bin 0 -> 6590 bytes Font/rb2.png | Bin 0 -> 6590 bytes Font/rb3.png | Bin 0 -> 6590 bytes Font/rb4.png | Bin 0 -> 6590 bytes Font/rb5.png | Bin 0 -> 6590 bytes Font/rb6.png | Bin 0 -> 6590 bytes Font/rb7.png | Bin 0 -> 6590 bytes Font/rb8.png | Bin 0 -> 6590 bytes Font/rb9.png | Bin 0 -> 6590 bytes Font/rr0.png | Bin 0 -> 6590 bytes Font/rr1.png | Bin 0 -> 6590 bytes Font/rr2.png | Bin 0 -> 6590 bytes Font/rr3.png | Bin 0 -> 6590 bytes Font/rr4.png | Bin 0 -> 6590 bytes Font/rr5.png | Bin 0 -> 6590 bytes Font/rr6.png | Bin 0 -> 6590 bytes Font/rr7.png | Bin 0 -> 6590 bytes Font/rr8.png | Bin 0 -> 6590 bytes Font/rr9.png | Bin 0 -> 6590 bytes Icons/A_door.png | Bin 0 -> 6590 bytes Icons/A_icon.png | Bin 0 -> 6590 bytes Icons/A_key.png | Bin 0 -> 6590 bytes Icons/A_moves.png | Bin 0 -> 6590 bytes Icons/A_open_door.png | Bin 0 -> 6590 bytes Icons/A_time.png | Bin 0 -> 6590 bytes Icons/B_door.png | Bin 0 -> 6590 bytes Icons/B_icon.png | Bin 0 -> 6590 bytes Icons/B_key.png | Bin 0 -> 6590 bytes Icons/B_moves.png | Bin 0 -> 6590 bytes Icons/B_open_door.png | Bin 0 -> 6590 bytes Icons/B_time.png | Bin 0 -> 6590 bytes Icons/Empty.png | Bin 0 -> 6590 bytes Icons/Wall.png | Bin 0 -> 6607 bytes config.py | 63 ++++++++++++++++++++++++++++++++ gamemodes.py | 19 ++++++++++ grid.py | 42 ++++++++++++++++++++++ main.py | 22 ++++++++++++ menu.py | 82 ++++++++++++++++++++++++++++++++++++++++++ templates.py | 72 +++++++++++++++++++++++++++++++++++++ 58 files changed, 300 insertions(+) create mode 100644 Font/lb1.png create mode 100644 Font/lb2.png create mode 100644 Font/lb3.png create mode 100644 Font/lb4.png create mode 100644 Font/lb5.png create mode 100644 Font/lb6.png create mode 100644 Font/lb7.png create mode 100644 Font/lb8.png create mode 100644 Font/lb9.png create mode 100644 Font/lr1.png create mode 100644 Font/lr2.png create mode 100644 Font/lr3.png create mode 100644 Font/lr4.png create mode 100644 Font/lr5.png create mode 100644 Font/lr6.png create mode 100644 Font/lr7.png create mode 100644 Font/lr8.png create mode 100644 Font/lr9.png create mode 100644 Font/rb0.png create mode 100644 Font/rb1.png create mode 100644 Font/rb2.png create mode 100644 Font/rb3.png create mode 100644 Font/rb4.png create mode 100644 Font/rb5.png create mode 100644 Font/rb6.png create mode 100644 Font/rb7.png create mode 100644 Font/rb8.png create mode 100644 Font/rb9.png create mode 100644 Font/rr0.png create mode 100644 Font/rr1.png create mode 100644 Font/rr2.png create mode 100644 Font/rr3.png create mode 100644 Font/rr4.png create mode 100644 Font/rr5.png create mode 100644 Font/rr6.png create mode 100644 Font/rr7.png create mode 100644 Font/rr8.png create mode 100644 Font/rr9.png create mode 100644 Icons/A_door.png create mode 100644 Icons/A_icon.png create mode 100644 Icons/A_key.png create mode 100644 Icons/A_moves.png create mode 100644 Icons/A_open_door.png create mode 100644 Icons/A_time.png create mode 100644 Icons/B_door.png create mode 100644 Icons/B_icon.png create mode 100644 Icons/B_key.png create mode 100644 Icons/B_moves.png create mode 100644 Icons/B_open_door.png create mode 100644 Icons/B_time.png create mode 100644 Icons/Empty.png create mode 100644 Icons/Wall.png create mode 100644 config.py create mode 100644 gamemodes.py create mode 100644 grid.py create mode 100644 main.py create mode 100644 menu.py create mode 100644 templates.py diff --git a/Font/lb1.png b/Font/lb1.png new file mode 100644 index 0000000000000000000000000000000000000000..f92e9f76f76c8aa0b7a3e3740abd7f4a93e4bca0 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!w}!Zua(2PM{D^W=KSdbAE1aYF-JD%fPT_-KLog z43fs4E{-7)oQxWh*Pk)|2LiC%2iG4pasSy18_a9dG z;t~fbrfU?xe)2rLIe! z$_McwsYDVi4Gf7uD}*d7v0SY*vrTPtb9XzlHfMIckgXl@Vb3yizW+bBZ@+)$oS!+D zk)Fc4soenZn$)CBQilnbi-O$Go9YWlrPz~}k_5BxyYaBYr7 zOp2v(f!-VzC@)IOPLN7rBd{xIqi}SXT|p{^jliy;jl$7kP82Z$MxzO>jo;DQq{Be3 z!E)&a$KkDVf+|n}KeYle8$7Wx*$a-2Qv=HMsB5SiKy5`ozV!b3>)-baaK`3cDx~JA zz;PVy&y3)elkd@dZ-_1=09BAP7Du{aOmD*Lwo&LuOtN;tSeNdD180M&pGkPt!o%Ojap7PWI-mWZJ^?%?e=2gd2i9khT!@sZLASW)b`wH7xx{YtlDT+q zC+s-6NahobhU!5PvLV>lHAWW@K}(%H+=5>nq7<8Dwf2pk+DsHwEfVrsdHK*OEh@J3 zYYifl)k;^1mV{(o=4Na^5d@{H^d`FT4%o6sdj7=OTN`yEl+{a@yHlIlTRb#iK*!S& za1I=z;(2&@$=^r)h!KUFm-znGNXbk9Gfv$MMR=@-#gvbl)O9YVk4k~~G~XGgC@bli zh8!$Pi{ymCOhP;(t3M63<)6_~_iakI#4KOr7O7=^W(vwyu`=#n`-JL?pR7Cta%N=i z3qV$Wfb0|zI?WrwpL!$8OSG1a*qWV>zZ3G$1tVe=Z|$adUI=R6>2ay38``(l`=gm0 zYre=kriQ1lGbMDXxEq5X4TxI9Bl}<=TLle2jkr_VkJ_@&Fpg6W2w&-ryyHO#i4eXB zNTuzO4o~h+JewwROfx0;yjh2eGg^{fNtuj7$sujGKVlL+VK$lZwtW=i1~YyP8}X`j z1of5D5gDB@5ppK`pb#ce2}z%SLnT$ASh~!e%{J53F3(W@jT-r8a6{fn7lxg`>ml i3Q{R-1a<{&6pjvae9;|pB>Gmp;Ls$eC)I4+Rq`9zp#~=a literal 0 HcmV?d00001 diff --git a/Font/lb3.png b/Font/lb3.png new file mode 100644 index 0000000000000000000000000000000000000000..81858724fce4f3226694db70bde847a261ef9eab GIT binary patch literal 6590 zcmeHKTTE0(82)xymM+VJ3yOdW3es$&51>h7H37AF*$@qyH3596X=^J{)F`oPV!g#S zpgw4gO=lR@Obt?HW}l?{+o0D z%gp5e@}2o-{;e!py2uop77M^+U0kr7XbXKl(v$ZA|J8D$^j{V(DnNk#PF}D6i9`$= z7nf`Xj7jv-;MZd*Bp6d+U9upiMQ_r4Hs{1wPl`z>uFO_k@%e`G^404rhzndhSMv*y zI@4M(&sJ>ESW@k6ng9`b@B@8mKTup8RsK>GoShO}4heo=07)r&@KrY@IP%?7{Qq!J zl{i%3@k3^YV{J{yKt;zQgp#A&hnbT$Vm z4B(EEMl}63!rYpDlQ7F_hCU`(m+n3<{-|ul%?mCLju|<5CT#gROLm1-aZAGx%O`6? zToeaK1IBnAN;ah_<}kLy7-28aO5@CB#k>wp6cdriz);43itpOd+Uh)<1 z?Gv+%LvA1XonAEC2T@nujeqOag<_1?qN>IM^Ef@;J3t1MYOmzSkE@$tzpDnBzdRA& z?oAhS%=rBQ)ScalR;SlJa)#V@)gd|%p#?pAd_l`vL^c(YD!w>*T|x5b>S!}jA@n2;H4UWEXpN&B1< zPF1zxPOS^R(A!LbO&1N!vn63gc`D)(Mrv0WK$g9?N5ajEPBh$eqr2UMo(>5^13uDj zMS-$8<&#)gW*YJ7!ZC6S#?~<{93V>+t`<@x;erXZE&?zVE2D`;7#s~-q2@*y48_W5 fVi5*M!&a!dyZ%eVR9oHyI%Zw4wBX$QReN3mnr=U< literal 0 HcmV?d00001 diff --git a/Font/lb4.png b/Font/lb4.png new file mode 100644 index 0000000000000000000000000000000000000000..4117f79196cf7040185ab7b29f6cc30040abb9cc GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!w}^Y<&c~I#7rwGbEzKIX^cyHLnE7WnkE|ZqrN# z21#R27srqYPDTyM>(3bf0|8iakP=LT)Ln3AjXDq>6l5|+Ly*jXgKHZNL3mJ*$ruem zG6N2-jRnr4Bjfs+FAU8Iw;34zGoskK?5Y6@AH<=16o38nhhbX9Lk!1ZxC|;lcL&aI ze!}qf`EOkA!4Rjb1CMNZ$8c=h2MkBx6QG*|UqAcF017=2;1OWP=Oz?6x;XIPzyH8= z_lV*9mw#Z(6RM<99D$ER7YDBBf5ve0>{qZm4DERtth|Nrxd}y%<_pjDkd9T5i z@(Z&tq&CT+IDim`rVe~^=R3oUsz+cqFamAL>5*p;5Md?cCKP#^IS^Fd_2u1X`1u{u zqX^BBV9++>MX{V14ow^g>gIq7;};Kqf!&~M#lzsACQgidFx1e*forF|U^sv9GuSdg zF&2jGPI(4KM$~Ez!zDNbsNSo)eEbtbd&*s)b>uk+=1vx1Qk}e4oBDMzshI%gAavT& zQ;>mQn3ehtlvU+qFtFo8w~u7LYm^9B57ncXSeHa;U%*g0D4JU!SABeoy*2ac9i}*4 zL-6X!&kPq1e_}Yd{}aRW2R|`FP)d=V!O($^!N8V}LE9WsX417qeRlsxh8>IFU^omW z@a+CihG+L*GyMJYAMQY!l!Gt}sX@~Cpbx=O2a*%5$a+RY5IHo+VULC&IiZHE eXEX$nLxUXlOrD-l_G~s&kX}z$KbLh*2~7Ydkgw_h literal 0 HcmV?d00001 diff --git a/Font/lb5.png b/Font/lb5.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2a3c553557b240f138ec6624a0785ed90fb112 GIT binary patch literal 6590 zcmeI0ZAep57{~w9+>6^X-y-L%d|8=@MNuEJD08Btlu99khzk0UpcP6KNmN7;2}yo3 z3k|I7LlTQZAt9s>5`IjrEOpLSsA*;FC2i}REB9{mUc)W#+J~KS?|Jr|d+zz|f6w!r zb9a4jQNB7-6A3_VDA4aGbvixdQgW_www04gdTe*T9xnQ6>Uda3Jc?5V2P*+(EIlN+ zeP;!6%Bl>7c`~z9Ey>Qzx++T|F4c*W(yH8(<>kjKs>oO1MXRwMNZ4f1=aiHxBG=*Da(VCxxHJ5L&#up+Mq5R4 z)}h-VoPH)qgtJ8yz@a`X>Z(lmJmi2@Cqvn_Ram`_zFd13d8F_RQz+ejx8>dUpT6C_ zWM<&#O-A}1sIMLtyx+(NyP#j2>RyvY0UUnsJ+SE=KUyi-vnKD9!qRTt6V009>}C?@ zMyE>x8Z>O78`hSa7Ib&~U|n3ja*Z52_PK*flql|bJ%yUG0VesfBP*lAp<6#Y4+nc} z1bBvR;_CRs2vj$wAwJQaenbJJBM$UfNeUUlsQDKMFt0%pIZZ`}&Lr~IW6=O94Eh-S2JE2ei_@% literal 0 HcmV?d00001 diff --git a/Font/lb6.png b/Font/lb6.png new file mode 100644 index 0000000000000000000000000000000000000000..85b275f39e9912be18e26828626b9ec82ef18f77 GIT binary patch literal 6590 zcmeI0TTE0(7{~u-+53f+<+3b447@61fLefO>%CVh$?fT^O~UQOx(dTG_<-r+yjL@M z_ilOJdw?OHUIIQpkxZPL){32Fn!9R~0)?GP1Ea)ce5uc_4u1-9XFAwWtnxJGY^HOj@XqJT__2#u(M5emm%iz>*Zh|q{C7@=_NH6^n+ z8a|&N*ZUl});EXSKf5qDmpER(6 zmm0s_bP*LDP-_)I;8=@_g}F@ejeds=E-_UVgd4u<#N}^h@%N}3g~d(?y3k1~Lk?uvk^NaaqbW7JOs~B-!>fSW#7<3_%cBn2Ul` zp{3={t%so3;|fiO?oTG+_W?DHHrA92p!436b%hNDJh9n;mz!-!%hh4}FAvV1n8cOd zdrMjXJ;x@n`Gs{z&(j6{T)yH54kE*{lCx2d_rJ(N-qS|tj4?>h*P-#FOgy#CBySlI z@crp&=HmjW(T8?hRd0ntA?21xQ2Bb2XtMg(AMP_dv?msd+%TG@bxiCfvtV(`#AmTi z%L)B*XQvj#Ft`9_tN=r&b)^!c3{_R5m3&+P^NWljEK_4E9~S6-yu4V`rBe+Tz~YzU z$caQg?7+9Pa>t{mzV3fQ{Lhq_nU4#gIbMbGy@_lPYMeVYjSFARFdzLxqxa+#E`2Qr zH^s#ScNMWAmz{)m?p^TX@S7vJb|Aof+v@C z2}yIk9 bTBX9ZbNN&UOv8iU(RfAKE_+YOYX|=Yo=Ggp literal 0 HcmV?d00001 diff --git a/Font/lb7.png b/Font/lb7.png new file mode 100644 index 0000000000000000000000000000000000000000..612c80b43e75e66b05757aa1ac0a41f5e06fff3c GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!r=s1=oruMxYQ+W=KSdbAE1aYF-JD%fPT_-KLog z43fs4E{-7)oQxWh*Pk)|2LiC%2iGmP;)m&u;9SdFtnndyQ`#&gh97yx)r@z2v(8Phy?*F9N zfp4Bc97vNWeufr;67p;eB2sJ&Y#dAsjG$%=7Vz-KcZN65euHJ$*clo0YR3QR0d5-_|5A8NPq{2bM9g z<7Kc505)@xz<@Pa-@f?8&=7N*;q7xsy5r7;c{Z3bG#zWK`K1>;ti9B)U5glqptEehzaRn2sor zVqjvzUjES4fj__hWta+#+P{Ag?o-j{VlZ;xM+l&?=<2{N^Iw5;H?kYtqC}9n7;L&Z z@cWm)3_BLTMsWZ)9}|O_s{o1^I)`o!+_n5Q!`Dxc@($(*3lBjCHg^0@z%L6ki9-4Z zFzszyh#GnzBel)(7vvx{baCL(&F>jLzyAxe4+W?jbEELFap>Z}Gy6Vb*v$nTqY)HE ztu-(d0R?F8Kv1o5?bH_xyZMBOYX;EVfuM#btfhkNN^U-8WG+tjfHf9yx(H2z<{^k? zAIaQN2a+6QXc|UC5G_DR=8lFS$w7vuVKfBM0)%9);(^(jrG7V3KpH(={an^LB{Ts5 Dr3b*k literal 0 HcmV?d00001 diff --git a/Font/lb8.png b/Font/lb8.png new file mode 100644 index 0000000000000000000000000000000000000000..deb37c0b985acf0fb65fc9135d2d8f0bcd05e4cb GIT binary patch literal 6590 zcmeHLX-rdD6#k0Z1t|g*1#A_>8gUuTXiRi68$uKpoEYO0cMN9y0g_0@#61{dG%};( zB*PddVbr+AC1FNo41~BOF44G06L1S!SuAP`londN=QZ!XK5a(m;Y2G{Mp8M`Q z-}~-6=ia^@KV(leMkYl9FlJ55n8Wl4I`mq0-sP*vV@jJdV`>Jv=vP*CWH0j=3Z^Yw z3-mS7p~1fW3CyW0%$k*{tJ4}IG|6~6Y5;RZt)9D}aLSszyxjak)&wd~mHz=Gj?c>Y ze(nN;W<=sco2HA2)cKj7B0f`G999@0ry@in%wUMb@nK;GITaxqVFp7ajt}e2ErEus z#fwYj&A5NniRX`8aK81z+u4PkJwc9T^Ub)gbwW z0eo=HiQ=4E7DU4VOqddl6&uZn9YC8Qztr4rLFtA%yn5!AT^RR`5kLK&Dz$}W@tHDW zP60>JR&KGVz>&{7E(&=iL&)Uv=w>Uog#mnguZ;(hjXReevZ>PXNeZLXq0=j{6iYSa z|2Kl|GE3LjVaJb;LDL#2r%M|Gn;4%S&D+A>!JqS=;6_z&#wfaVY$Vd>nQ-fZ1J}>L zBaShs>pDr&ly2&$Qkh95*NTX7og-x+}m;syrvLbbi zzg);5{!8D!=s?Ax*XZm}9!eNM0%C9QptrXBA&Bi0ztv;s>L+l!{Pj`D6#IN#C@X$} z%A$D=U={aH#7welw}*tDsa>nKS+lq>&)2w zZ<@4n1YS>elg%T!gaB-M>A$%gG&)YnO4%pt*mx~gZ5u2%xsHzYj}Zcpwo!p{vs$Th zfqvQk@PWwx#aBkDTL{3fvt#AhlKyjR9nKwWM607y<)?B&;CB~1RrzU0Gc$)ij<7Tm z@#(|k_Mv!1Ez4B(dK|%WgxIC&Yisqg?N$do?dk;4>NUtONyeAo^%Dn>?(Avz;`p!i zs6J`$)@GH)jAq%sWZfXX7bKq$2I{W{e7$JYG0JIZ&utNRosKCfK+zz+kNO#203;Cu{|~Hq2l!R(j$KGuRWhf?d04 VujTHZ;iWsNFDo-U<5c?cqW7)NLeBsI literal 0 HcmV?d00001 diff --git a/Font/lb9.png b/Font/lb9.png new file mode 100644 index 0000000000000000000000000000000000000000..687daeee504a9e0d351a8d76efd98871a0eaf2a9 GIT binary patch literal 6590 zcmeHKYfKbZ6#iydb_duMc@_{9O;l`BA7~{_#a3MeVnnUPKuj8Hw8RH$A~rF`q`@YQ zksl;Y8a0agL;a&hiO;A((^_9K#-f$B7L-?&1r}Ww*oEEgy$km)H#<$rHaGFd-p$N8 z=bLlqe0yf@Id}H0EXub;r$qy>6c$*&ATo;{nvtBVy;mxTFs@scZ-tNkj@>x*13{v; z7nJS*ViM?~;Lza|0-7odm*<&UjTTjzRZ}+qdjgp^7MD~m*;Y}pVQVEZf$L}M4g#rj z3$2TaOQMvl)Mp)vj|~6C_w=N`r@T0=FhQP*5S4HSLrff>7S13~MTkl`gCQo4Pcv{$ zl0qBRlRFOFz1oXEA3I@xJ&1m%7nV2!lGBa&=o1STu82o+hDn!!)K=I0TOSVXX~E0J z0o~vXR3m`=wTUR*kp_c7eCwnUY`F6l)tj3!=n`9flvzd61S4$iZuGzNGLC*ZE7yXZ zKTd(FDjb(W&~9^M=kiAMIRXSCO$yfSNylfa$R1~8{8ZP2Bj2{dJ?c-a*_wit<#hWq zJj8r5^nc1r$87>Rdb`z|QUr1o%Poq>s*N8|m5=j>Uz5ywxGja?!}>Qo08?`E$1_!s zIZH*{)#t-6m+jm~3c;?9K^}l9v5EQxV|-F1bK&y$hfc0bA!yP9FFA|U+2UrZApd^h z5^QQTJ?-O|6oQ#E=r@8muAa1sz=(CBwlfHK*oQc#pLc#aH0ATv@pyXgoiMrnbT^Ee zilwEAh)a${N3#nTj&|biYvzo3 zG2BneBc^wMaJ?7h3mULKrvWGSx8vVFzi*xE;bfRHJ9ivYA%&pV>%)QFEpXU9aP|9e z@t6&I-KFV?6Zfx)t9W{LG^Wil%O^a@3&CjlNG4mYS1(<{4u(1zNXOfeMMv#$cZ|cX*Gd=j@krUmo-01BZLX8KELb>$W674DZ#aW`Ss4o!&fr+GrRV!icD$!% RZq_q;tuU|1dUkPH)jwtpI9UJy literal 0 HcmV?d00001 diff --git a/Font/lr1.png b/Font/lr1.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5a140dc674a51c4426e57a97825309598a05b7 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!wZHf_c_iCZG^cW=KSdbAE1aYF-JD%fPT_-KLog z43fs4E{-7)oQxWh*Pk)|2LiCZ`0Emew{pt z(*cAe27MZ&OJm{xpFa%$zJ6u+ws9lF`@%wuK*JZsba5ceMgM;OWOyPa1>?eLd=8{* z6f?22!yQE|gRTxF)=|jnMjeP88sxA?Ly(+ML)J4Ig2x5yQWa9~r)F-OBLy-aTZuf!Qo7 zDh!;yz6?x!d<-no(hS_e!EiM+ci;;zFOnLpZ06<+65F=H9Z1(GhTBR4gXSSff?KdE z9rPhM>OidVMuOmI2$B$3Se1^3Al6_ZL2xt#NeC>gO4Yd2|Csr>F9Jz=y85}Sb4q9e E015nzr2qf` literal 0 HcmV?d00001 diff --git a/Font/lr2.png b/Font/lr2.png new file mode 100644 index 0000000000000000000000000000000000000000..53ccb386a3d75a4d996aa5bf9c847a74489825d0 GIT binary patch literal 6590 zcmeHLOGq0*82&dK<0dxR7)yMC7oi>%J&6aa31%sgQbp`RT8b6ws|ABc4}}m5#fyqq zR0I!J5rqmG#2y4eyr>jJL<-eHebjes(pZ!2Oms)bg&r11JnV$YeE&B)`+xancV@`@ zC#5B3Q>qC7%%ao&6t!8n3I_E3A>wO5jp60v5<5uv)Bk0#9WlnY&Sy;kaaLS8_}G(- z$XK`Na>V{Hm~{^lJpD7Nh`RT>ywY9#rlH|gqZ@?))1#le0a9{B`=jzoBbSx3@{^NL ziFV%6FWnv0MPz9Li4`h==AcUB$S}=8VuebeIjGV&GE7epBOryt5SW;Npw9rJ@)-Z%Ai0*wTYS>fbLqeZGKwO_@rj9G@p>sv4o>>|WC%ZYt01!dD$9_{21cryHE*;vFle)V> zC@7$KIk=T6K3!dfEr){=hhGM~t)V1y7P)LY&_NQDqzykezJ=4FbT-}ZIR>O1V4V@=~k4?E-Re>s=`Z@+W?=N$I% z+*zB+kZAy5vY)n=5}8kHyhy$u`9IVUAznFSvqGky7oT1|CZ2@brz`FNiD|TI@a*|s z;?&pKOHS!$MU!AQ)xK}7CobcSvhuoG03Rcr4nOsm&CDQaZKZ=c*n=F{^kw5!^7}> z{~oBa&xg3IENDp;4<1C~rArX=^0uMidev=BO<}3J8s4FyZGpo%#G^;Cr@2`Llp8?L zmoHejcoFi_62l^Ewa{f}1A+i)auV=*S(~D0OeSRX^e~XzlEhVCuL8HHy&d~zXOTHD zfXu!=WQ~o%P*I`aVp3jP!}9(6%;pBr`}HdeLKT59Bk1+ar%g#gY7h|CKok%80ZQQp zP=Dlz5+fk}D=R9S8k>WI+kDiawOE*+TNax;IIs*;DA*3kW8Mp*+ShaTa%Q8)TSmF%gdRc8-pxDl!_)b6=@`q z5{ipeBe?BBRg@?U+2w+hY=a*~McA5{U?cw75-Sn?ZZ~{RC%mJhaCdgX^ZB#V#H5B~ zxP@eLTt>#f+k-56kmBFk!s7Y!@bvZud4H*im6b?qYXg@hmi>OLb#=jc{W@03zVdHw zZUaCaf=-8|+S;&fo4-MGSz=d11J=k9qZGr13ot){14t)f8JfO=SuB^X(8_o?wDg7IRY=f|^f9VW8 z%jk5=4<108pJy}6l7v;V?5iy;%%>>Y0|#Kbb}e9X*@M!;Lg3c$&CDn^pC&mOTEeDSPyqe0V=$DIfIh)O3wMB_0e5P1Ns^s{h}1s@ vFcLe_w8a>VhNVb-Vhl!NCz`exgVC@Qsn20pR{D;M676F@b=K-Qak=3q623o( literal 0 HcmV?d00001 diff --git a/Font/lr4.png b/Font/lr4.png new file mode 100644 index 0000000000000000000000000000000000000000..79d5449bf868e20ddb1aac8b1f835887fe8d8c20 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!wZv_o(0~ zV30KSba4!c;AGU0y#9>wKM;T=2PwfcNZkc@)~EyFK|v;CGz7^EIJmaa5QGN>nT*j8 zBs1XP+F0N$Ix>D7JI3(R&yN9EjiJ~o_x3FcAH<=16#xDBk>PD-CWhlMTm}`Oy93{s zmNNW(@&uQAFvRKVz%Q#;GkjaS7Q+$v1nB0#-;WZ}56#UCzm6XVyMx2soq;**fJ&w z2?miFGZ+{d88Iv;Mu6(Qy6*=MGQ0{3Vj#~sNKR&BW01adiTZUhGl`i1$w??ouE0PB zW?-(TdK9y1YBF%TxuIA_4u>}-1+0zgQB1639ti`-9nip_Xl{Yr^yl?!G^athf8V^p z5T|Phem{Je;m4jm4BvO`VEA+A4u)e`R8<)`fmI=giwgs%tu0udt}W{C+qW}(nF$;o z!U6u=zRmC%i2wio4R;{bGYJm6$rh$-6qDo1K_7yn4kRa9k@bv*AaZDs!yXMmazYJR f&u9oDhXy(97f*VtUYQDbfb@F0`njxgN@xNAg8Q`+ literal 0 HcmV?d00001 diff --git a/Font/lr5.png b/Font/lr5.png new file mode 100644 index 0000000000000000000000000000000000000000..55c0533b0cb40dc62115b4c3c768df544b4896d0 GIT binary patch literal 6590 zcmeHLO-LI-6#h2JCNUahxd##C#3MOp(rlyY+Z=w9d|jl8|C#t0AneOdhaiCB`}*EaV6$?5dqF#b7{ z7!|#y7uAYmxki$n^mOd!H)2wEnwxr`zw7FH)7?wDz>k^lV?fpuld;O&l*Adbb}XES zh<7kfPm(yr#b6}>GAg1}5)4L39J?&RAfqBmMHc0C|MW7q!vXusig!-lV1P`gWApzP zfE19&X7e8It1H;1reGZz@q)^jn~M#=lhRVSj*l4=kt%$CzMpGcB?+g|__0Tk#uY%m zpums4xC1B)SY8S+CP|`OTnu6+ltHT12AN|5P(czVT8Rlj3eItK1na~E9NXJ)9vr}R zb_PjG3TWL^R#idW)&^->TF`xnwqf-xGs&&3-dYEzGY9}Ps8mQD8iI!S`btay`Ubp9 ze>gaZ2c4bFEhc5g!*Nh|bRcti8T!LRXvy1xFDYRle3i?-KHTo^GLz^4JrW5rCMS_L zJPdhJ5u~ITD=RCZTUdZBMBU?DE?CFM89>pN*m-^q`_d9TB%r#nkp=WsY_qfYLzoQ| zXx%*~a92VebkL*`gldag3&N$QLQz%*keYbAwg$HkV8KV4n+q+;Y(6JPFhLZ6bawmtI)1me!$k`7T|x_a zGATu=0|PopBMp2UFo*2TqCjf?}CxXEQgAtGv)+NDUSb8EDOfVP$Nnu?cWm@WXr`{e?CsTF3 Japu|U{=W~04B!9& literal 0 HcmV?d00001 diff --git a/Font/lr6.png b/Font/lr6.png new file mode 100644 index 0000000000000000000000000000000000000000..c229fcb9d66ebb5bdc9ffe90b19a47a6e5dbfaee GIT binary patch literal 6590 zcmeHLUr19?82{b7?e3pThdRp&kwOF!iqa60(6m~am>C-O&|gT<3R>b*4?SdoZ#_iT zLxo}yC~Hk9X?87AJhzH|{;Z^L_X1`|&&XobzpW zt11sWY?(Fy4)>9=YHD-YWl`wf7VdANMmc}%a2X=(^Y~TQJ@Qzu9XWj+u&1(1Li?l5 z(u+ZC!z?(M+ z`Fw~hF2azRsa}@iV%Sfef+;(D6${}<-69eC-q3)hiHTLo^$vF4CY?J6XKO2DlZl6f z67&xb!&g%S1cN*wEEXuccEPx98-kxcA^7&~a*U9*q5|npo^YQqg269e@U^rQk(n8u z%vx0i=k41tW@K=mueKKcp&{O9U@NI@NJ&wB!dCIjojXzF%q1mAYj2Mt#~9e_>s2D! z&A4L+ z6gfjymP*b)GJ?6TE-a0YBlz(nB7uPVE?N#8faBstn0D^u#55p8K_5+)8n_s_%?c_;)Sj97KZ3w)3$NfSGhILzumPy&W7p|TjSPBbaa5$jk<*BRM zQeLh-qP8@pn0@$=`-Bjb?RK6(1Dn{pMeo^4b2K)tbiq&RYPNcW7Ws!(b~;y$R%oHD zWlApl9UE;Sua`T75M)%E^B+tH)kCxoCOJspnAmw6HfX6YQB)m16% z4~?Jq?_;i`BkDORH5Ex0E^wcajhcOXm`W^Pbu|K`qdXY{61|H?I{H|th57lY7*pN# z;sq?UUuq_dAWIOYs`&>UUvr(EtSZrRuGt!Ma*#@jnyFUQn^1yUqQHj_`1Sm`y1#{{ zroc9GR=LP77tFMQ+o(vjy4`E;lmCUFMl_yQ$Rde{NUSjlg0YlYuRo#SdXn=Te>o+=UC;R{a literal 0 HcmV?d00001 diff --git a/Font/lr7.png b/Font/lr7.png new file mode 100644 index 0000000000000000000000000000000000000000..961db140fdae2402ccbee02a1bc8100b895fd033 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!wZ9LNFWH0G`Z{h!W@g+}zZ>5}*nOhCS;x&17JZ zH1>3H42j@m)R4UXjPXAZfF%bh!8AzS1$Wk{1K~kICSx=N$qYESw$TuT2L+jo(GVmv z;NaR=;4CUK{(bqv@I+poA`?Z|uV>)2vtyu16#u?+ha$&;H2-<@2y6yz9C+&%#SZ-Y z_%YZFnndxR+qY31$gHHqz#=Qlz{ttTz`)3eA_wFAzH)^D<|qaZ4h9YQ6e7pQ#vrPHY@#7%-!GJ|mlYu8H3dTjD>F&Uv7cVk=?C3yo zgg|XA10xf5r(hRF(M~he!!rW|hW{Tvz#YISAiyAf?HU6UJ3Cwqok6z{{4!?_isL{I;R*=A z>o|}ax;XIPw{HxefK?tk;IOqt7sBAv#erW}tz!5Otu2sUz;0=Y%*D#4ivz!J-;QB9 zBR@X_i?}$3IJyAM9SEv5ejGlGZZ89qFmPyz2tacO{sA>SfBwX93KK8~69ed0%n;)k zY-(s8g4ir2MQqf8q=XhWwWA@3EmTMm8x28HLJOPP(GbKIDx`?Lw9!-BtHU`Pq{q|M K&t;ucLK6U*yHUvi literal 0 HcmV?d00001 diff --git a/Font/lr8.png b/Font/lr8.png new file mode 100644 index 0000000000000000000000000000000000000000..e62e7c4db3e20a14f366953b9d80dd0cc4e11b23 GIT binary patch literal 6590 zcmeHLUr19?82@d%+uZyUF2%MqdMLDq5{iPJGE+>$j1XF&C_xVjW||;^F9{J*f!dQ& zVFX1%1_mXXJ^0ig=%t|ODGQZpnr`Xcbl%%{Zr;Q0wh{*ide|A~p6~n4IrsbRch33F zw_Q7RvMk-{aRNv$KVEX0+5%QnZ1lXL3^!3@J9nb21S1OL*kGc0LnbI1ny=}*uo0`sFXd@MPIXKh@xDS+<9If^`Oa<;w zQzn&)*7=`4%>OAa4l4MATA4jJw4nR6I8Pq($1YQr=?+SY6{AaABKK7o!B-q0^6QFf9xz-5K)%L$JMVc zmpTzqXKHKJ)#+)2JNfNfb@I?5!#JPU%f|>~aK`IJaCFqb&i2orVad)m*q9Rf@BzM} zB5pSkyLl56nl3ENgxqQtq<{(UQ z&SbaizBX(b+y1LpF-!YYk!5YXkR?_X1@rCgSh{cf<4gwHSa? zhYutCU! z5GiyKf}vPahO3}9Jr=1Lq0>W*tmdI!=W+Y*)IHwg*re8h7V{5x{{Q^vKj;7MchBQL zwX0;i!?XZNd#p13pN>7KB_&rCZTCRce$9_tFOnzY$d1aRKxVe~NVw7D zBB!O^yR*>ZlO3jX=e_DD7szElw5OteTU~8!&Ea}#0*~77UkBV9y`F+S6&cbR_nVKB zN)qqg&TqM+cPW z&k_Cf32HD1lhX-vULLGlwji^j0_kMWB|@({<>gC^*VQ5X`t@A7XMAQe>@_vWI({4y z*+vltaFSU2Tv-VyiZLG~hXdx^Ttr4jp!)q>pVi~Rves5eCd1ayiiLkI;n7ibWaUbA z*y)^k+-@~+_b!(z(AK67=j6=9Q2e(uXSf&xRPJT|su8$y1?uXXQicg_|Kg~G!W365CU+ryPGA@4O?lcZgP6IUk!yY(caEtgaC~Ad@O-(q%B{r zo1C7@uRMLqVuS#cY+4DE7{d#?VrUOk)%r+YSOP7qz zxE=lSh53X4wC~%;66i*-r3K@SjR?Peix{ml?Tq|fU5!b@dedW#8%)SKNaqB`%F3Yh z_Ubtoq$Rr@D~5;TV}vj$NfMSdHzTvE3M$#Z6E!UjHhPiSV#>;5E+GuE*~w5|y+ZKz zZG`*#5gr(TB+D?bT7~qrYvDL}FdjO(X_IjXg*r=XTM{=^}5JgH-gYatA3Gmleo5WIDZPe#XwR%&TyA*QCdKG5dLzIhXw#l@Uo7(g`|#W+;4lz0FyYhdH?_b literal 0 HcmV?d00001 diff --git a/Font/rb0.png b/Font/rb0.png new file mode 100644 index 0000000000000000000000000000000000000000..095f3309f3a162a808d9edb888f96ceb5846b3b0 GIT binary patch literal 6590 zcmeHLOH30%82O~EV2p_`5>2R@fYE~?iYLJ6fdqq) zU?K?z6As3MQBgQ>5b%|#RTB`QMZ!aDu|i89&MfJ|be03%ZNg!v>F&%oGv9pqcIThJ zZ8=s|p;Kq50YGQ3v>r!y6aFSC(e+OFnFHOFXOC1^A%Z^-2m0C(l6mPeaz)}F0Cm)jfAT?B(=<$dTiqm?t{V3#;rz{P z$S={+odP0+z>mXTxaar*0Y7;>YxFXRgd^~8IZP}qL;lyd?E}lW!9JtK*#NXR zOj6=(wFc-IG(*Qw0hHD3Ce{uG0q$R)0@wHofeYDS1@^YODTnrCD&XYR3{WVgpj1iW z)U`}V%TN&OW4C*nT?8g%gAq9A^25jr55u60IVuWI&!sUu=<66a2Su<=fD!1P z;0`J3T^o-#%B$AV819>Q2ckm+y)y!rf1~ZlQ8XL^xiCD{yA8J2n4h#=66>*0jieQ@nBe0Mo_+lRCC>=UJZxND;t#kn2 zrWVfOj6gHWNOJO$r~x?L3ivl7cwjZeq+ziG%@!@>n(*Hb!WTv$rajk`1+hDE&J}>Z zyE7;k48vL=43Ao8V8Ojcs8FgTaOOr9feG0l(ydpI7ohvrG(d!mB{c~jznpzTqI`niIRy&73J=1>Tfjpco+=9DX`tvJ gUjs!4MF)91z?Yy!JJ;LQnL3Yo?6xXvf7$8g|ANR6KL7v# literal 0 HcmV?d00001 diff --git a/Font/rb1.png b/Font/rb1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7c2fe8f4dcfaa3f87da0b58798fe6985cddc97 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!w}!{Ne%2iGa5r)Ut;Rx6Xf~nT4bpJm}LP*2co0KmQnhe*4F8a_0wzISo%RJWbCi#u|bwEKCgC zd@Kw$enJ?IqqhK72f`e|#*SASri`Zaz`KBe_eLE^Ab;^_euoVc|#msUuFKxBnRySv-naQ1X99>qMAs^-}Gw1)mbNl8yXU>0S zYt|R8CN+8u0MeA7w}HtM*(*rJ+)uh1Dws^QqhNI&X!dvYVci)93ErQ-=^zji&0Yk~ zUyNlyb(LwIQQe^;iR_4sPdXL~-Cew~YSq4qik*9_7#DbO>+U%~mto4wE#4SRB&{vW(&I_m_VH1fj06t{3%Jdhq@0?}@xcespXg)|6_I zU!ny;5TbIa0G{C4BcIW9_otv=tsxNek~J7{xbW`fARGfOK{@LzEsVsT6LUqlQ~)={ zk8j#UR;RGin5Pbw?``IK-g4Lgb+G46)R2ByyTh~o+^j5*>~2$#$1e;K_)h!m&WB;L~2#YDTtb~*GuM( zNyvdyS}t-d8J`wU{pD^vyZ1{(KDQ_en=17pTuOjfaH>x4TV1fZ;DE*2~z$HTJOlM=LkbfC7f9oE+I`yKP&_D+DFg2E;93zu-OT zA7K`T{K#o2QliTG1O1ttz`fW z*F7OJZJ9h%&h3NjG`W@V=rcXbT$h0OROvTtZkuUq7M@V1M~(T9CBmOOmQA;vFZDTs zhWV2p0(|L!t&_ThgdY=u7R}jISh!|m5ix=L*DKBfiRs47S-DF!3PYl) zMd2om@BB|+%KsD>gB1eEsPIz>G3Y08EG)zzqry)m#Gs$Vu`m_WJe1G%eRy19MZ?=( zSlT&Q%^X}#H{uf1U|?* z1~(eNfXSVN>;^9HGQJQny4@aj&^9HRmj_t zBpM?arsv-THRzH795YcXO5WS^YpR8gnwK^~70K9mdOeh?KpQ=*qMwO+2rml zQ)3MJnqM0ehWtY*n3NIiYp74-*&6gIiVU`OJ8`t25xa70(Dv!Oui<|^{!MSjFO+8G{q#!eLVzKT(is$g4 z==>DBTy9id?ZD|BA91(L4EuNK7DKveySq3%x@AGl3mZCH?dWRb z(D%(ru3KTCY>pZi2}8OTQ|1lkuV6x)Tv7s1t`GT}moE~3ga1Wb2wK^_1A literal 0 HcmV?d00001 diff --git a/Font/rb4.png b/Font/rb4.png new file mode 100644 index 0000000000000000000000000000000000000000..2c50466e17798ea12412e6a8f20dcd0f2d273bea GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!w}^0OQN*SwJD4%#er@=ltB<)VvZPmw{o=x=k|~ z7$l87T^vIqI2ko0uRmk_4+LPzK}s+UQg^|fHR?ckP>{(O4M8#k4z6u91mQtJCSx=N z$qYESHWoMw599ioFAU8Iw;34zGoq+kcGUodPYVvgDE|8C55u&IhZv5dg=4UpNzj4w zo1ZYeef}GpUb=|kb>NXL?--74`#=|m;Iag#17AP;$p8vH5a1DD#-*R;;#eK{@85r5 zx_iX%{mVbF0}`sFY3>kQ7GQPYivDK|H_v_r>oK(FWw7!V!lj?);usD*x$8Z{mU*wi z7V`_UFr+rg(cBUEEI@JKlRMuTW>h@_t7intdPhM(Ud zJ%G?02?lL5UYa|AkOg1|g1RN3!uZ9*UtsmRRy+*;Y2t+R(nTKZz_rs}Fq}X58Em1T z7z;yor#u5ABWkrq7uR61gz?g`kN?|K?gFJKa}WzKsZQRj&A=~A-89QYtxRC)DM)q4 zfdZ6CR+W>%z>W_~;F2cf8YM!S1|n4x-Eoi7zJOumplEJ^T=nrS_SVd&ci6=-d_sW$ z-VnTc@-xGQ!=D(=?f=B^{J~EQYorv}84Mlx7z}Lr7_`l4Q)c3AQJ>xakzvQ;Hy93s z2|T<1li}I@*9?FE{HK`%;WY`&(!oaKjpD)J*g+qHqYk7rnT&?uXb4go0+i|>O@ow% Y;6206nj_Bj@gQ?NUHx3vIVCg!0Mb&g!~g&Q literal 0 HcmV?d00001 diff --git a/Font/rb5.png b/Font/rb5.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc609eaf6388d09e87f0be85504443a609dd032 GIT binary patch literal 6590 zcmeHLZAep57=EU?59c&L7CC3-$IK)wih{Bzb3;cdnLB z8d%wnB#c5KA*3G?{!CX{x;a~+rj;?bw5@Zlc+u{$+{X=n?2LQQx$k-3_dfTz=Y8(I zyLK=yTNSDa1)wtK=ns)Tm2Pq=+1I$*%Sb0Zxj$PEH~lqrKByxW#hIKVm4GsuZW7$O zy_y(hRmNO{%qmq$GInGgwc3d(tfa80D(iGv*{Sj>atJ(cZL0@jw;J`Cg+&TUYOKj7 zag)YPF4JAmGR4Ki3IOD(@Ny7f&`aX@umFQR6?SiT22N$YMmLpP4bz7Xa zB!Co=*olsN zqpRxTRuH<0`b>wKBnTM&h=$K!DQTKqgRg#^dW zX^~k#-kU{i%p!U5=&3GDtb@V7W3It1IYA|RCq zFPc}knJqu#q{78&96+SQRrx)$p;(2wDTO&%&(5uAfU$+jx#CUXFX-Yq<_<*l$HI!t;`=oza_q@x7Zva1!+@*e-dB^TDIMU%cP^JQA{e?& zv+HoMcZvX>nVaH!bzBIl8e#qtd>$YRA4TYy1N*kbvn6n|)`Fy)ufIin#@-@5Pk<=>|8 B1h4=A literal 0 HcmV?d00001 diff --git a/Font/rb6.png b/Font/rb6.png new file mode 100644 index 0000000000000000000000000000000000000000..9d90cb1dda184dcffc19c1b29df74ea4128c006a GIT binary patch literal 6590 zcmeHLYitx%6#izr@15<^ZOe9B`?NqqA!sV~5n_~XZEJ-HG}``X5CTc5Z53?{=r1)w zP-0?yL<}U5UGr%RRgj3vG;x)09 zI7_NrFV@tWgd%76fDj^sEtoP7M5U;Q4yn%U@%7FSeTYc z5kepk#2=k*oa-FNm5UP?AN6C(7lM7R4)zQkik}v-Y=s?;Y(qrU?1-{YodoEct=BPl z&G#Qq4594xG_2j41+8xODun~sb;g738+#G(Ph-;?1mqW+km}T9=!O@)mnNqdiL}&Z z!{#sYIh&da+v4GyUVPrt$ANpM(uVpiSx8BjnwJM-M?)_zob-fMob4FLgxe2GGE2qQ z)DYO-w0%8@d!8W6x%fE|Z+@D~fs+)ewRKpr*+g%{8ty3ea;W;#`SHx3JWL*IJy& zo@c_yEguf;9>VX3??iY2?cWZf^rbn-nQ!9kYAN(BzUL-1%ov4B%y@rKA?80R!Xzdk zXMqV#pXK3+=dHYFNWib(kMK4XH44yRW~U8Hy{f?hjYeKu)$8UmpRjQG)ZMVC`b?3D zHu*W0SERgU*@f~qcWih{bztFy6kx6b7-?ITMv_*}s=+9?DaFQOqW~9_h_cw>e&uFC z`X0|5j-1)+YAC>EucVNUgn#VGpT~H^L#?yzZ<+n6XWd8_` z{xHgH(jO3q_YLFNk34W|N)r95Fh`XI)^7Qyg4nj97d_`DxJQ^o4brn7v|8Rt{$CQU zUci=J1z1=*>`5Pbo1F>u>9smFU literal 0 HcmV?d00001 diff --git a/Font/rb7.png b/Font/rb7.png new file mode 100644 index 0000000000000000000000000000000000000000..a59561cb5635f6e00df0a380f4cc4249764ee621 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!r}~ zFi0AEx;TbJa58F0UVp~;9|*vbgOp$zr0#+{Yt(`8pdgbm8iHg799-LI2*QJcOvY#k zk{NJtZ7d+x_pg5$lFcr|1<7Gl%~fX5vEU^~D_%X|D1Ltb2VO@VA>>g51F$=E)x6FS9 z&fUmvaElT_=F*&v(}CZ={AJj&_%(_HxcQhE%v=Rf#AwaI>A+pfUo(9D1S#)ejF;x5EP|tt$|@FPyoY$pjzYFsV^96`GmmLHikH@1uz^4YIwq0D#(^| z^D!fH>Bc6yu|PK$p;?3xf@tys&K-3irBN^%f}4qJ8iMy&W@oa6zH9}V Nvd$@?2>^&l!Mgwe literal 0 HcmV?d00001 diff --git a/Font/rb8.png b/Font/rb8.png new file mode 100644 index 0000000000000000000000000000000000000000..6a072b9369a78058c46bb2b8f0e88bda79139a9e GIT binary patch literal 6590 zcmeHKdrXs86#spweIP}kqJr%dS&jJEj4n&&vdtkx@qxw|ABj&4%lrdIGBOh%o52v{ zBI=xRY+(uWt?`lIV`w18N8%$I-_ZorEokLo(X~Knp=I}crk7s(skHf;@JCPc^`3L? zz32YE-|e~gbn~3-sfOs}XaI(+X&G}_JBl8ihJA1GR_3urlQUy#2D<1|UVY$K=Ft~S zTl789-$;*yKgxzMr?xO_R;IR2V~COxuISe6Vy>7~^A;9P`7SRnH@}dXK-IB|-+`ow zSs7o?Td0>tB|Wf8T}ycYz#_+W80Tloq+-5~ZS)%|Fnp-U>U0a9e|G0cEjQ`SrAAU>awwemh z;#1|sTsJscWaUq00UY@(<71FlGK^F%4{x+`U2TN}d~~-hAolG`_5dF_5|g_bC0ncG zVaQZfcx0ujuyjowHh=pFw5|SfytKjJ#KiPi!B*4Yzrn5fk8!@^LiM=NobJ zydBrh{>L$xELyBDx4;mmcw+H!p(-5U(^@AsEUrPDq>k(PadGQ{9hG}uptGarFXel=p0*qyO|Uh%(N`n5-WiA3KC-hOKd*WW zms30+-#IaePI-&H-Y%3EKSk9+8=q=S>WAq|6F~>{<!X%d)j50UY%u4%K4GY7@4fNt165|M8?ZS>12CRIz1%P0z&Ou?cU_%J@VLzS;Oe zz~Zs-Z=Vw|I0%Ofkjf~3xpA)hob&hl^fzCK{2zU8@O7)&$^gH}ju(RdxuFh!?`cG< zy;JbhaYEp?7d#RCRME`L86^1BGUOz2ySyk~QOhz_ypN+;ju5-FeQm8CR&I5`-7Y4G zMkgV^WH=^F9-tN`Ar8Mu-0dD5-cgTpM{PYSRw>F@mhDSc4-H!_NNaF_WRSGCd2s2( zOS#-{Zs>sRxf_m`ouI@qCTTE`J;@`q_%t&vtiWEQQ2^-c=q;_BB)tWU5{?K!C02s* rMHmc*Ev2y$29;O|#us5Q7`Bwg?mJ|@vr)>FE9b1t?2KdS%ZvU8nl(by literal 0 HcmV?d00001 diff --git a/Font/rb9.png b/Font/rb9.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9764f7121b807a70eaccc36a20557de7fdb15f GIT binary patch literal 6590 zcmeHKYfKYM6#jN8?Evh7q9Td!2QiA*M-j-4_#y^kV$_Jl2WlezFvi57{xJH( z#KfraqW8zuKT4GNxJGZd#<#{8MSKg&OQb;2TA+ot&a8B0I%q6z6Ml4>-I??4nKNI{ z?3{CU-=eH^L+Id80EWyA(-P7r(M!^j`vKR#1*Fri{xjVKH~pRb@AM&pglx&k-3o+7 z(M!Ow<8cJk6=p6-)75AVqNq0}M^7V=eqDA>;k?ZS1$mnai3nUPDLo1pCuf@GWaoqk zNyg{(f}1q?VL!cz{gjtND?m_jMIQ$N5BAY<%Cvw76<73e5b$6h9j8pwD5LHHO)O9E zSaJ7CD_%dg!Sb;a?KT$-5gNqCYcY1Z0kalHA~r$iJ=HHVlj^FTwc*&#YP^5Z@zce` zARv8tG;+5NhDPJxw?rXWe&;g|Y^Xw~olVUldJ!>0v@q8>(Ei265Fejvz_!C9Ac_Km zt0~9?EoKL{EqH-8>vsadIsvP9#^aC0q$cTZH%eRZ*RC2kdi;rHo8qu2pO!2BY4ZMD z`rFKqqf0GaAIFfRSZY=z7Oxvbhe|tt{3G$KQ<2pk$OIpjed6qmIheQrDG<)pJuf&sER&McM0i-Yy#rMbkimJ~#@)iq%fGr0T zVag#fPhbOePm3bao|zTV6OzaJaFSa5)Rdztg$9wpoPfF6QMh`#3AJxJQ2Vw6!CC>v z;Sv%?O2}9qBh$E9%7&FFBmD~XPg4kb%qNVJkXJO+BXa$t>wL@{GbN1EQwxx{m>PR< ztrht*%dsY<9RKXE!;e0fub*q-)}D|$fWy=RWP&c28%K6j!)kHD-tNZ5lVSV_jaa&p-LK(@iy*H#I!UvH!}uQ5EOz=rwheJwJ1BozhmC( z3`>%*cK1*WPv$d_x9;!C3PF#dy2^I^f3^j$9@)^`;6Q6r7ee$wB%5e3dXgSf=Y?b3 z4F4Sp4-Zez5%fIhFTE0G`U@d%9sz>h9`RKUc+gjmdFux}=H)8nD_>6t&<%Md(FE54DPk+MvaQJ%~l@!Go<>@#I0;Ln%rX zJXL!rUV0D&pD46aP!zl7O{hlsPt$pzDM{f~9v5nO=txsMzHNAY*N`}Cr0|1q2Qb5cGPXNlb(;I~&HbGDKHZK^+x!X;yf;vPYd~aS=z&&G45Mk@)xbaoErx z6Bk=w56kK*ENg3ssjCx*_WAI;u@T<&bum|PBxKM*gt&%>MXoi;$w-=;gW6!=Ip=cW zS6&_hdwU`~eSSXfjgE?#QUgANzMUO783E{GxDZDJs*Oe%tyWoV5BUXpMVz#zn?vgabH5EV%usoY#t)z z1zwpI>BdZgaVICtkQy`j4Ht&S3)EOFOxN7mnT%g0P@9q>vsD7{0`KQ@+^GkK`+Tp+1PqB1jOzMK;i;5;6IbEJr% zWtg<-$>y!k%93J5#=Jo4$<)<_pkyTmwzqN8(E*MW1stgdkK5Z3knVTnIc@6fR74ER ziBK%ilYa&VaMaQQ0!6lbxkXq|x`K5&nEU$?Q&AzZS8^Z{NF6)LB|L6xLx7ZD*EMZ= zI_~!Lz!0XzaS>Z4ke;CT-QU4MxTmJzU0z1O;Q-yBH3Vlmmi(2KP-&UJ7%qG( za%2ir#Ir(9ghir|KgHcd1csW@NCqPr3^fCx&X3%Kp=NO9{n5L+kAD8I3tNf3c&O;b F+ke}z76AYN literal 0 HcmV?d00001 diff --git a/Font/rr1.png b/Font/rr1.png new file mode 100644 index 0000000000000000000000000000000000000000..0d0047dfb55dd68e0d067c01c38bc639d0531b87 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!wZH-i1pKSb;)3nIRD+&iT2ysd*(pE(61!b(>}~ zFi0AEx;TbJa58F0UVp~;9|*vbgOp$zr0#+{Yt(`8pdgbm8iHg799-LI2*QJcOvY#k zk{NJtZ7gsWl=1uVV}}1felRcqE13UZzA*fK@q*#k`ST1v&zu2chHu{(7d|fiM^S`}vdM ziIfzK3#aMnK)g}R#Lf3Jr1Cc|69QJ4kk`rpkdPYMKIW)*&kA@&Q zp@ysnZwUVX`xjX)oQ+Eyu7HXRybk>H@F7;KaEW78Oran~W8v%CwG4kAJ!1Ix@gu{x zty>xX-n)lk1&fLb1E;Sq0}~$~1BRIuLLC5g|DmfcV_ UKOc+TbU=zcUHx3vIVCg!02D5cD*ylh literal 0 HcmV?d00001 diff --git a/Font/rr2.png b/Font/rr2.png new file mode 100644 index 0000000000000000000000000000000000000000..a265033e9078eca06c815bee8c75a0c4ed947591 GIT binary patch literal 6590 zcmeHMO-LI-6n>k;n8ZdKwM46}7eSATp2UNV2}vlCQbp`RTEq%fV+#h49txs`;zdO) zDg_T#5rqmG#2y4eyr>ru>!n(#KlL}UNs}hKomtFw$4zV9Y{0`#n4LG@``It=?aoZd zn@1H^z3#3K0Q7d7`7s*vao4EP^)2moqCs8v&}s$-f8Ku@?Lmn4mF-C@KvEj+6ucYE zKwzTF?yw|&RqGXZsJe{9dkDJqqN>JK{?h4u-r_=2fceRf0|1#tcJqU(8ZDKdx$%u+ zP-B%h^rE<-yf|7iK`s>{1v!Hv6UVv98RSwSQjjw!GI5-nijyt`CL9Le%nbP5ZV2t{ zKp6Lf15jpUfGRs1l&EX1R?s;dKq-}%-6fwBTb*}k2t2*LEUByRq|C|!eNz+Y8ybM3 zsH@CH>p6mljg8Tv8 z(9waO_CGhFQc@tZ*|5SS#@*23-fb^$IaaMikX+TAT!`@W>5F(;j!3{BHlxyP*MN__cS(`ffNZfynM z_&A|bpglQ#U;s3wr34tSMj_f*!%jBP$iYc&hZVnQQieicp&6#}$ zgR862bpMS}=pdmkEc|c#>lm^G6Y}z|<0G)unoK~U9Vi}65`voY@_2A#V{&_O-0l!# z;P})fMpArtnIJzKVq`gkVzS2fku%88h8S7SpqQ-jeQ49u4+r-@<9}$tZmBR&nx4J> E4L>G@!TNhy?A2^e068V_2&-!iYX-CP4(1{jkCW5duYu2!g&4 z`cnGU2f+w`71Y17f}j#Y{9}G#<`+{pWt(^RcJ7UP*xjz=bzAgf?>IZ}`<(Nh^Xxt6 zJ?F6N2M>5HCYK3-#kbFMh}7G}lFyRw8~m$gQn9D@dp!`u&*QgG?-Hco;=YDUK%reM zIy`u^k$}clU;Q5AIBQ|-JGgF_n?UAsNBph3FElrwKHo}A;7y?KKH%Kp^VA*j7wEP* z2Y>1WB2wdj`o;XGyeO?4K^ls6D!B-*GjP-`7eN||bt<_Ct}}4dEstsmN^EEdOV6Jp z_Vp{`lao>r;&J4;-O!W5R#u|$_;Iim6$xJ1Q59F+%E$=j&Ynf=^XE0q##UFO_~y;5 z5~T#AU%p`a*f9umbCjH**Tb-NE5I<|e*6GpG1?|8I*SFRuU}`4Bu$cFTbqJhad$U1 zjgQ0i@grRQ{csNs!qm_p^P;s73SqvZgW8!^D8bnG?~1V*5*fy5q?mrg2G~|15+y$% zTS5sMtEv=p@CyqHTQnk{KBZtHpm#b|@l1d;iyaRiV&V2}DP!|%Yhfl?Dn1p(EapZ> z5&QNH^H;B`&S`D^^WIc#OcSI@k~~h7Wb%~Pn+z*#oz)84wQDf@{R%vj292QBL3K78 z>?Dy2_U_f{s;NKSgPOcZXCWBGEZGLX>gupEJgn7y&HYzhVtE8U97cS07O{Z=gnN1r zefLgoqP31>xRYdZUTG=CGNt^LVB$pl$_i!Nu%s|z7=#K>YgdK8X(_heI1$I1CP zAzpvUlAn*w6BEg3+O`zIr6*4m113Bu2wA^PD1;v_3MQp7i(uBZrl5>0mdb{K1FV5+Z&_yo(g zq!7&Zgj&a!l0>W1zwDnQm~OOl5zIv}-3X-XpWB1!M)1nAb7AMJe(4GC+jGDZ*mbh& EH^omu2><{9 literal 0 HcmV?d00001 diff --git a/Font/rr4.png b/Font/rr4.png new file mode 100644 index 0000000000000000000000000000000000000000..6128546f7908115b7472fd4d32fe6ca8f33874bb GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!wZv`ZND?X+R;K%#er@=ltB<)VvZPmw{o=x=k|~ z7$l87T^vIqI2ko0uRmk_4+LPzK}s+UQg^|fHR?ckP>{(O4M8#k4z6u91mQtJCSx=N z$qYESHWoMw597zNV+=3-{1|}M4vH$dw{KDSwBQho;=dn1GQ7>q#Bdxf9D~hFf)0FN zTFUVE$rEgP=^}>LfnQdyX85*tEnOUf%MzRp{QdYb11R)BfKf;YmwuXyV|C#FfB(Sg z?*He{UdjtqQ-g@p9dMIP+Hk6m31KX&c}TgW6K z!5}hY1_L7_BV8Oo$P&hH2M+vy6%@okv2)ni7^E*Oe}9$!G|Uh9IROK&k%GG)QR( Xp6=;dp7Kjd4rGp}tDnm{r-UW|$~duZ literal 0 HcmV?d00001 diff --git a/Font/rr5.png b/Font/rr5.png new file mode 100644 index 0000000000000000000000000000000000000000..23cf7be4e0819428c4dcd60d1c682e684f9aa851 GIT binary patch literal 6590 zcmeHLO-LI-6#jPeYuwbvVxkTHKv5%tNGs^Ui)}=MR7#1cC{mOjJZKAg7gUf+4?;nx z_E4cvK@cqn7AjN_Zz766C?bkA3buNXs4;(?S;&&4BWkiK9`eHO%zHEQ=9_Q!y`9aw z7u6Md-9sG!y{*#vl9U#DY1QQZ-Z$Mw3UzZ;g%y7K`#kgY1FkiIO zL~OjHH~x;|l3>LFN>oHxi8B}>ani6jgAx@HR+N#9^SRw{&CiQNRTc}BCQ~GCZZzgb z04X59(Bs=DSLFa zQ2|utbMNlrba)u< zwKaIQx8XfJ1fP@yn)kG2We}R0ph!-R`8uQnYjB!LY-|*B9Xy_^0qArv^z}hc`o>b2 z0BOYi+&FkX!X-MzNpcAhfg~b#4ykogEm-+d@@Pz;t}l)rHHA4Q87h#(x0% zc^)YvBS`M=hdM703X+VqrKK=UPeaMbdz{yc)1e_burPf{TkJVHf@^jbelnp@Tg&Y1 zoS48L!fd!Gva(=aSO_=EqDug&H{Zntc&+wI$DaLtI9OY)RwLu!;L35)G>BX5T3&{u zxER08W;n=pQk^B7Ah68f$zu>J5dj`|bilKoQArB^K&;*1YSWmjUaXvK_FiE8#}YsaivEv8KZcxRV{mV7!b?&IJtRP(08bdDiCa@r z0$oiFRO#v0twWaf5P-6Hl-Y?GBr^My)m2N zIn5sTfd=!8;*gzXp=ucMNSfz?}AG}hO zgg5@DU-Ey7ONEsIs8W%nl3_4O;?!Xo230DOR5A=ENt`;&sA@4vG#tj_^XFK4_6&jd z?-BO-5M5q|p}3eomYN#a4_k?%x-DdKxOg;McGC zURQ_c?5rB!+R_4NPY;ZRg{sfj-VXoRm})bngxEIZ<_bQ&4D}Sx-nb!vGuPH4e_%iW z$0oIRbO>`BH*A2MlOy=_G&qBdJ@2+{kRlN^b|JB3-n?10W0mE1@32Je5-oq$v12gg z=f^hds`FF4^zx+u&QMmy!TI03!TjJLLZ3b%`0*p6fdJo&mfgGI=c>^R8WRQNk{vJz6wA4%?wantro=eF#iWYW#XRIKW6uYFP=aY~2di zlP9oj-wuPr0j08%pK41(!%7$arX|4KojZb0PlE%L?RHJfY__*(pT&#g?Adr1{KRg$ z7GBGa-almz##WMe;^(<2<9dFM_|^w76& z8Xt3nzI@U6jcKfEI6zi9L1BLutjfaB(5exm%|Cb$WBpZa&CMF0UJee>P*4EJnKMGn zIl71EVyYDO2gL9Ge#}37DD;!^@{o1vl;G3T;E9?Aj8KW?Yi&i~?OP$fM0?RlS05|2 zu(&9+G1grpBd}1uOqZwt*#r@)nt##tHUH=lSbkeejOFFXBSy_sE2dKffGZOPrlznk zJk0Z3cxDDHk+aH0cDZ1t1a6}u)#`R9%#$lI^m-=*s8?`3;_ySFN1$}Y$N)^0*$jgj i22*7q)$y4mS!0zy1f#Hzynb literal 0 HcmV?d00001 diff --git a/Font/rr7.png b/Font/rr7.png new file mode 100644 index 0000000000000000000000000000000000000000..48f1893a95a3347071a6b4ab3d25ce4b1e9ebe1f GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!r=^Sc8g&2T+J7GbEzKIX^cyHLnE7WnkE|ZqrN# z21#R27srqYPDTyM>(3bf0|8iakP=LT)Ln3AjXDq>6l5|+Ly*jXgKHZNL3mJ*$ruem zG6N2-jRnN|_vH)26M1>KAUO=t_3Ifp?d-_WidPRfihtj^gI5tTl7AjOB1Rd>Y9J20 zb&F(;=ocM5(A5@ECVAaCj$c`BZ?f1^ZUvb2Dqa*I2bsb zoM2K^rNIvT4Rs)>StC4sIs;Ew7+y<$96ieLDl`wC4s&z7ddQXpHMgEx zS^a+~B=rAPN(zXJ7yP(z;r}Cfd9Zqrp3lpd<5f?oB)C2J<; z&Zjj4uLD0#p3Hz=i1VbR(ArHX=Htx8e?Na_cxGV0@c+XHxCTZ60S4)7*BF@C+2LZe zX5b9LFLUOgI1c0xu7Ci#Iu2wfRtNt3_Ko2au*yRR9JaRTLNw=Nb>P=ks~G-6YYSu- zuv=OpbLqmy>cH>Yw_{k&$j{HfA})?0PHO=S2ZCyiABPWP*vljg910o$fZ@PDpoZtq zpBPSI0_Na>062@8fp82qJ265Ko1%df8+9P1p+6deqajFX2vDkjG!0T3f`(u9)T-ak Qz6LVK)78&qol`;+03#<;uK)l5 literal 0 HcmV?d00001 diff --git a/Font/rr8.png b/Font/rr8.png new file mode 100644 index 0000000000000000000000000000000000000000..7f87c8c2906fa1bb71fdd59288eae08142eb0241 GIT binary patch literal 6590 zcmeHLT}V_x6#jPi?ykH3M4O^(8A6HnQcx81q?uwCW`xiNi4ydnV5SKX^pYSFCG_*8 zlo&!$4?Y-_^y7n1TG2~E(o+^1>tDI6-d$bq?aZwm?%kWX-mc)o&T{XZb7s!Wx8Ka1 zIlDJboh(arXS)HUmLDrQO?3f#k{tBDB@HxCVBkHcYU{4QzUB3=F5Lk0YI|20Ez76Nz zy=(S0+Cc;GXKO2hckXD$lC4$- z4ar|U9(hdlOjcLR%Rhen>G1b0zI`i?A3CJz=lA(EeauuigOffVLa$zFzW4UgQP?sv zG&ZJ$KYoP2sEFGw#BR>m7}w1dc$f))_@EnC930fym_f+N(bz36mqs^J;Q;ZEv~ae* z9+PLzAoT8?X3juIhemfDKd#ZuRQM84RaZlN{(RN39S090rKScV9SE_%pZ62!aAcBh z^LV(;Oo0PjqW$J4Cgi!fxW{)_RblJRo3N#&#qG1+j(mw71qH}__6+v@`{N!%q(c?# z>ViZ;e4`2n$R>zToU=HcanHrr4z#ypiuS1_igEj`r=zmOvLs>l$`vehcXMCcjvYv? zs{<%dFZT5zOb5lnTlK=0YuB))sY&1PpB4pRfR^dk)vJ6cXHgL{9zIlVkEn6^+c#x7 z=h>GChofd*3we3S9vQwX1N$4q{G#kZi8lRYWhItkt~3Y& zY+f(elFO9DvM_|$a6mz9~1jz&}fvXP}w2y<<1nD6aXz{E3~v#=0b$!EiI zK{dcAAZcL%3s0Xa={`$PBje*r%5SAZAW&>%@zG8p#a&Ucp}?YeID=8cW~-G$ve`hX w@gxAM*)Sp}7&O9~+9$!Fnhhgzf=tmMGqK97cDXbM;G>wQ{#fOj-dN6||>LsFwASfzQ zq5MfA(I>%3im0HM0((gfDk(xYOO&?SA9dWH>D;lMn4L9ocPD(z^zbQf>YrRiV3y?dM>^U0&m)`Kn0&5fs8X$U+Wd~h4c+v~8G9Cc=JMS1VO zaw3VOT&I7!b;?Vol_DsIBF;`Kf^h~;o|cNB9EvzQsR+gyIC+{u?)~Yoi)Hb}3(OA< zL3sTdp>N+H`h3t?tuSoe3giC$$aFf9M*aUGimOf-9fiB41%dJLf3IyYz}(n~?28w{ zQC~}u2`*67=4xvJK~Sv6Su8MY*@EEI6hx0lp)=a;*x26>PN!iivtl7IGb2uI+a^w0 zt$&}qJki_N$JDZT2L{B+{QSQ*WdHNpHCeAkM|yQ{M+d}TzZB8QI(ru8x;h1BuBky* z>vCljQFw0LK*;Nj43pkU1Q#AXQaLtNSF11vMB}30kNLsDn6}9PC4xbhOXW+So2$YY z5DOPxy^3j@3{WD-nOMoJl;G#jO5o2Z@bRMxU!vWwl}H5n-Mdx(y+4nieE06bef~TGpFSZ>dB)Djxf3U_5F_8BH<-#<0)TW5((!=VW5*yo ze;$`B&TPi!$;r6pt~O~o2RRNKdwY@D&;XJ8D~YJr!$dC*+z@{d)vHd;rJuFzncYw4FO)X=;+pX7=rim`g2RTnyX8hYBoN1Jy;!@7jeNI(%1> z`6o|QDkBlpN~BNBoX-yr!&O)a7gZ@gE?fZ1%UI&4yEj^lrKQnO(#Ff1Bpk+dqpLc*Ijn4toJCdoKYpW8++r_ zU^F88@@1{KNq*%`;-=!j*WImHj2$1W)M95L78eyd(B{eM>_lc|r4mo_NG2$TLU2>1 z;->?8HA$nJ$9nT7()a9H%`{=XOfceUX<`C?%0FRb1i|TPglA{LidMbNhIGm|Q$+|F9jr0DSd5U17p-x3G6~RO!km&qW4kj8w_r!JG_H&z@%#WkA K%077D_@&(3bf0|8iakP=LT)Ln3A4SEN%z?}+YFfuYCa|eu#oa%;F2*QHw zp^y-aNmp9_-8&5X27L&QIuIkyNE8?iL1F_e{L?46Qb$KeID62CAWB^fE2sy$m>E(9 z^`MX9Q3t}aBbkiR5F|6;;MxX#2%5RfD3?I7ep0FVdQ&MBb@0K-FD4FCWD literal 0 HcmV?d00001 diff --git a/Icons/A_icon.png b/Icons/A_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aea5224c4a941ee813b1d27d020f5f7aa00dec1a GIT binary patch literal 6590 zcmd5=Z)hAv6n}f^-R17~E+r>i{)o1Pl3&0ulJ?FR04zstrce@ua z-W_p$Dfh7V$I8S2t2~F>TAJx5RkGjR z-7hna@2%FZL83qyk3?tARxze`D7tfp_YaR8dGx7gclAJl+~2u>=%qIY2KtT-u_n`L(302(j6vrl}VzZxq_K5ubS7lBNCbsNOhx-rTjkGp70%{xJ zy{VsOZoe~JCI9%HskiKcO+2|>srqpEc4bpTjh!*J0RDRXlcewTdx+)#tSr9%ZnEx! zV|jJv1gJb%y7$YTH!7S?r`>;nX|MlsWWnWeS6Yp+1gL^*d3Ehdr_{=@#>bS`U;1L+ z3Z&(FQa!iA^`?QyRl@fc!;IxTBYoS;x&U*2I# zDn+;0wv(Bg%PXr1U{6IU+=GDt1@`UJ^yRD(;e`YXloovC5A5AbWy@PgjM4wxxS<1y zJuuYY&v|lpH^on#B8hYC5d}?g#_gt>sVQ==TSuwsX^L&#YOsd&S<7U^66@@w)RikD z%aS%sF%le0>8uWT2H;Q@$H&z=`<1?aogT19EEPi!(_fKiMvGYZ8btPGCamL?my@4) zAv8G1+3ro7Xbsy+GMqz{kt8Zxzn)0Z|L1bH-N;9evP*!VAZ;W?EPRUbdHHk0<2f^~ z$mPrAZEQ4ZWSqI-VTzwTsrFT}wI=5XAncR3mS@0BS@mx>V_KTZJqQMJ1hWCF$pZ!r z9PDxrqJg7M>OfmgFG8-E#rye%n3y|r55g!qki--dKrY>|ErNrr4j>pvs!{(R#mu$= zAaVjE)vFB2W5!7_YYw1D{u%aG2Gy>y^ug{p?^%y*;DMZG<8tYL_+?g%S zZgy=65SczQ{$g%D(4Fg60bnfws+|lZTwjbe37ybwb>*RX(sB)I0$N?t*KZm~)Fpd? qDS`xDvRA;_K#SeZ86?FvZb!e={p~Xcp1=P#WTQLUo5!|yzyB|zW8T;R literal 0 HcmV?d00001 diff --git a/Icons/A_key.png b/Icons/A_key.png new file mode 100644 index 0000000000000000000000000000000000000000..18fe6fd3b4b88ed35c8db495272a31fe592c908d GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!v+dm-B=9+kiqmnIRD+&iT2ysd*(pE(61!b(>}~ zFi0AEx;TbJa58F0UVp~;9|*vbgOp$zr0#+{Yt(`8pdgbm8iHg799-LI2*QJcOvY#k zk{NJtZKELw4+=6FqajFUz`?bRh9EpB$Yijf>w6>&Y-ZvCa&O<_k)^&Ah66!Xuv=SW zwdv>4qj2%3dU{~C^rcI1Fa({mot29 zZwH%&%^aK#gu4cffu00F4n-G3(}I`FEG>=Kvx7btlN^GeOoAN6pb)?oHORq+Erem2 zjZhS0^y)x{;mag2gNe-~*c=CQJj^T@9~+G|1d($qHccQgLZODN59AP#L(yquHMrOq z4kX4`xD2C(I7SrH!V*f%9Q3(()Pa;lFG%lb2#$szr6EA6{?Rlz8iJID0Hyjz)8McV Y!CK9j#Clc(bC5?pUHx3vIVCg!0Hx%CO#lD@ literal 0 HcmV?d00001 diff --git a/Icons/A_moves.png b/Icons/A_moves.png new file mode 100644 index 0000000000000000000000000000000000000000..da25606b9d3ffc61e7b6956dd5e847b83d7fc6a9 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!w|MV?tbz3s8tBGbEzKIX^cyHLnE7WnkE|ZqrN# z21#R27srqYPDTyM>(3bf0|8iakP=LT)Ln3AjXDq>6l5}3$kYec_R`M}MLVmqGJ{Zm zKZ+Qo9I`XXBVk}3#Q}KY;;80OveMwY!a^KQg9v|Fw1|O_8oUM|Ns{G2B>gy<)N&+Q z4&-of!09k#36LYdZQO_~L^7K!2a;?H1sce5AeX;C11KZV1CX7IL5{Pp2 zkAhXny?skSHA0%AG>9+;Hw#n_f|3BtaUhkX)G{=6AjolVl9Di7|NHJ;3^7~+B)4Wj zz6V)AOv~l-+__lo{rltzR&i{CB!wU-9f7JZP;`N4P}HF}xsWXp-?Ry9QN&?ykE{$Y zo1{#FUYsDCOsHr<)+;h^9s{U0A_frcz>j@>3?Ext@tR3W?!;>lk|fbl3`%o^0CFf1 zQcJ8n(GDcmKvIejV$3AkfyAa6Vk{*^4bct+8H%rQ0JD_ZohFhTNXT+xJOJ|uu{22z z#Ahg>Vg{dHd~!q=GsuP@SN!bO)(oHmnO1--2hz$h*vzF`6k{_SBnB#WC@FeKZYFm=c@&7v6HaUe^{sS0Tl#jsWna!7#Kq9SCv+a_br0k)-me z?m$pF!&P7tJ7j|F37VxrkR_ndgf;JpX@Mg<492FZ17Vg>LQ_48DRB%oy@TF?#oD2Z TtMAQE1UcT*)z4*}Q$iB}9JYG_ literal 0 HcmV?d00001 diff --git a/Icons/A_open_door.png b/Icons/A_open_door.png new file mode 100644 index 0000000000000000000000000000000000000000..8e53bb730cea060f783be50b91ed7f7f8ccc98dd GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!scfh5Pzd^MOJ}~ zFi0AEx;TbJa58F0UVp~;9|*vbgOp$zr0#+{YtTE81@2TJgOQODnLA)?M)oasqR2( zIgIKKq_)GT=0I9F%+b-2VgLU9U^h|}#URJw%ayQDAchYA^a-o7L0OZ)LJ#EPLF2%c ze0)PE1d&}jXhIO#QON932O@_CIqcC8Bq!96^^Arfa%hmlrl_ieS%}=wq*m1jGn*<= z40Dt-D=P!CV_}w1LQ^FKVGfwb%L`*tjiyQnf?NX&MXI?BY7o^NNNtC~%o}weEF?&w zK`m++7&IX`+MwzE=MTCtRzAuY^`IZX mL>}41>YV`)9Q0{$&^vJbCHE$7ugSfj$n$jdb6Mw<&;$UXG;PEH literal 0 HcmV?d00001 diff --git a/Icons/A_time.png b/Icons/A_time.png new file mode 100644 index 0000000000000000000000000000000000000000..04cd7a57753cdfd0a0b4b0f1ccf76f2b99b818c8 GIT binary patch literal 6590 zcmd6rO=uHA6vtmmo7yH3N+~oRisGTci(n8$i(s4D1hJ?DtauTjiqfdXco9UfC(&D_ zVD;cdMUV=fg4lvm1d$xPX!Rmgu!m3!wo0|oI{&~9vzwW5Hp#mCLbAK_@!l_Q-t5eq zn@0u*Vy#(sC(%;xbXB9p4a5 z-tT0E&H2pX{^qaYSZHhKqsBeESW)y`b|~L>F_#;@kY|rXFQ=a0C5k6AsRP-emQW)8 z@mpwvNx3qhKMeup;#iIR&gIS8kDpYUc}GhV_b65@NP90Q)6{l;m^ylQQ`6>%w9UT? zT@P_-rbwmnNs7LHTA{mZaj{%B-_D}XAuIc{)R8;GV3Up-{i8A9Qt=ZlT)9Tk_tQ#^ zIzX$_%FaHD-x{N~WVcnMy&A>f=j#)+d~mN8PHRP|#22S)F zn|M&{hha}VxkC-%Cb8Iduk>IUE`8D%&ZgDy0dYLXY`~UElz?T=Y2r<#&}}(}9JW*< z1w?$vW~oX^t>v(#iph!?#B4?qsP{Leu5eGzq6BH3yI3TjGS_MN}kKq+rcnsEKsjKx5TK%O<9r9M>2!0C~ z#2lIrF~E?w`YlcdJ0MG{k+=FKuU=>JYBF&67dh}~ zFi0AEx;TbJa58F0UVp~;9|*vbgOp$zr0#+{YtTE81@2TJgOQODnLA)?%2iG>}LlC9G3U@Y;fvxESlBahWiPM1~hkzVOZwDa<5{NzM zqj+dLaG;}iG>Xv^JURTKod(JAF}Zq1Th!!+9I`%G?KRq>Mh+E9*`v9b(h$Vj?WELD sO7#z^OoGxLM0Po)p+GJDqnU)#kYv7QR$y8ZL^ z*94wies?VpEag|jTMaXGrLQh}$5LOXw_tjC{<{@lR_m&Q^=sDFE!j|0^Y9aOdKK8) zxN9pAnjeiUUb8l!g+qUIX>nb~j9L1Vlcl@_tz1z`vC!QEonKd5ZV#=tI-?UK}|PbLv~N&$%gx#Z{$Pw5mkXJ5^j0{CRIb zw!e7-e;yff>eJSK)f_*n9-D!iBU5et5=K`9w>{s9uRrNcw8_YG$z7$Wey-fHFI$5B zr_SMxjqNETOL9W(JF9<7OvyPa=HcL{VW++jKKd9lIpXRB| zWBQTdQS|qm$3V|HH2*M&FWx_ee+Mtvwn-R?Z4N)u2r>w#``&qd9+X|-!|ZtlSiL@k z`rX%|G?X+B2~N_J*yLaoi6D0fI~j__v2Oma_^AGPlH13xbz$@4t$6RHPMkbGEbLQ? z^KkD|SBkn*!OTGrKmaKAvfqg%|HXietZ7A8hTgGd6-JI!4fSY#4`siDBp4C(*EJeCzW0 zJ-GAH>2^Gnwu})pBOLnvjHJ4DuKQ49Y&c;A13`}w2VVbp7?KPQ6+w^*j$0|ZOa^B= zEl18?7giQa-TifRJorimi;9tpSR~B8+FFvgFmrp31bxkNyS^w6etQPKfCmdIiV(eT zn&i^-srxu<>|dOyxxLg@9+o;aSKORt%xzfzanEUNscqLw?xy+G&%+{36(h*JmEpn7 zeoRn1IU75V*uW^dJBIO1V;}bKKCQdEBS#L#99j@0AoEr`f;`RKbHhP9ZVH<_atRK` zPQ)Uil1Vj_m`f$ZHYfHHK@ww9eW}C>JBc8V+)Sz`TZm~s?vq0jK`NQ?^JSeZA(rZv z!IB_}G2@?%_mLRHQi+lvuOpc8Pvl6lZ@XIsk`{ql^$)1e+RGy&>8!qfGZM|(3rr(P omb3N>*i3Yy>&jI;(ZFu||Lmb>{ap*UyiWh<(iM@$ighpi2Ot-o7ytkO literal 0 HcmV?d00001 diff --git a/Icons/B_key.png b/Icons/B_key.png new file mode 100644 index 0000000000000000000000000000000000000000..5996a43bca9c53a617bcd2d918135c21ac481972 GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!v;B<`F%Ey+9$J%#er@=ltB<)VvZPmw{o=x=k|~ z7$l87T^vIqI2ko0uRmk_4+LPzK}s+UQg^|fHR?ckP>{(O4M8#k4z6u91mQtJCSx=N z$qYESw$TuT2L+i7j1Y{{zCfl?w9$s)K#(%Ad71ksDK@b9*Q7`-M{u7j45^G+Nm$V9>rx2 zMw1`rm}OTD;DOVeaEIag=`V0TH5rOpoM4ZF%mlGpSF58Kk2eHSR1Oe_g^<0l&_fPU zSQLZwV)He+nXp(v7KfP!ieeZ*4?U1L-YCZAIGACuG=t4hm>Lj`&2cb!m?L3)Y&6a& z{{HnZ-gF0Y7$L{OEQC1(orcNdqj5U0C;L8FAIwmEhR{+DXB2}h9caga+<-F#2ZQ5q zI&iQ!4&*?LCtvTTiigrl_c7~J& zSrjo!Ib>&&DD4Y4?RE+krkX>^N`rG69^-TzNMhgWw+w{T;57hAk}L-z>Bq^WmLth> zpspn^PKO~&fE;;p=LcjVlG$WAkYrmZ&_I?0&D{kUKpBA^fGh`s97arW0`dgNGn4?b z9SE`%Uno+ms3E%?L=F}7GLc%21KR;=&Cm-(YMuW-yZ#YL)=?D2$e~Dx4XYMGMGq-} z<_-jvgPdrgj7g9txitgwJ;(xLS}wbmzrpGN zW@-WmcP(d;hl?n0?db%Semy_f`^x_2BDTFLV)|=m_Ky(34 zv;(n)1hNA`>}6LC(1j@G6P-zjX~7_e62&fq8bGuIiM5cFB7_(-iFP2Rl|C_!!KQ|2 z2ZA(%G6Eq$Oe=?w8OZV^IgpU$#CQPNa$?vdIS`+Lgo+t_dhy8-UCbaGf?Qw|DyWh5 zk;5j-f#g_3t{$pIF)jyyiXBRd9+DdixEz8_9KH4-l*zD}L9-AVpNY}QXN1@{h)UscZ84V#utA<^D+#cu6{1-oD!M literal 0 HcmV?d00001 diff --git a/Icons/B_open_door.png b/Icons/B_open_door.png new file mode 100644 index 0000000000000000000000000000000000000000..609b5cd664c7ae65185bdec4ddc7a31dcaf9ed5d GIT binary patch literal 6590 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-8!scfO!XQ+KcEm#W=KSdbAE1aYF-JD%fPT_-KLog z43fs4E{-7)oQxWh*Pk)|2LiCnh->G6f%3%fykjj4tq2N$q6-NJ)zPCc&6gqp1>tAlJY`k!mi38bmb*QrlrL^F|#A3kgza zP>UJ{22BW#wy0rILM}bpq9!-w2- literal 0 HcmV?d00001 diff --git a/Icons/B_time.png b/Icons/B_time.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3c404bad33f4ed1cecd435cc6363145ce3c0f3 GIT binary patch literal 6590 zcmd6rUq}=|9LIkrb$aT7DS;OhW)F&iL?J=Mfw`iGXrd+-1d&7(To-i@y_NM+AVma$ zVGunO1Si!)_@D&Rn-CFnArVSPe<&28A|X)sE9@|LJG1|8-QC}Dw>mTX`+nv(GrRMf zTfIFU(efSTL=;VQDt+p;5#O?~`a8NhnN%;~(_I}3t>N=%`sqEjByzFy_+_Gs8hk_a zV7yi>EKMi6+e>rdXsEuvFMgv$Evh^>FqCdfC6i|^q}6|krY2sF5ycK9l-7ZvNT@OP z@mpw3wT;Sv{-7g)wk=NSzAvoM`!~O7=EV}tXa5P^>~4xs{Ae{bAC6M2u1wg*tkCul z&pcnE*O^6{d;3@C`^krW8)YZkZ+MoxaB>1T^p zeA#LPpYRP0Ba;H+#+zq93+I}VLpyaCa%dPqN&)X)a%V`*fHCCIl9>sWloAM zhn8$k>Hx7?H)GD3bpo2uE;Jn=9wmO6NIMS@4`HXzIX5~5Z7}eb2Z%R>-&V-L0P$}1 za$(2<0S2&W#sKl+4~p?D3=q4Lpcv1>0A*VyKcIOQ2IvQf6-~?AEi-4>3yxpQQBzAL zY5PL6dt~+ee$v$l0xmoIN2cqj+_eaz*NEJqu5H9ez!4R9ldBQr{JQoh14M!o6ysUg z5F`7V&wee6(XF8ci)Ji>NDYHxJPQLv-ip-FZvz9LLo+~tA#e5D3K{YMkyP($aCQRV zM#rFCnAqn5LIg>*UnbJl0V3mX8}xptp(#3T&;cTP!&i5Dx?r#{peZsTAR4A_*LgA@ zG4G%yGbv!z_N{bfY|o}f5|M)jv}9)K_zg+5+qp94oNQQmSWAGoq1fX$O%y|F=lIPs zpeA5+fT^_+T``H=&!8;-HgT2PcR6 z96o^HAav*hXuNSa4{)XqC*j_E@`nSL@Ai1ui^67TW>MNtM(%7?Yu$JI^!F`yhktt5 zORTKkr}vjTH>qFsPp-{2wyNdX!(+n@gCZStgHJ!QV0$tDS-R2Yc{VOOmwA46QMgaD z`Rw)HEZ$9%b~dhit@z{1E8X+|b49nc6}=a(r3-?B3=$;aP?I1i$RI%y4mAmaf(#NQ z;ZTzxD99i|5)L&9f`SYZB;in#ASlQnK@tu%34($Q5+vbJlOQO_AVCriH3@=(3=$;a aP?I1i$guZaJ8JAd?^N})J4|K=lbb)EJSw9A literal 0 HcmV?d00001 diff --git a/Icons/Wall.png b/Icons/Wall.png new file mode 100644 index 0000000000000000000000000000000000000000..ce92bca8f15578e15c265e2bdd63327693c8417e GIT binary patch literal 6607 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEY)RhkEM$e$nB#Z)gys+kCViGVY zbZDKyM$;grX>ibo;GoYWET9@>AZiF=GuWVy;!y`unu`a2Cc)L*p>+*`D`e4Yu+cP# zE2M}OAM_zO_%jKpk3r2o1SsmLnZX8q6puQP*xZUs-Qdq8xH{~Er3p5g263e=V#No2 z2oCy80`9n@H*s(UKQ(IzkR8O-V1qu2M;(YOxezNp=raimt|47w5-=zfXq~}E(;%^F d4VSt>AA&PKwlUt3uoMM(z|+;wWt~$(69Bw~tG@sM literal 0 HcmV?d00001 diff --git a/config.py b/config.py new file mode 100644 index 0000000..fc101d2 --- /dev/null +++ b/config.py @@ -0,0 +1,63 @@ +import sys +import pygame as pg + +# Display dimensions: +tile_size = 40 +map_height = 18 +map_width = 32 +legend_height = 1 + +# Game display: + +gameDisplay = pg.display.set_mode((tile_size * map_width, tile_size * (map_height + legend_height))) +display_width = map_width * tile_size +display_height = (map_height + legend_height) * tile_size +clock = pg.time.Clock() + +# Accessible floors for both players: +ground = 0 +red_key = 2 +blue_key = 3 + +# Inaccessible floor for both players: +wall = 1 + +# Accessible floor for player #1: +red_open_door = 4 + +# Inaccessible floor for player #1: +red_closed_door = 6 + +# Accessible floors for player #2: +blue_open_door = 5 + +# Inaccessible floor for player #1: +blue_closed_door = 7 + +# Linking floors with matching textures: +textures = { + ground: pg.image.load('Icons/Empty.png'), + red_key: pg.image.load('Icons/A_key.png'), + blue_key: pg.image.load('Icons/B_key.png'), + red_open_door: pg.image.load('Icons/A_open_door.png'), + blue_open_door: pg.image.load('Icons/B_open_door.png'), + red_closed_door: pg.image.load('Icons/A_door.png'), + blue_closed_door: pg.image.load('Icons/B_door.png'), + wall: pg.image.load('Icons/Wall.png') +} + +# Colors: +black = (0, 0, 0) +purple = (138, 43, 226) +white = (255, 255, 255) + +def events(): + # Letting the user quit + for event in pg.event.get(): + if event.type == pg.QUIT: + pg.quit() + sys.exit() + if event.type == pg.KEYDOWN: + if event.key == pg.K_ESCAPE or pg.K_q: + pg.quit() + sys.exit() \ No newline at end of file diff --git a/gamemodes.py b/gamemodes.py new file mode 100644 index 0000000..6ab9de6 --- /dev/null +++ b/gamemodes.py @@ -0,0 +1,19 @@ +from grid import * +from config import * + + +def singlePlayer(): + global pause + gameExit = False + a = Grid() + a.generate_map() + while not gameExit: + + for event in pg.event.get(): + if event.type == pg.QUIT: + pg.quit() + quit() + + a.display_map() + pg.display.update() + clock.tick(60) \ No newline at end of file diff --git a/grid.py b/grid.py new file mode 100644 index 0000000..abf185b --- /dev/null +++ b/grid.py @@ -0,0 +1,42 @@ +from config import * +from templates import * + + +class Grid: + + def __init__(self): + # Creating a new drawing surface + self.floor = [[0 for x in range(map_width)] for y in range(map_height)] + self.surface = pg.display.set_mode((tile_size * map_width, tile_size * (map_height + legend_height))) + + # Making a mouse cursor invisible + pg.mouse.set_visible(True) + + # Elements of the legend bar beneath the map + self.time = 0 + + + def generate_map(self): + # Generating an empty map and filling it with floors of a randomly chosen type + A = random_part() + for i in range(16): + for j in range(9): + self.floor[j][i] = A[j][i] + B = random_part() + for i in range(16, 32): + for j in range(9): + self.floor[j][i] = B[j][i - 16] + C = random_part() + for i in range(16): + for j in range(9, 18): + self.floor[j][i] = C[j - 9][i] + D = random_part() + for i in range(16, 32): + for j in range(9, 18): + self.floor[j][i] = D[j - 9][i - 16] + + def display_map(self): + for x in range(map_width): + for y in range(map_height): + self.surface.blit(textures[self.floor[y][x]], + (x * tile_size, y * tile_size)) \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..2108ad8 --- /dev/null +++ b/main.py @@ -0,0 +1,22 @@ +from config import * +from grid import Grid +from templates import * +from menu import * + +# initializing PyGame module +pg.init() + +pg.display.set_caption('Key Star AI Race') + +pause = False + + +def main(): + game_intro() + singlePlayer() + pg.quit() + quit() + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/menu.py b/menu.py new file mode 100644 index 0000000..d1b6a36 --- /dev/null +++ b/menu.py @@ -0,0 +1,82 @@ +import pygame as pg +from config import * +from gamemodes import * + + +def text_objects(text, font): + textSurface = font.render(text, True, purple) + return textSurface, textSurface.get_rect() + + +def button(msg, x, y, w, h, action=None): + + mouse = pg.mouse.get_pos() + click = pg.mouse.get_pressed() + + font = pg.font.SysFont("ubuntumono", 80) + + if x+w > mouse[0] > x and y+h > mouse[1] > y: + textSurface = font.render(msg, True, purple) + + if click[0] == 1 and action != None: + action() + else: + textSurface = font.render(msg, True, black) + + textRectangle = textSurface.get_rect() + textRectangle.center = ((x + (w / 2)), (y + (h / 2))) + gameDisplay.blit(textSurface, textRectangle) + + +def quitgame(): + pg.quit() + quit() + + +def unpause(): + global pause + pause = False + + +def paused(): + largeText = pg.font.SysFont("ubuntumono", 160) + TextSurf, TextRect = text_objects("Paused", largeText) + TextRect.center = ((display_width / 2), (display_height / 2)) + gameDisplay.blit(TextSurf, TextRect) + + while pause: + for event in pg.event.get(): + # print(event) + if event.type == pg.QUIT: + pg.quit() + quit() + + # gameDisplay.fill(white) + + button("Continue", 150, 450, 100, 50, unpause) + button("Quit", 550, 450, 100, 50, quitgame) + + pg.display.update() + + +def game_intro(): + + intro = True + + while intro: + for event in pg.event.get(): + if event.type == pg.QUIT: + pg.quit() + quit() + gameDisplay.fill(white) + largeText = pg.font.SysFont("ubuntumono", 160) + TextSurf, TextRect = text_objects("Key *Star Race", largeText) + TextRect.center = ((display_width / 2), (display_height / 4)) + gameDisplay.blit(TextSurf, TextRect) + + button("Singleplayer", 720, 360, 450, 100, singlePlayer) + button("Multiplayer", 738, 480, 450, 100) + button("Quit", 874, 600, 450, 100, quitgame) + + pg.display.update() + clock.tick(15) diff --git a/templates.py b/templates.py new file mode 100644 index 0000000..321839d --- /dev/null +++ b/templates.py @@ -0,0 +1,72 @@ +from numpy import array, flipud, fliplr +from random import randint + +A = [[0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0], + [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1], + [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1], + [1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0], + [1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0], + [0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0], + [0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0], + [1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1], + [0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0]] + +B = [[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0], + [0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0], + [1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0], + [0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1], + [1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0], + [0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0], + [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0]] + +C = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0], + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1], + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + [0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1], + [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0], + [0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0]] + +D = [[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], + [0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0], + [0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0], + [0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1], + [0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0], + [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]] + + +def create_n_fill_matrix(x, y): + A = [[0 for i in range(x)] for j in range(y)] + for i in range(x): + for j in range(y): + print("x: {}, y: {}\n".format(i, j)) + a = input("value: ") + A[j][i] = a + return A + + +def random_part(): + n = randint(1, 4) + if n == 1: + X = A + if n == 2: + X = B + if n == 3: + X = C + if n == 4: + X = D + X = array(X) + m = randint(0, 1) + if m == 1: + X = flipud(X) + o = randint(0, 1) + if o == 1: + X = fliplr(X) + return X