From 510edf85859637799b1b334b2bf6c5deff0adb80 Mon Sep 17 00:00:00 2001 From: rupprechtmo100591 Date: Sat, 13 Dec 2025 09:51:34 +0100 Subject: [PATCH] =?UTF-8?q?=C3=84nderung=20von=20bintree.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bintree.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++ doble_initial.exe | Bin 0 -> 66677 bytes highscores.txt | 2 ++ 3 files changed, 78 insertions(+) create mode 100644 doble_initial.exe diff --git a/bintree.c b/bintree.c index 5cf82a9..12a06ff 100644 --- a/bintree.c +++ b/bintree.c @@ -12,7 +12,43 @@ // if isDuplicate is NULL, otherwise ignores duplicates and sets isDuplicate to 1 (or to 0 if a new entry is added). TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFctType compareFct, int *isDuplicate) { +// 1. Leerer Baum -> neuen Knoten anlegen + if (root == NULL) + { + TreeNode *node = malloc(sizeof(TreeNode)); //Speicherreservierung + if (!node) return NULL; //Abbruch, wenn kein Speicher verfügbar + node->data = malloc(dataSize); //Speicher für Daten reservieren + if(!node->data) //Bei Fehler -> freigeben des Knotens und abbrechen + { + free(node); + return NULL; + } + memcpy(node->data, data, dataSize); //Daten kopieren (nicht Zeiger) + + node->left = node->right = NULL; //Neuer Knoten hat keine Kinder + + if (isDuplicate) *isDuplicate = 0; //Rückmeldung (kein Duplikat) + return node; + } + + //2. Vergleich, um Einfügerichtung zu bestimmen + int cmp = compareFct(data, root->data); + + if (cmp < 0) //kleiner nach links weitergeben (rekursiv) + { + root->left = addToTree(root->left, data, dataSize, compareFct, isDuplicate); + } + else if (cmp > 0) //größer nach rechts weitergeben + { + root->right = addToTree(root->right, data, dataSize, compareFct, isDuplicate); + } + else //Duplikat -> wird nicht eingefügt (keine Änderung am Baum) + { + if (isDuplicate) *isDuplicate = 1; + } + + return root; } // Iterates over the tree given by root. Follows the usage of strtok. If tree is NULL, the next entry of the last tree given is returned in ordering direction. @@ -20,17 +56,57 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc // push the top node and push all its left nodes. void *nextTreeData(TreeNode *root) { + static StackNode *iterStack = NULL; //behält den Wert zwischen Funktionsaufrufen + + if (root != NULL) //Wird ein neuer Baum übergeben? + { + clearStack(iterStack); // alten Stack löschen + iterStack = NULL; + TreeNode *cur = root; //Root + alle linken Knoten auf Stack pushen + while (cur != NULL) + { + iterStack = push(iterStack, cur); + cur = cur->left; + } + } + + if (iterStack == NULL) //Kein Baum mehr -> besuchen aller Knoten beendet + return NULL; + + //Top-Knoten (als nächtes Reihe) + TreeNode *node = (TreeNode *)top(iterStack); //Top-Knoten als nächste Reihe + iterStack = pop(iterStack); //entfernen des Kontens + + //Rechtsknoten + TreeNode *right = node->right; //nach Besuch bei rechten Knoten in rechten Teilbaum + while (right != NULL) + { + iterStack = push(iterStack, right); + right = right->left; //von dort ganz nach links und alles pushen + } + + return node->data; } // Releases all memory resources (including data copies). void clearTree(TreeNode *root) { + if (root == NULL) //Abbruchbedienung + return; + clearTree(root->left); //links und rechts löschen + clearTree(root->right); + + free(root->data); //Daten freigeben + free(root); } // Returns the number of entries in the tree given by root. unsigned int treeSize(const TreeNode *root) { + if (root == NULL) //leerer Baum + return 0; + return 1 + treeSize(root->left) + treeSize(root->right); //Größe = 1 + Größe links + Größe rechts } \ No newline at end of file diff --git a/doble_initial.exe b/doble_initial.exe new file mode 100644 index 0000000000000000000000000000000000000000..5ace896603e40d3156844d4c0d203777f9bf7f6d GIT binary patch literal 66677 zcmeIb3w&HvwLiWmk2ZagK&b{Oc8V>eNK4wLZCVP zYUK9!yZ=AulasyA+H0@ZUVH7wIde|s4Sg(|F_wdKbd<5fNa=9#{}cb~M)5g|9y^CU zGVAHZhaJAB7uU6hW6nslvn3j6cLoC;9i4IKj*v5&=x~NRoaNQE&i2lx(29BUW-pPX z{T{}eK2pGZpI9DdQO53_!Pqdnl+DS?TFx#95+P;*HXmsLujF!2LV3VRZaQ-5f(|ML zjZbfIK(9tzI5}9>MP3k52^C6+!0UqzW{WKU-^kegWFU1Mg1jm}M%rJ)SkV~p!cTyY z6mg7Vwjv(tilbndDw9B@JM=IgPR1HnGzH=T03il+#Yr@aaheVnV*@Lq0`bmSDDdMX zomSyA9WGE<5fOM?$3_&AK{w(w9WKJ_5_n6<77?6;hXV6~OV^4Wu^7PyV0qR}Is4H~ z@`VLGZtFha%*9!5#dQ(AcpIlzKt=sHNng^(bhx;_p|;MTY@0(UBs{c*`EW6|>Bz~Zu_fNoiG>ynG`jeFd!`}RVUY+=@XXWp_sWrC& zJ2j(c#F4-6I+Uko>>tSA*9Y`txp#CjMo#J3|GWHsz32|!RPN_78W5}f1M#_@l>?7a zCs}!7bTIv|OBwT}azB7Nsd=sV?@I!4!B*tb6*&aF3fcW9^7s7?by5qK(bcp0`z|KB zJx?^;_yO%^_f77b-5+pkk8?f0O}tNS9~~XdUxc`GYzAGYuYNZPFmE%&9$nzPgDw_) zhJ@;!_v~LsN4?3c^s|=&Z~r1H%B@1t$`i-99=NQ=rG8OkzW5|qH192~ydiOoH|XE! zbqww;rJ*lzW&St)h0S~4oC6EZhOm^)N?g!$n409AT?OT-J4d(?JW%eFNBY3!1ZXAa zU60OQo`UrT^7m_y{ZTIe#U$LprCjb0fqv?|WI?)5T)Wlval|rIyYqDr2EFIY80#qo z|2-gq>t&$dQ#zWz?*@Lo;7_=QOq0&10~^1Qut379jzVF{7wy2Te<`UPORdwokB-rx!EkzZz~e@v3@AMhssJ${2{ z|F7X^aiHXX>>fz!{w`^FdQmfPuj^8Eqa&5c;dBsHDtfm#D%Zai4_73QU6=BWj-=bc z#Mc{f_>#X*?^Q&PT$e2W%ShshNAo}^9eppX-3O62rjG$Th0LjE{xUi$=&u~`{(bhT zuzvk0+J>dS1H@DJ!x66QEq@6{S@3Px&U*|++(ciXtK{+l#Ow6ufSSGrqsOrsRQ1#X zkjh`g4r7kRINe9#dZX!Y5yelFYo+E5p?dmrg#hdVprsw z5-dI2Qhw_DFiW3t!0~AYaq8E+qqx}PMiI}|dy_ALX0bO}S#Zqr7EwIC!JG0Fc#}uH zy}AGEDzeCt^wPyhdp#op`cVn}t`p*W-s($V3Z^|HvlDOh-1e3uF^~dc&lANrKW?U; ztS|KT+*ZKi^`Lvbr0_H-D7NoQdEWBg=j}azKS{x5a16o`Nsc8F|9=6$$Mcp0s8@Lk zqfb9d)1vf0!Hi@f;z&`i)!W;)q%m3P^d{?z(tGkb5AwdA+nibPwIB@}7jlI)*F?vBt3 z^nQ+hBz+%zAn6(DxosqCS9Li(=!2X_U7L{fI5SwI?sSi((^*fbMh+B3keTOUdu1=41#3Zog8e=FFHA3}lCiUN<^o`p+P$01a~hcoqL- zn^KGRJkfgN&AQu3k8qN|p%&ci2%6y1+j$f8JmJ)R1|`5CrvVnc0F+XmLduMQ>Uz&e zZ02EVo73lWU!Y6skf(F`3J6>abW(mIMU;+tc;g)NP~>E%Z$0K2CKAUyukdSc`bj94 zJPJO&b6IlmF@pZr?~{W)1CFHU75M)v-c;p?x3_-So2*;n^!3iG221y0GzuE=X!?_A zSTqa-9Ns^W_~(@8b-O>;zmhEI@w^TXejOg1e@7Q6Kr{5LBk7&F!jJvB=*3d>^c9dy z$df2c)`P$LP3Ao^lto6Y5!{D?H;mG+$WmQP&V0Bc$$P|0 zBo6APDu>aUdl8t8*8Jy-$u;=I`*bDAdmm@f>nBef#uOmM4TXrM8xYXrDYpJ-;sSwh z7@Omh7x#c73eonl8HkoF{vf9Y!SCj>P=`SrQ(;>5m-O|JCYgJ6v+xk3pA@H8qNF+h z)q&UYFCR$dUIYwWoxs)c*Ya;Vf}TF_zt%GLTK)%+KNrrKI})N1{PwxWa$iP{j??pi zmV1(;0fnN&2oE#(*D+w0$Q;qBcRq^Yj-`JA5%d<%-`4{eZ(%jE!g$AAG-^w*tAOXZ z>ug6u6|#5@Dil)t-NR`e<@J-oQN)aLAqOF!szig;7sw{O1o)@V7wAXQKB_G}lf%rO zq< z?$JSNS+wTuSAq^oU3tD#Wf6)&mqJ)2IDt}-eW zoOW^9;&Z_Ya`7Ozd{VZ5LQf;B5nGPj^Mp$eGZ0J!+tX5B9+=a2&*05UjQ}0^ct>M+ zAxk_jNtpbQlR!k}Evs69w{VF!m3wcHNF7NJ6Uk$_dvVDTQ@OWL2^Z{0x}6(8w}pdp z8)colgczbn$FBvo&9Y<-FUeiU@o8N4L)P3PS-MD2yFf361n@-anr5#M%5zDt;%aeC zkEDOjZO&U0Ry&e@TEFI+ym%qWEe!Qz$ap8ckb85lXUKi{d|(jeA0Yrd>G^{&MXG+tOMMoMlYY1v z4V2U*u#(P}f)I_y6mh<>nu1jk1*%E}(?YBry5{g$=0z|&eF053pLw}w$l;xJRDqAa zmfwI_w;j>!iUH}tdtVvk;>bBg?}7!Zgmn8M9dC3RibQWdbw8o@?r)^#>|O9X?5~g> z^9ANGra?dDprc~k`ZKL4$M#DhrEEPfMIO1t^q7ax>~z-u6Y$xJWJy6T7BVtl!m z_qurp8i^%Jj$s7__E_7@y97n9!EN7Fa_nZi!)ZH>63d7Y520+SF5(M11WNDx}P zxr86`@$-`a_IdX{LF((h*-y>_GglT;v&z`UBYFD6V9JFY0+#|Q515sNYs%mi%1G^IS#p zgqoFZlC8HN?uclcPE`)3cmu!z>z0(J>Iab&i=+rDgDEC%l?d6%<9u2>TM{S-fiXD@ zagC0o-wOmaanvCGNXms?S3g2)V)vue8>q1;g~CtBO8+^39I79c2u}k+_?fUR=4zN5 z_T2XRtiPKHR~uo8dnvATVFqo91k|H?7qm+%Usyn<;yw!J+zI2Y`2azVq&41Ro)INE zt$jv#yx{8%EDlaUY>-+aN!_mtv_w|T6zJO^0qY(~UjVKooDoi(;QVhl3(jAl>c?^q z;*t&-9sA7lher!gkbXc2FK3JICIQJec^pC3JZ~^Z?P60zL?k?tet^1#KI^22DCtlj zLY~HS5r{CoGK;~Xq9RtOh5S+sc2ofskEGw=-oc}oQ5hl{vtTq9D$fy>sWHGDr+FFT zB>dAt2+-Uk-_}_$&vWR+9iDd1Pj(w?&w8;_L6=yHZK^a zODsHo1-3=k!G9m8Q8rjM;FRHfNPqwoC<(=-^u}fs>?O*c{4jcXaBSDnNt2!U&RXFL{jOK z`y)7PPia-#%dQSHNUt(RN5H{0ap@^s}di!X8IFS~V#zdV0g`I5$-^)vGS{%NpJ!N3b{ zS^>_%oI9{&7#%X?av>IaQyPn?T6dwKr3|JmY1k$ImyU~|l1pX@r@{70xMUVi>blv!Y$NQlFqgP;p{3(O) zEL1!F5##!Kl%I;BF{u54zaHhMg2uIju4~B?dM~b}{1$3Bd2szpX?w82oBTc(-G`9a z=)-ikm4Yq6mTTO z@wnz z*A|Q}XaWm#@o$VSxSW{v&ie#f5A%mO26k${m2aF{OihJ;hpH&Q3gxM7SdNqz7N)C! z1=vi$VD9v_xa>1^F33}_ZXgK5dud>IrPhQ%Z2ueabG^NxJV>s#;%|QZSng&NQGZT9 zLmNR@4d-;@{C6}k_6&xG(-+RAR#_UPmQP*WM#-`#j^)lrH9E+35X*Dt;M$iQ@-92+ z?HQSQ`={`KPX5RDgK{dHW<4?NaHYy}DBDWe+C233{Qb1?g&vHx(AB?(R_^aW`BC5c zUqx>{J>_5K0J z_y-`sx5dqe_&i!PRVM%BO?mT1f70_Lob&ObtJZV@>DFgY(e^cum#O*KyWanw;EF~_ z9-H&wy!`zU6p~1%XctGu6E`%GI>5H`ypN&=tP8|h$E_w_=vzOW|M9<|*h^dKf5(y5 zAJ6~T%K#}e{{@pju_GguEkR?QqFJ@#m;Vi&;XcurAY|qAE;J@+=6}48nDvZw=il`a z6OYeu9JB)p7c}e2Rq$BnoasL1i+X{wl$G=l!|}J&NW~D$vRl z^MMAm;Y)QOvwxsD|NI}tmtxe|x1<~L^DPG4k3l@DTT+z23{zhW7UfG^qk}a6YIwZ4 z&zqe0Wz;?OI>H%|q}jXEn>sgzy|eEpkL>*=tmoYOr?Rpw&is8J2hFQLg}d{+w_Ke< zvMZ2_apKyZky*QUBA7GMC1YG$`K-7*b1Ue>)VM2k4J=EJyx&2YRPJ>`^tcBh7(zL3 z^o|Z0_b{){1)uzV4}$aV)mNi`btk^hH+DJd<9%;z%0aJhft07yJl+k60u}$SM#mV4 zKYjJZND_BL8rqah|0hLyE)8G&L7IJ0kl=-*gQq`l@K^GGOV!}Zt;fhagkoPr!Kn|T zvY00TADXiCT@oM5e4>6nQKy2@!BdDNM*rhP04xGfQ03Jti7HhRFfR0Zf>GZwabF5p z`Z&yT>bLMGw4Z*b*XiqBdSxy7@GnOf%)p`%!FIHUO#d^wTP3Q;|C+3X) zZ*TI+(Vut`*5_eFndL>y@+N;z6U!S5P%H5QNO9xxd#~QnrN>cM3=7Uw?pHy3|3LDG z-sF!HvvIeLS`tIrV})cXGFST1S;QUj^zry=ZxT13d)Isnm6D~zWkC?c;0-sCh{@l3 zlNZsCH{`XURtaw>p;--};_sYlAO{-ihME=ZjAVgmXeY?KwG{{na7;y#5N!PygIP(8YLv!elgm-@m{HyNf{y_q}fiD!IjX06Ui3hAXlVzkeazSC7w_|0aH$ z%B|!T;y+I>L^GfMvEiSo+*Q0N(TsgAU|#`;s5LaU9G2mCTJUczOq1stvxD-iZ>EVCl~x_MQHOE+5F8K&{aQU#A+ys38N> zIEh@p{QFYWDZqSAUOyx;eXahpBg8+<=*vp=(UJ>6!H=c)NTmG3E> zla+t(06;FpA2-mBl;?lbJp1R?gAo=ZUk36FIRdYLGWx>lPr+WP1s8xbsl5SaDewh1ZN#M3EgnBG?9%Ms+eHjt z#q_l#q{(;d{*+f)W2D>&;O=(h5+v4P6p@SPW1;MAU!^jUjYI>$I-nTtnJ#o z_ZAX=7!A1z4Y^4*WL9DP3MIO?w{8#(*-eDsa9!q%V}f)d{%tQUW6^|O+;>T%2~9nc z?3ereCE)+8F29%jMY`22Z*ow?4dGSZ{PIBp8TNtwKSTAWY=4;CI|KGdJNQY76BWI6 z1%>gSxO?5Oe@-{-f7D|CP4Gw9e*pI11p6O}&h_>jEvi`m4EM*>rX~MH`(n!feW{CQ zK^`o7V9=|`BPxSs8!H_rl}DW8BlGLe1S!8bTWLS>?M9@*S^C9*@o{hk(BI16W*f0iR902r-Bq)(t+#$=u7{_dsnly`2W<9VuJ1dI3kF}p56Kf|=8FnWP^?XoXMXv3*2Cl)+rD@ACHE zO3T$BU^R)UQ!6cDBeaC=qUxn-dISXHSo#OBpq+RgmG(U0BH}_GogN(k8g6JpMDjrFb^yO zf*TPL>-w89AfU_9ee_3Z&W)IFJyd)xPd?2X>~RXTiy&OjUmV<6JP(%BjKFW*4)4SL_> z*RZopzarDm%Jic$y+x)Ul<5sJy-ubZczWuppIN3D@P&5{lLd;m^C#wY2>KsC6adpl z>P`BAP-Qs?*$l`m$K1nmG_JMsi)36M%Dmod#kUZ9=i+a+z|t67nqXCl_8p;UYy)#H zUDL$sV}X{?2Itb4b7Q0}uqPCCb_Ci(*UV}g&?F9DDBJ`^!m&7Eb%cYhaYcQFvxY9iEzaG6P&7p4Eur0^Sg1o)cYWL? zs0@EM%C6!xo&T2(sSaEIf9YUeXN7Z%)9b8tmN~1PHBOJSmc4K3B+Vm1ma5 zcycSQolBQr9&;kOyvd2{-E3*>s-;b;RbbcQC6n~;eo>w$(}%mobz?@{Qg+Eq-O-jr zd#HoltUUk+3Pq!xQD;$kb)~zaY8lguW8sdLL|Y&lj_+|6)mCgl89%Cbg`&-Eox7dU zKt~Jt6|Y{s)l;+CSG{c+^9Q2waG=fE))|XAJDZ)ca7#zHIgH;v1w+mvzpuKsmQ$+h zjE{>|r(@x#DCivMUkP*w{FEx*+3Ae62in?@<3FSdMNkNJLQT%1`l@mzMSaK4j?Udu zJ1)1@9*DO>+M;E=BU9Ij6)kPK!nw3%nbTPm4aIi_+OEb0+M@N@(b0uCA9-eUbR$w9 z&YN&vfwK~J*}Z)C+7kK^S3KMvayAFTZHZ`TgJ?u|QxhbLIhRJzZDY=kPG`6s(PMcm z6pV*EJDAhCH5`p60&VY4gra+RWys!)Hdxx^+_5Jfia7&uXF#W-+E1_Nk9NjEOV!*R zj<-64_z{`2xNB(_1AV1?Bo<0Eb;5Y~9Z-OH(+|<&ox#pFC)zMZfTc~UM^9L9M>vjl zyakcKz$a+|wljhB(7iJer`G3Aa)mPM*UDlc|f`;#l?8hg+_%~E)Z6^iSJIWL@YJ3}e3Cp3)Cq2pIAaq?caA*el3WdhJ5SMv$lU4xBk366wZ^As6zL-i>o1 z@|4mO$wkNyAzg$W!WAgxe*^Q##Lyu^V|x_u_0sp3;{WGuDPYr60M3 zu`c8(rJtPaL;eub*KqbBPw6^rcHWOXrE#1Gk*D-aI3Gct(r0iEAU}lk!X=D7g}f8# zJvg63z8~p#aSkCrfb?;kzeXND$X>#kMjn32=%-V!ARj>*!#RRH;uGt-l(DxckMtKf z&yRu@(oIF+gS;Q34AUAwPihah&%dKZx`#ocANoR)P=Ce&i|r z1{3K7sr&(r=W&$B<`h7+a0= zDdb&9`*5B_p3-08{59btEm@0{aFBX&zJIXR&@*)xu26+8SKXO#)(JX8K2 zQ+_Nune@$c#>0=AXpV<(QGpW^4kN#*8+|guiPRd)J*aSV31Vo70-ZxMWm^@OH@h_{G@F zd$NnO8XXbGg4v!0*#&n2P_64e#^^m2jV9P#fJFd{m|%|p)(u#<3HAzLeSjS_!3sWucnjEJ6RZ@l7_FD%G58@2AL{(cgX9wO!vw3 z9+^HY(FiU1_3B`SZSlmN9hM0S1S9G9e zpbh&1UXC;P4O%i^Zey&NdpaH7%lPp^jbQD7NZYA=6@^xYiNc zt}5MviH+KlWB((8n@U}r}&w)k74p+FPuxwVA|N+c4oP*m{pw3Q||v5vJD-aeV`kh!)=y39(X91IBG< z>y5k?V%G`Ga0j;U!cAHvfcIO$8KQxLFZo zSwh1gZhw%OS+=-t7FRjAip874olqAD9onwuNHp9LZ)P*?B{6I?H{-2YtT~7sXwdo` zYsS`NjD4OpcSb@T>}w2{!PY>OJ;EXhk^3TfK(IZ6(VB9&UBlQ{Dc3>3heZwz^Usuv zcjAezYnVoRziUg_b_Pblo$O-vp&04Ah+)sOiLu2jCNh2SxG9|1dupmYzSXN%G_}D- zSYx72AQE2Q9$UUU+_4I6591R>d~2jOWtI`d;vJ>%)m{=!)>@NV?igEdFOb?0`FMhZ?%96v6pD{ zNBX<_`}+I)k@xdI*8M>L0|y^C^uXZ<1|J-HaQH!Xpx}V>K=A?B0sn!<1CayW2l@{5 zA2@Vi;K1O4p##GQ*h2*mIUg#1$n}u_p~iKAi$FBkdUXeGymthg%Ujf6HHy^P+|jul zkK^E}jOEQca8Hx&jxTQu?`R1I0YPCb9tiGSPWSJz%);{N;_NN&%4Tm!X>LNA<(R=| zwOM&H+d6S?o&QU8(4-sB7ht-~vhs3`5)R0k8EeIy6^{y;(Q@eNyCHrBu(i9Gc zV(b;D_ddr{`7nC}%IfN?JX&p;*Hd2a^O#|NcTHV|+o#odwrJ%ZzXy+lRF!RK4pXgK zk2Vfg*7#VP{aRUd6`pXZt2NWj9>2y|=s5;@xu>>H+wAs18px?_uCCFx_{vzWfl-U1 zTEDNNj+CioGmH`?{$`(h3)i%^&h7KDnFdB>_0|TKXS()OR@ZFTDl2L$-F0PNO;ng= zAZ)G&x3WsV=B_H&Hr2SRfV6rQn>{fG);@D4#;C0(A#2&(3^cc|-o%Q{%P5BYyclTg zoQyJSRjtxf$?_*f(JCq{@#iW7Z z)fH7+GoC)Ra958 zi>#$Jp1S&)s#>vu*NJc{W#+p#!r;2CA>jFCErt0Bbyuwz9gsV)J&k*Z`9yE2_%M zJ!R|?16om4=h@<^(aJZYhKILKEqkv~UhS{b+*|6|5(DJkT3u02jl#R8yS%)HEj3DO z@thl6s@_L_wR#nI!b`^~E@hV)C4wwkRjc-+r%|^r7HnOuDObc3iUvNJt=8?`%&xG) z%6xU@Y`GP-sgA8MAVMK)Alp<~!LFPbrS68Zsye)TS?`cz((%=@l_r$(>*^6S>#NY$ zd~B6bP>sQ$VlxlWX#CnLw%RC@2H%Wfz{5%mxTnESq0YUjmaQ?MWCw2rcaqH&F#TF< zQLU+HowaE5<{FR3&q@ubr=dy6?q@bwxoQq^iA)>lBS4F(1Q z>#I~d`l{jZaMX%Q^p2~>!-6NEPbsvGRy4o6?0R^F^e?iMj(N2evu?ZJ zuCW%AEXCTU?V7)#x`thA6jDd4fzTMV$nR>kx@v7J`l4$Bl+88Ol^n@ECXyIOYY~lV z*(L)+jEt6!WE!JcnSn`d3K^h?X2vKV6GM&K%wrVu&hD@E)^Fa#HXC5!StXmcV_cwq zSuYfZ(~nZ;{Xt}+$-jpD7V$~Plo zmDlruMMV7?&5OY5FK6#J@W|=mI%Q=TNj(~dw5sy0ti~vJZ*71GHCPZ}DD&)YyQPrm^0-Z1tin?U$GX9W zAoMXXZnR(!{R|Q}*$^^G+-$?B+h!gyK46r~Da5vlI)f=D94CaS&a@T zgEkGxtjQ?e?8bm0IwuPmVAJG5+g4Li=V8r8A-7uPN^NU}TSIhfF-oecY4q{CD{9P2Te#)k@xcp9v(7f7NNP2hfzkos-eugWfSYP0-<&>ix@CcR)kF&4%vr{65X#Uq++H;#ZjYJt{!0Z z@(R(}F}K6Asm^^pT01s5B5@YTaRXV{g}W0=7+}@@@0Z5eWfbwSU0YYib{jC#zNV~( zbr~QZT!ihBYff6GTh^Svanu&b^`*N8Ya*JgS+D(MO}W67C>&I}35#NKc@Au#J|b3& z{CZREHn*RN^&kguG4R0_#|*g+7pv%kTn+NX5rSA&!AzCcSL-Y*D@WT*tLv3(SyoOq z?v6#;LS0S+mZ!tSB0Q@=2dMSAQ-@eq^aYAC@iuTIX#i)_jXN!ZCl#|UFSrs*`LP54%wZ6lkGQ@HbU=+=SwLGQnpRFOBVok^<5g;rnM=o_kz`<#o;S$fX=TrhAHvFyBsbFj&>gw2_A&75rP z4rS*!vh%K4Jaf+CoQnAy7CWxWUB7sSV?MNUI4b5-CbtB&HZ0D%YR>w_=T^+W_JWNU z;AU2-yoGL(N)&h1J>dk%^ z5t{>A96Dz)#G1R9Rm{Hn!B+ zvpz;8{2z9=)Mjz^>&$VF6W6!26kqMTT=GVnb$9^P4@-pP))4v2e{8ExFgGb zPGNU;$2kQ9?sM{v3cPpz|If5Q*@i3m4t%t;Gk#?(8oUyF@XN)%{*_`!{z~zj&z0fT zrE6~r?rFi}87pd8*@m0+dN*~6pDV3gv#Qwio23Lj#1V~ayH>8I-!B!53O5-HR6YE< zaCtj!0qkDA>L$UH(H#bNt#j3i66JXRGtK+|ywv~A?RaMH#m<&{O+hT-h^tlv;p(O? zGBsBh70i7})-$=f>|R##WA?xaQP7>tJ(L-8Q-@vA%35}`EvK7kG31Rx<(Mm)!?>k| zx6Zz<9*_9BN_F$Qela3~(&W`i>@dqkSeZ!#KH z#a(AS9gec0NpOAvoE)4$la$lQ6;DtL4~0d5!sQXQ#M6ZgvMD;^=|Ot#Q9+Qw4Hj{4 z+u(H}AdNF8*1`pxfeGXx%B{fZn*`@>;Pg*|L+`mcGzrcxfkWn+$nx}UqV7p>7NVK_ zljyz*IK`9TTnC&XEG{OJXBTi>lgRT~;5aAYbqF{Gli)lFobE|*enIj~g7YWfut{+8 zq4e-1dMyP`WD+`817{E?^)F(}ST(Mm;}B}>6>WHyw`n)~tqvia?YJ7|5UK?n++2^w zU)OO&EhvEwCY(k-NXrU1gx8W^Cnb7>lkHf5vTNy5Kh&2=2|&_~6(!WyK?w&20nQT2 zS`PK4Q3BFxG~3aL|LTJ(aL3$qsK{0an2c(Xa<_HMk_$V8uU7h%qWj1iJ_@WX*!NI`hoL#g@Y%;!+3reJr3dt&s5*C6?Dix z^u}fUVAgcJZT6Ahxh2vN3%r~*sg(^$cVWXNgl;*M4ar-C4G9NtAk8=)29rL$pSm(i z;hAzgy$vP8&K=_2Iwn)o!>?44VmKcwZ4wKz-vqB`6%GeI3CP9Z&TDbVF911df&2lG zPB@7XB^*%b1s$SVM{p;L6`{sl!BYNz+ge9{HTW*j6_)o}_|S#2d>8V<@`Q696Z9g%afg>Cc6uA=YWac<2dL-K!(uN++yRj#ZutBsc`fNAZn2fKMG1PvFVte z4aox5LwWCW01F#Z@3tPwh64Z-g>1(d5kU47Cp3g9fkSgO`$2XtfGPsVWkXON{t!xp zop)f@7C#Tku=JG>B!aL#k%w;p&ZXGVGkmoikZa+LycXwO1IQf`l7(L+;K?w&=Yr(o zF_YtHz}YxY(IH`K@jIKlb%^qLArI-^0rjxmXgbcMy3?_cy7#7$38f!r(q6jm z;z38924z%x(Kk9pd(rcS)9~d`oYOC4gFI zO=`UOJxYX~I|6aO1~EdE(rbY0PI?h_>!I{QAd%|}(#v`%y~xjnUKlts4kgc@02lJ? z#uLcFK(uLk@;E_uHfm`vtA;0T#jZ6j5_@oUHd2St00;Xje4KsRO4$@Fw`NrTBe8UM2Q`c(@nPpqh!`nihcv~!%h#1m<0gieoE#w)yEeNLx zIK!5{9HUw|$BzJAO&ToLg$~4V5EB5o1^%N$i1J54BeFon7Q21E2ppi8jx%ZZe$*4~ zPCd6NiJNF-MXoU+D=aO9k} z8;vfk>P5{A-8r4|8+03vH3twlZr$?Z;`nZeSmYr|jYG=pZkPxMF16%_8*ZTJMW@&o zHE2+71#lE(Tpa1ESL?po)ggXTY$&7Jcd3hC)%Ry2G>Mw!P~veT{ud!o` z-G(Dj+4@+-nY8HuYL6S|W&aw|`Y_B1tr9wW}nad|@BWqY;j^6-0yH$69>ia}x`CobXRII8? zIL3~LTD3W0a3S-JhQNxK^ziec00eQ`+Q!vPZwS@KK5+T#Wf|pjQT2fCVCB{lF)1X9``j}9^5%l zulz8z*M1NX@=P4D4Vk|UiepFYsrWN>sma>HueSyDLF=J>z8lUge7*<>W8YzE(A#VL z+51u5KA5)PeK4kl6lZ)t2}|$GWX>_$i;%uWHdK1?THgc2X@Q&sBqHfREF6CXq{xDk zhrwysf>Q)Y-=fTZA><+dxdWsw;ndW>Gw~l?LcW8iD2Pb#f>K5h`2!>VC_Gu zUwjXm>Z_7=_@c=NRe$eylBQGb7i0LmTCpmt60wX!$@6oR33=$9H`?wf-lU^OM)4LL z#`>Mo@?+2;vK!Gl5wzlXaAR0;v%wYbhuY<9;^~ z5bT}rHRGHQNTUU^5|CjXVz=RM;2atA7O|1TT#yy&PiRBhxkbku8%Oq(`$1%~cz75% zA|AGZ8YV-gL$!qyIHE0@13N<|1evXcrgYFqi@TioPm);=P2zA59Ah_wu-hdLZkK@0 zP54jJ8;7zXy=xij180>{D064hzb3LFk=rBXp*WN6kS{`%d{mN@I5et@`6{)X^|(*s z&~p>njxSmZ<<%D@4sQAY$BX|~I;t(`86eRXV?1M~o*r4M>|5iQ7eh|3fPD!8*b2T zC{~*C6?&GHCOab=juCt1h;|54jN4D;O4F;$Lyz+6@1f)J=r5(?@{AqpRKGA}UJWZ` z_>YV&epxcnC_JIeGPXPg^3*%UZZk5bLyf{q5aC2@8Gqc_YSo>;XHSj8@}+ysH3i)T z4#`6rg0bmPKL2*C{L+jal-6m;J> z1>K`o-Q}wnh4Sh>jKfpVUEq-J<2a?!!~i-8%){_v*TnuumasS&u`2xGt5m z3tJS!Q%C&uq%r=a0co7A&pbsfvIY^gR<&Eh##p~!Ih6?TmTrwPqMw|3)=j}0eHLrX zwN8nk#j6n0KLu+v0@rE{QEOsr=(Wb$Z<$IAm+_E7j);fjTcdFb*67!*A>P%>xAr@B z@v#63vSQe$aRO@)&NaaCW6%LRnouy32WQ!DYgW5f9~Tr(a2Ek8Es3n2?sNyA#t+noFXVfUKb>Q7n*>5vXZ_ ztSv<|Nr>cLc-eHg-(}-Y&-Yq*;rG57khLxwcjvUY_u04?+PITvTI5;lHMq+e>@Rh% zv#$_a>7$mguVKUHcq_ghiMz4}FKNSKrG+&Zp*EscW}A+MGnI%WT6xtApvm>(t5GOv zI;1Dq+uiINQun`1pu37TXHl;b>PnRZ#g6G^i@m?uQek!?r9tMVuQPE_c^fhc)KFX z=M62C&zm%rTDX)JWBK#j?DNObd|dYleBO{*#Y2LCJfp`+-5aLGy~M`-q>cM=8~5{U+#9FGz0}5i$i{up z#(kl|UG})^Cg^c0+8F+$qK(PNqzxlVi?a}I9+^V4F=STJ#w4@U{qqy(u6pHJ)T@N{ ze`Z3rF`p=tBWzl=@&qI7M&%oh#Tl{2SflBBol&$I!YrRls3OT4e0IzVDQQqzD4exB zP({{~-qLm1bfV3#ZQLU^?u|C?aU1vUX>m{6xOdsOx7xVxvvI$3THIf;aqqTqkJz~1 zW8>a8E$+iM?swX_ciFfX$3w78GhxZh{vey5E){n8D8 zwEB}ie{fpd-?DMYai?DtTDc#Z7I(UJBI(HZbI`{9J{$KT8~4N0;+|vUe#pkX z-^TrAgS(9L^h=WQW|eA;GoqFn<4loFw%~x$;w+4D{qP+qg0X<^azO#pp;nQG%xa7? z$t-nW2#bxUyYkGls8`8B)n4O|UuzDlRvsT`U7qp{htp&kk+tb{Mq}JQTaTk(-}AOm zBU;H2Jir23yANAg5+c3j_+`@>UXX8F%3X^U#zq^3qId91)n!$Rz7c%S?W%2f*7yAE1y4$dX=11?KQqXuSu&`9v^32 zqwm>IE$=>`)%C&Y}_xkac`X#_q2`s zK^yn`Y}{8E+@;SyJAu!u{%*9O>hGpjmMs`jT7YNf@pkw3jbJcYe>Y@S{oN$9)cv;; z=&t(vS=6hfU$xixeR<6x)ym`Jtb0ZI#ss5`uGbm$IC`Sj+TXjCJgRq>M3fc^vi2?Y z#De~|!#_@7dF6Em9p!ZrWr*%(*4E1zG}s4S)+C4OaR1zG!|(Jv(T`;s@4xEI>E=h?Uy8Qf(w?g3=7QP`lPMqv{#88?QM7T}qA zs1=7EMaRO)jH_eeh)BzSo;}$pY{;xeVUx^K_q!+1U5&zLQLmB))m{!XZpNXsXjQE| zKF+!>J`z*X(COR;e!TryG3|nyK z(og+xkgWveivSt2P~HGYUJ=>S2^`q4joy|?_oNK&+kvCT0zs!45UUMu0mP+K)`H?) zHR6dEqD;r9fzyaa8y!{h{1YJb6Mh4791!(nzNqyE;ozW|r+~~Q2Z6jstxEwR|1uz( z0I_OO2Z)L`Qd9J+R*R+);HbOpz`?7R=<6S3Kf{Kf1kNy+8TR=qAZjKoBs>hrh@~w~ z5M|xYB>&F=@#@?^6zhz}0WG*pwFTk43Y>1FL{(6xmm(N?HMfM~^ioUl6s1$*6aYv4 zCREfak|9TE(H?3KM)trnE%K}e&Yc#I@&j_x0{H+S5xAV8dnX`Hz1<-S`y?Q6C)r-@ zfi}EJ4|djhY4i%7N_@N>Xog;2L#;*&ouh#C^IA&x9{>`uSoLRs3|J&g144)4EpGsF z(o*YOym&+X@=n-iAt35GMgh5;aP-z8ij{y^eKiC~w}pETAZoTF=zIzgm&IaV0mNyk z^+P}oT4X*2NWVqq*Qpk842#XeD@IBop%DSr0TR*e3}jXgNVmnRHv`g-62m^b08y(O zA@hDfK*mJ*Fd%nYtZ^KWE(_$RfRtKf{v#j}&@su3zV5WN>3aYf&?OA)kiEd7#kIgG z&~ZSJg#j_RYZ~6}jIYGfVMKsEz_CI;28eh9&#B0LFfHdLCXu&!_3N60T2#D3|b^$^= z9tQW10iy2JX0f2`aSaxEz6+dwR57@p0K~8%2(q66qUNGRow45navZ54;e7n8dC1br zPC%?Zm%=wk;HjfW|>CkJ7y!INiE^H1U$%&>`R%p4ki>f*6{{Y`pdYqJG^e zWTtoO(_F%k`3XSOez?FHCL9apocXxKVbppLAOm_F!^jw>*@fTY^Opms0JRJWHvwWq zb)r}U$RUgO#sKNo?Gp`%`CXw7p<1^CXV6mXen6ZSy}k*^!@w05qwhWk;LnAYc0UT7 zh=uaAfY1!Yu=6QED3S=@K)>h+wnv!XQtQvav9|JTIH4bOX5!?%se=ZU21~6{;1pZ5 zXaJf^D6# z5F)=`3sVU`TRx;iP@T1+mN9E0$Sy#Ly^x2`7||~xy8mc2Ws=dD@P*}jP|KxT3@u15 z##|O&4+5viLz3y$1yDA8o@(Xbli9~D zbS?sf`nS>UC4g9C=4L=pN#bbD^k!8^2#C?Y>VV_7P;LgK*wRmT69gtDTEb#?0us^f z3^4l~AO#l4KLVoeDTrDx0y1E+&+n*~ZdIZ)7cWX|(B9!|k)10d>m{Q|NX5VhMZAiDu+)Oit|j{;I`(c-g!^jRPe0rDl_8a5mNq}u{{ z3J~>+1HtRhgoCW1#e97BT;1uzd|rMBq0d6c4V)3(Vj6wmYHbNC<`AXn^}rdlNVpvk zdhXQV)e1j)~$e?)FniJZ==xW)gi?7 z6Top=Z1?~mLl&H`5hPdH89^(Ez|Tr8I6op@dhaI6rvMqTNccxU@+^?^@B+lUfC~Yn zKf3|3S}X`izok|uAcrmfoCJi37@lw+Al4{x5Rf}9G7kWv-oJrpjIV2f3Tw3VxTkivT;uIG84{4=A=Vm*X+iqPuAOMpo({e?ryEro&3AX;17`SW zVn?7Q)Pxu2+G@0PB=F{-V2Hm=OTBH{h9$M_Y-<8;M1L#wczDFUEgox%cE+{l&S(&( za1cE~ zfIavg;2su?h5%70n6i~CEc%LHG+ss>EGF`G^r=Q(T@z(9~4dSw}&KzG&tP zHOH#}jpwT zB~;ed8EDcmVkC!t#m%K(L5IMukm-_3lX+cBUoJ!#YU-3;s5Q}7xh)X>oo<^OXk~TP zHJY!YwhmKO>d9e5xLZO^R8>Y7B4xTHBpVsImxVys21k%JqM-=3F*JOM1O(ax(Vg_& zhj_TN1F!QA#{)a?aq#v)SFM0S*hq*zE3QQo9W?oXqoEN4#C$hGAhE^Q&@$avtEsQ5 ztElv7{#s9cd9_yK@l}@zeLPj=(CG{+XwXtbs%Rh_3#kvLz;)_lp=f0w-s*`Og8^QZ zZTiFl)5eaik|N$*PkL!PLwiKitbps2KBn?ujHzO+4P6Xn8ouc+L?Qz45}kmxBDanW zKN@Q9#F(Rqsw!HYuT~!{Y~~5KN5sqJ#w-y<=8uCcCsFZ;gtnE2MmV?;o3+j1jwZiH zHZZeZZrW2tqpq^}mQY;cZSIV^o0{+{a&lkM97bVTC!8aLlBX*K_Q3IbOuQ>%Rh=Em z&nh~~647X=BhC?Yx}lCly9R~HOYv&qXdt==19khE&L8x7!q}4#(~LreOmb|BvQ6Pm zjlc0#Q}4IrZ}`(_elRuyS=v%6UYa^leJchh5P@q^hr-h>_6|ZGU=(Y{>jn|(Lwurx z&&9=QCaL!(z2!`!>j4YanE+Dfe$BX4aeUfKSe)d0ty7oEfJ98unV8n zYKTZ;TB}bC(WiWYSR7H0j{u}xj7Q~|FpWw4F(yA^JDT=V0zv4CFcA*MxHV%KVYJR> zA`;xm_dGFwB{S>ImSIyq9w>wA4Jk~9orXkPNDIek_Zu{<#Oad;Q3OFA+XEl$jB2sO zj@TYdVA{1^_@D%hM!bQk>2T9e8BQ3sJk*AHei=q9%s|@oKqee!V%r%lYaU^@hOs;d zw7owO!Xzf6@pdtoqN6$7f>;j+<9&&|lY12=j#kku{ZgTb9VdfzMpvf$c$|vPT7)1z z{q4X@xW(J2gZ2hZKZe+Wo+MJrLt#=XgqIj*Q9= zDJ)?sO=}M25Js%4aMvmKm{5Gn5Fy2vH~1%;IAnBb5d?MPsdc!V6R4IqNA-z)KM@bN zh2wkl##Xka@k4LAiAnHKq{cs0-!dD^sBcVrfK5?Ti7ne~S1{OyQO#&GVfdiL)0MY| zBBS&37j>(>6cx`irWhE&XiZ9fG`3??yJLkA>H=1P#@}$~4y`%SL9>_)TJQ&&u1Nm~ zngWDn0h?ikj9G*jQH^#mv{Xx7niU!wX+m~+KXGEx8U1;ZXoz7Ra}QG_G$gTxe$!5w zGO}rjGj4QID`@30s-y9?fT*+wEtHdwrRe;}Tg1{ciJGfE-U%ll zyN*BLO-6-J5hk-gEv1ycP_CWN^)dpp7{N&xTKJ3~oilr^Za)e}Mrh*XfF zj3opQ+@?X6Xo)8TfavkLw`&!Z{%SlSR9;czp;)tBXFTC>h@fKGmC&cdJcO8M!=lH> zb+U-^`plT3J4s}nmu1k_oks1RiaIic{!$1Xc)&lD#DT6 znR63ra(%U@9%tk8e!>>doQ>}encY8A=qD41p0M_@fVc3tJbPnXy{*wJ`0;TjoKu$w~XfZGjfC?jw7t z8;canTX)9dJF#|#oigIR96Nw+^(1UJ@SF3R29MGgqiA}NKy`flc?CtK literal 0 HcmV?d00001 diff --git a/highscores.txt b/highscores.txt index 4edd5a7..92e7791 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1 +1,3 @@ +player_name;7977 +player_name;7952 player1;3999