'=========================================================================== ' Subject: SOKOBAN IN VGA Date: 04-14-97 (10:41) ' Author: David Joffe Code: QB, QBasic, PDS ' Origin: Dj1@pixie.co.za Packet: GAMES.ABC '=========================================================================== DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2 SUB V1:OPEN "O",1,"DJSOKVGA.ZIP",4^6:Z&=11815:?STRING$(50,177); U"%up()%9%%%R-%eue]GzR0CnA=I%%.C%%%1%%%%io#xtp%%lfSg7fxfbdwZ1&&xGR\_KNTqaxjeBK7JB:kq-G=b/pw/*ron9;'J1:%Y[ci]raC#hSzH7 U"oOpoN^DAH.'a&YL>P U"d:[\a>jJtsjmb/;[z1sN,VA&tFl#=df+\-ebNlU.nOzQ.vvkXorw.:gehs2i+gP U"BOLc+'POz0I+QOnK8Kp:PNjOKlC8SWSW'dNDsE);7%6xYUI2SOb.(n[((j'.7M5 U"1ErogDd?I96K)$Jr4P/G>]Dv0)b\8]'[2HQPBM_Wer*rS//VL^R&#FUd1c[/h<- U"An^*'_0E*#ufv$s6xx+R/C6u)-7./N,$:^&o2h;K:E/2PG([6m&cuG0;207$)0e?e+3^rphg2Jp-]7b2mN*^b9 U"ou30r1d7U)Wh?23;RVYDUb'kgHB(AwJ6hjt:573\q8?ZI:H;CE?vn>PdJuXwxgs U"q(HVe#'07=0K6Ls81iuF5D7O0D^au_)[WB.^_2/gjeitP^YO>j(HW=]A==*=8N? U"J]1gOSej]gG;BR_up#\y_Rl000?DumH3#,\ga7Ar)?D^xDT.5k3S>dKmOES]oyG U"_s3Y$Ln3DU&l)Oh2pTI(a[H*pUoMb=8tc%9U/&e[ibtdeo2VE&(%H7:JfP9eK+; U"[TsSlP6mRc01=(kvI)Dvp'-(7h[gF#Lt7]s<4T-GBm_x*Pjmm3PS)t];[,9>s%V U"I9^;6M^0+/QCsI'\q0(nrm_pg6'TC=^SJ1N[vKG?c\U'1 U"8ufAZI/R;a+b;khF/km1[mH9Fq#rQOHQrhA(rThVSMUH[F.P)luDNi51^f4_Yc: U"#tK+(1.(.2.'(F\(+;2Nao%h5=W.]Mf]ZE(glN\n==OE(rOEESuE+iuF.0iHPe+Y+\.TRPg\^j:_-Z4_jHZrR0dnVq+DhD,a[h U",b3cjYh_WOAgd+]jxIn[M_-,ORY1M,NWk5^TlCXYD8_(iI1k[1bOvTE U"&S6e?7_BZA.<1:2I$uN(%zYjJ309:a^F]pVg1Mr?]F>,BIP&'$:*Sm2*ph^si,+ U"Lh$WZ$[yAa;9gOno,'fM>L5bv8ArJkK$B7,h-m.;BB^C^$)i%8_adf^y9H^Rw[Yui-42M##X%CQ/ODG U"g8B0;KXGEH3fupAQrKs9hvW?I]]-&./VyA7HiqkomKK6F'AZ#CbP9\1Um294Jdp U"q2Q6+sCWsM9aks*>Jzk'YgIutNl51g$Yz U"L0ytAl*?NP&yAc3dn%SU5sm'Mh5_r0iBuMiNbD3baB5b$dvudx;x-ubD:Ss[$R.fm U"r5.x#R)70NLE1Gkw$E?0tHpi+fRhNPe-?\VPZ_p7-UHg[\JlRwc U"JmG8YtSI$k#TjOo^^;N7i5'F^6>]=AXJOM9OcSO0?_(VJJpSFO1S[]87=&gG_kK U"7+PY8eF6G]I\SvU.2r8o,&OCBt6GAsMQs,W-re>Iejg0FRYU?#IK>LMk*X(\,:i+c=2+28qevMkg*D/J_\Q+%wyf/TB'V^ADL+71DRa;oGTZft0,TS:Oa&7dD-$\3_Yt3qOqEkd(d3gO U"j=;70h:v5I287b.aZ*4X_+=:d)JugRG.dG8,C>aft8#jKu'h?eIvdSd9A7p59#. U"e2U_kqt)^B-XE%s?*[*6GR_#qKBkzI:]VzX/-4S[8o(iSZj5;[9Jj<(h;^x?7bH U"f='V3FKZPpWW=a47Y[>#'?swJ\PD+V&3e++R:399WM+\43_O+6EjF^&%R:2F^a< U"HNa:2N_:1HL92G,CishX7R/$\u'tI\qG>QPaZ]/2$')w.S,o=V+=U#>ZS\\##&K U"5UdBK8ExA(1=^g$63+1zkB:T$sBQ:#M:z3UPiAJL%K$=T46p_BSoAtc[WKCCO#< U"22ii6?H,]1an%9ir7mIC)XQA(hSpLqTc:M-+mdSel>JPrB\22g8]h*MVX6$qC-c U"wHC?)U?9^/QAEX6Qm29Ta7qh$-._up7&/'qhPJh9c?1E'Ax#r(o5_i^FdhH5.), U"LS&%2MLt4*c*/st*>I0FSN8DE%8M\,Tg6(JlYjd#]n_sT'a;Ddq0=EqYeXLrLo5 U"M0E>7nD*-m0Fk>gNe[:^1Vef\Z)G'Y1dKrc*2h0V>BV3Ma1;b/j_)c*B2aq/W0e U"RyK_Li?2?hY?Act=0''0bM;(rkWGLaP)\GN=z]d*KReof4_32zgh>:P'.9?,=cs U"aXgq#4?I U">90O3)ci%/w^ly3^lxo3KBckVL^q&&8ZcV;'NYUEvl)7-Up,(c21[[uMeq82j'+ U";(C4Ha5A;DfGXt*xp>PB.u7SUIPr&i2o-'%v21T0I,UYICMAr/t*hZ0(8hF47/* U"m+O#R24k/U_73(96$)Y^R;l>IUGq=H7s?iCx4Pa25w_q$n$uQ,-*9pFaibaq#]j U"4/:5xCdYLX,llC9*^Cyq6Z^sucnT=$:zA2=i6q,(ahD3O'xq$T\l[R)#z/S1]Mw U"=^3Sqs04Mn4qoCp2eBWTOC)\5Lp%^d);fOgIr.J'%?H1ftuuJ*dJas+a;J,.nNB U"U7P/kBfmUhH4+h^ep7+jPN>GsT1_BIrQwml8fpK9FSuiWn.239xnF'J22KGPIW< U"tn5W19H(>0K%98/,+.j(MbW69#5+hFtG*&0lgLAeNanYSUr5;nW;-EIwSI:qRb) U"CMmiAskW)cofE>EH)94>=Tr0U?s6=2?'TioPWQ+&k*8prVW15pQl6?wAeB4A#O^ U"2m9FWA]7HT3QuaiX#ju>l2goAP3UjA$iaWA)1ij6b]Uuf=HI-z?io;;9:o#o$vT U";D>2E#rS<[n#T<[(wRI0XX.&GU+:-hU&niv1k9RQWE:+VJ52F%S*F6X1].gfdg# U"ao'3EL6I?&odB1&7EO,:XQ,lC;sOCMxie?RewM)Y)hSUR8+1Np09XX'D U"'1uZpb0?p,N1%e/Mtz48,0N/b<5sJYEi2OIGkE5x$fiJ0O1K:1A.>Xj5k7Wh.vg U";d]6IX^^_#_Bml^0A4N3qxc-.xRff\oLq?u'C,tr//OxrZB)$#jeloA>NPRf);iQ\_^]5/2Hi%uKpQWX]+GE';$hBQk,dVuq#\eJ-+t U"$uh5J.Z#.t2B*^8Z>61g_io)UTdNG3;fO\yjIeFMuJ3s8;k0./S<+#ZzwBF(ULs U"kX%G=1GAdceOlJj5ub%>.A6-im U"K/L-fv'49J-+,tG3yVmfY&PA6rJ\T9?Hmme0P<3OkgQPYGQsGS*vDWls[g4 U"y$QF+w)D8[GJBNM([s5k=>LaZ?aKISL U"%YHu%8.wDU.lE1JP>g\np?E3^P)R<=Jw*-[mbuq1^mij^9=a'1h\/h\Hv:FBd2L U"AErRH;YqE+j;mx#q5eaIkG?Q0pzs?ccY.t>A%%VuMxag'R(z>XZ>$+/AbcXW04, U"'x9FAKXNd=U3MxL3s(w(HU,M+5=o;qj=gET=EkwCq1B4ek2MZ.x'0GFQ)6Ef]J4 U"iczJER(pa,60pwf7zavcT3toD/o[RJ41u5m/E89f,2l9*a_il9Cm0R]Rh_:k;5P U"uL%8Ti=T7/NqH'P6t-p1+#Jc$o8^t?nxL[Yg$E*Uf,lB+u(H*UFki1fB]BS&CVn U"JsC;P'*]ECn2?#R<+v78$XG^n5Z1UPQpQc\hyu\=fcon+fW:T9&fTp;re(is5's U"%d)gOe;&7=p=tJX;VOCVn*bM]+BH:G)dXhkhIfv*qg7/_;z15r1)_Yde+s1IAnc U"V3eX<&8mY;6k'1Jg_H<&obhSpAI0C;0$nXHw2CB3VUm#iB1M;;XRe/t%u[r67Y1 U"-Z36)Ept07Qpxg.cnZ1c/+]8:cbl=#B4NE)rXX&f6r1=<0\CCK'tyh[Vjy U"kK70HfOvcu&#NA,YfABGxb7.K/\+FgFeGe$g_.LL(gco9TFK&#Z*Q]-q&DAv%YC U"%b*Rp#p/aNfXYsRe5[-y8R% U"x)7vY'C#\(]<2wHi4VK)c9t)AkR6_GseT9Sg0I4pQLD2BLl#.#M&iq(a27SD1HUw>Y*[^VvfB#'*l;n4/nUSp'Y# U"Q'6up'VN,JPP3FY=afVn41L71tR:.4+'5J$P#Wpnkp*)40maBfOsN6[:e60V30e U"h;D5s]jAf'=tic1x.0kMv&Z#%?ouNvS8p/$L6CQfx*G) U"kl\b+5fDw-gMP&HKh9GX%SRF[;aIfaDCKh4kg3g^Bgs=GRcUoRX=*8d5ckU,G-e U"btkx)7Ku&;A]tPFgjNpaP:zK?[Hrwd=6vsMRQScMYmrWpr)M\T^iV(Iu1IM_Q)1 U"9\0qfZ[^C)y7c6%4%A'Zv4EYX56KUfl0k_%yablsg/i#)O:7'D<:1U>BsBU?1Lb U"P_nnWB,cVYqPJ%W\O%j%4anvhEI>o7)c/kbVj\N)ja?+kZ),r/>gI^3(?K5phJX U"n5BG&c_-2:#/J<-vb4.L>I:5D0#6ju$d[Y[y#Ta3j+47*vCs6R9xVxG4U2IPTnN U"m^v=MSBw_Oq=RZ3q)Zki2c:&AuBr#bfKo8f0F1kAS9C.Zl$qi^(q%Z,X\_t*=J8 U"iVp09tUN1nqM;YOJG#[62+S6JD*Tn+F+RZSV8G9D4PQ:I]+m0Y1jc6/'%7'wQ(? U"2l.]Hf=6EC'I3^WV.mda+YXaL)B[\x0[?,Rr$RN%>^w/LJm#\gk U">lLL#Q>l491l^oC:Tg,/UQ#OzDpaIelHjQBZOB0?M:qFp(;*2Wvt*(Sjt7\H#D2FQF?U;r U"VHVV4;pB^&0rEImQ,6\VUICy'>cmT\9NofNjk2bl9=qqcob9N*q&4qXDpdhSs?+ U"VXEZt02'Z639O>.nv-NoHO<_RGqa3G3&1VO()IrGFnR[DS=/r]MX:q:VkZ6(AKR U"Yq?/AZw>pAV4cXJsKI,Ml8c^rb5O=si_mdlM>B2*c7)]ftXS,M/FsNmL(sPf,QB U"VQ^(eh:I%p5p'D^S(k*Jtl$=-0e/02aKH1/QOSF(D?N U"Bg#h7fq):lgCX1jDO,bZW+M,i2/Ffb,2>sP%)*x6VCCrYR%e/YnU4e7]]D[hf?] U"4)%QRoVcEVv&RbyL&+LkCsUV%\-'EDdQ<8LUkNs[xH'DdKpKMOn\nbPbs,7]#o> U"\hCE$3Jp+w2MNSdY3K6'RKC%S4CDTXgOHNp:Y-$_MbDp4TGYTPr:*L,:(\Hd3j$qMlx7Ntmz\, U"FWPaTGSl4^DN][?I?e68 U"5I(b(O1ETcOhChvrwV:[-(bIAkEC.GOl=WDFkVn%K^O:xucU4dj*^<#Jl?Hn>uU U";+f6cp[RSM?;(?LM\y3PM$<<7KhW]e<5n-dM+MUMMj\i.8=.8gSY0w15iqbi7s< U"3eNzO0BguC\P&?$AhxJyh?Ix+04h/Y0;0u/HOnKsOZ?1nST62]^[i/rnu[EloA U"e2]3I$AOz8C]PSd'H5Y=KR8h_3OJ=mS5jODQG\eW\0;kD:B]c&(>.9XX%)RBiHo U"T#rmB:u65%fl1ZDIrD)3UOi0bgd9w:tOGAWIb?(B1s2<:Q)2T%\mAZKh1j]JJ+Z U"SG_U=gDQ34,1V+(O_L+:0UR;XQO09j&5:T(4>ee7NflC['.51GkbpVjfW=Jp*ue U"FZu1PRsROV:*VM0h3sRjDUz-xBegU4dBlg+TM+e%s$p'5Oa)Z\$nuH&L%dO53t5 U":eZ,v*i8*Tx4sTO9q]/s3GlO%>7i/4RRTn/tpEEtpT7Aob4d'P\tIl]<^4?uv>, U"VjS.Rm>))#^(6=26b+(LJFqpf(HdGU-PKm$j)6-'QM84[AiC'SPSYr6:&JkJ>cr U".sj/LhId%n.#dsus7+za%r4HHedW]==.]s$M*[tO#36M?o:iFG%G3mQZ)4Q(BVI U"CmsU-CH/NwpJeSKkj=gV;SXE%mut5\dl[=*;$Sm'IGYGu[tp*)?ecgg\+mCBXM1 U"*n<^Hu5%,0aBAPsqW+m72plMwO2lE7$S)Y':J5a&BB52vg3E U"21+vqJm,]_k7:&0Kz1wQmS?3V+zgm1ttLQj97d8M)vk%-8F8[lph'SLoA4%KYQD U"xTi=a^^]LLggxA942OXENJByS&.V8>?1+Tu#m)sA4G?\;aw3OG/xa_a0*pZ?#nI;6*usX'9O^'o? U"Fi_er6O*OLmwl:YdHNVW$2,LX8C]/DYuQj##sZC0sRlm]V5Y0'.alFueec>fQ<+ U"ohh/wQvw\iTqeIKH9fh%0t1IE8s.Kr4>a+IUOf[HB7hKT#t(l&4U0:3h/tBVIK%pPDJ7;BV_??JIoXK3/dHnqpB_PrV- U"g?t^xJuIwv9FK%\A/BK*F\f8Lmp6n#h'1>x31WK2mMdpm+fg3LPW$$l'T6g6ooc U"qf9_FiuS'mghnaj[_7#8M%)q)rbW;&:*Xu&[z;)X3;Y_01X\KXIsR0Klh'lW/71 U"xn?Kx5.7x8[L/pe,HTmovCL;P#L/p)H4h?nnQsi59%yC3eM#I[z U"4H>dpDIlsp:XLWv:iget?QQjOOthW%M+1OQ-Q;yM#p%w%#trP;/b>FAo=InGG6: U"L0ecYVWl*xpJZxa;ihiotPReWgU=v2De)N%8QJ)3LYWUFb*z' U"F*6^N5yXpO^0F-T#S2O4[^;#:/A:qT&l?7nFzAARdKb^;iik5Z_+8;(3xz$B<2D U".<9$IB-0En(Kl2tPZ+Jkgb;#*sbrg,T1er-Lk1gBEI5EZ$dCwpMC?tKj)EKO3'R U"&uAhT%_8CM[m_Mmhc=NZk#*?IYIL#E35P(vqPfQ=pA3_R/F,Z)&Yaf%HF#tj*F?(9w% U"jm7IRnx>#Yl0[NJ1s6b\R\l)3MZNB5EjWgB#3?s5-&(JeKo81%p1XQ/e%(vRJR^fP+g?&3J>R,OMX0]F# U",ilIwGgImmbL&DO8MSni#5Sgx%:nfNh4XG.a'Sby.LF0mogNN#e:L1G)SNG8'?S U"R65Ihr3b0Gh+sIB3d=;^DU6&^iWXSXMT9-dw9W/[-, U"8S'(U:s0[Yl\NAPoD_^/-9=]%XNsPZ0JATAHxDEXz(1]cp*[,YLr+-io.,WMHv^ U".rrEv$_>0>l[wwmMZ:HCzSs=-Bc85O90#WzWLQd5xpp?;1exGzwsX%-_u0_N5di U"+qg2rv7t9OGUUfF?;r'jEPIvbS+rT]#vVrj9adSFE,EN\W:/oT0c%aBKb$\O>X]c<=_E?;TpE U"v*]6h*)2>VCm9H3^Jb'n8'WUcuH3_&IzE-uap8Pgfb*$Q>zL_Q>E0Kl,j]>j+$1 U"%yCE1>DAH$(:+6d#cydeNb1PDVR*1un1aRCMAH\Xb,Jb$8a[W38fu[*S,>5JXJ( U"oZo?eiqP$l_,wSUJ-0OaG9m/jbus+j2VFY;&w U"(m4Sr42K6%d>9KU$XMq\ZNXNx&?x#&g/=YqSso^f/z=Oyt(U?L^2[WC7K9-s3,% U"$wnuNAX4OI2epC+0AYw%[z_cQ7GA_4cIcz>3a2SuAbLtzg]s*6Zs?RyKNA.bH\vpA=]k*y U"7cbijJ;S8pOQ3E,C]TpYU>&>qu.PNR\L=2pX6W]Qg6f1p/GhNl#F2koI:cyYZ4e U"wICo]dNpVtThSuZied3+QVpo(%o(CpXTUYS:4Vx)-AdH=PdS_Jo U"x,nA7eg+cP7sS/gU5nqiAq)_rBWjekno[a,]4'&#vju2XES84qwcuc65n::ceoK U"wN-87/$&myZkBkbg:IEX]q+XB;X<-#hts?sEu]N1RV-,t2)C-+Rl(CUQc6UZZA& END SUB SUB V2 U"$A.(rfU&#*gn88YJJZPl\$uL=tYaW79NJ2Ik(S6]5GvaA,q)g3j=F7p7.vpoD'3 U":5tjK)GrK0Z6CkdIB'9zx\DHQMRQ0d15B/waCQUD4c>v]q?Gd'n'3V)?l''wYd? U"t3Q3R>F+YOyLi$#3K)U(n5;,^L#A?%JiyOJX7Ajqc%7P5U7NfPt8nrLwmt.e,&w U"NDGSpx#fvVXk;EF.tZ]+cLIw0NJ0#P&W.9, U"vwK19^r3HWJA=%0]Cm:#;;^mJpw\5+$t,I8l^(u)4Pwi2JO7rafX5uBRs^:OHMj U"LI,?xWoWJpZDk%P;.tu8>*kIQr/?i(UBX05.?=3C- U"-GvCnNmC.&)rh-;OGCKVIh8J6s_Ja'kFm0NTUiIn,$\^Odz,A/qiY]YOr0UX+^i U"Sr[N9w7_Whh:-3VONg4]OSVKGOK_(U(f7jl-S,G-8xq.a\nFT]e1HI=F5P7fu9% U"v;JMd\w$W'C3^u)=\2wL/Pk:Ta%G#pmsHYBb$C/N?8i)-cedOQDL+8Cr\4U;oqN U"Y.Q0?z^;-_])iK^$5Sky6R5NSEGTLH7nd0r_ZI8p(=QrRVN,V&;;gW(Y U"g;>y%M*-<36IVyHSYo(9q2)LMpqL&Y'Q/?%KCdxN<<9 U"VJN.(8srBKXoMg8e)rS/fDO'J=eDDAJ\n0tfBr=Q,P#r.mCnKW^kh\f8I:we(S; U"X\ulA>]xH[lhP(DH5\QdH\rj>F,1(F2YvFQUV);SrDrKd/WM#g*BWA/1V7=X,hy U"-e7O'-sI;D&blJQHZ,Q.kG\8k8t&Y[+E:M_M'rLq;/6=3[]peGnj_OxZX/$#:br U"UY0&q]K,61-Br.1qb)#D.)=F)p>gMC4XW+M+6/*UFWc[CBZi8aC?>;8[gnG'kkh U"jQdLRhLPYWQ=),x#-BU2mFLnUv>qJ U"VQSNm6y^S0HylyQ:ptmTa_ctRF]tt[0[ePe,pb#Zq.qO^[H.C57^ed%pNESmJ U"0k;DeaYVCj#-%/Hc\mGR:Id1%q;-$p[.?<*bM'[Hvx8cG$eCqEE>cU'\^a-2RJE/Aw1qgwQTZKAo9a9f1qdKJ U"W49jHlaBWp^Ca7*ZW&xfWt6P.-Mo<0(8o54A8u]eOX9KJx,%up&'%9%9%%%%-%3 U"eu]G>zRCn&A=%%).C%%%1%%%%%%%%%&%E%%%%%%%%%io#xtp%%lfSg%fxup%&'9 U"%%9%%%#-%NtJ]GHm:4bV9I%%'*%%%.%%%%%%%%%&%%E%%%&k=%%%ioxt%pSif%y U"up*%+%%%%%'%'(%#%%(%oR%%%%% END SUB V2 CLOSE:IF S=161AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad! SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32 IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1 S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB