Home » Archimedes archive » Archimedes World » AW-1991-04.adf » April91 » !AWApr91/Goodies/LoShang/!LoShang/SHANG1
!AWApr91/Goodies/LoShang/!LoShang/SHANG1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1991-04.adf » April91 |
Filename: | !AWApr91/Goodies/LoShang/!LoShang/SHANG1 |
Read OK: | ✔ |
File size: | 3E60 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM --------------------------- LO-SHANG --------------------------------- 20REM ----------------------- WRITTEN BY D.A.PEDDER ----- 18/12/89 --------- 30MODE15 40VDU23,1,0,0,0,0,0,0,0,0 50PRINTTAB(33,17)"PLEASE WAIT" 60*SNEW 70*SLOAD BLOCKBITS.BLOCK15 80replay%=TRUE:return%=FALSE 90type%=0:undo%=FALSE:tileoff%=0 100valid%=TRUE:finished%=FALSE 110DIM PIECES$(4,36) 120DIM tilevalid$(42),tilecoords%(42,3) 130DIM boardpos$(6,15,8) 140dummy=RND(-TIME) 150MOUSE ON 1 160REM ----------------------- MAIN PROGRAM LOOP ----------------------------- 170REPEAT 180IF replay%=TRUE THEN 190PRINTTAB(33,17)"PLEASE WAIT" 200noofbits%=144 210PROCdefbits 220replay%=FALSE 230PROCsetboard(Z%,X%,Y%) 240CLS:PROCdraw 250ENDIF 260REPEAT 270return%=FALSE 280PRINTTAB(18,3)"PICK A TILE";SPC(30) 290REPEAT 300first$="-99":second$="-66" 310doublesvalid%=TRUE 320PROCpointer 330doublesvalid%=FALSE 340IFreplay%=FALSE AND return%=FALSE THEN 350firstx%=xvalue%:firsty%=yvalue%:firstz%=zlayer% 360first$=boardpos$(firstz%,firstx%,firsty%) 370PROCtilevalid(0) 380IF valid%=TRUE THEN PROChilight(1) 390ENDIF 400UNTIL valid%=TRUE OR replay%=TRUE OR return%=TRUE 410IF replay%=FALSE AND return%=FALSE THEN 420REPEAT 430PRINTTAB(18,3)"PICK A SECOND TILE";SPC(25) 440REPEAT 450PROCpointer 460secondx%=xvalue%:secondy%=yvalue%:secondz%=zlayer% 470second$=boardpos$(secondz%,secondx%,secondy%) 480PROCtilevalid(0) 490UNTIL valid%=TRUE OR replay%=TRUE OR return%=TRUE 500IF valid%=TRUE AND replay%=FALSE AND return%=FALSE THEN 510IF VAL(first$)<5 AND VAL(second$)<5 THEN first$=second$ 520IF (VAL(first$)-1)DIV4=1 AND (VAL(second$)-1)DIV4=1 THEN first$=second$ 530sametile%=FALSE 540IF firstx%=secondx% AND firsty%=secondy% AND firstz%=secondz% THEN sametile%=TRUE:PROChilight(0) 550IF first$=second$ AND sametile%=FALSE THEN 560noofbits%=noofbits%-2 570PROCremove 580xvalue%=firstx%:yvalue%=firsty%:zlayer%=firstz% 590PROCremove 600ELSE 610PROChilight(0):VDU7 620ENDIF 630ENDIF 640UNTIL first$=second$ OR replay%=TRUE OR return%=TRUE 650ENDIF 660UNTIL noofbits%=0 OR replay%=TRUE 670IF noofbits%=0 AND finished%=FALSE THEN PROCdoneit 680UNTILreplay%=FALSE OR finished%=TRUE 690END 700REM ----------------------------------------------------------------------- 710DEFPROCdefbits 720FOR group%=0 TO 1 730FOR singles%=1 TO 4 740PIECES$(singles%,(group%+1))=STR$(singles%+(group%*4)) 750NEXT singles% 760NEXT group% 770FOR double=1 TO 4 780FOR loop1 =3 TO 36 790PIECES$(double,loop1)=STR$(loop1+6) 800NEXT loop1 810NEXTdouble 820ENDPROC 830REM ----------------------------------------------------------------------- 840DEFPROCsetboard(Z%,X%,Y%) 850FOR X%=6 TO 9 860FOR Y%=3 TO 6 870PROCpickabit(3,X%,Y%) 880NEXTY% 890NEXTX% 900FOR X%=5 TO 10 910FOR Y%=2 TO 7 920PROCpickabit(2,X%,Y%) 930NEXTY% 940NEXTX% 950FOR X%=14 TO 15 960PROCpickabit(1,X%,4) 970NEXTX% 980FOR X%=4 TO 11 990FOR Y%=1 TO 8 1000PROCpickabit(1,X%,Y%) 1010NEXTY% 1020NEXTX% 1030PROCpickabit(1,1,4) 1040FORY%=1 TO 8 STEP 7 1050FOR X%=2 TO 3 1060PROCpickabit(1,X%,Y%) 1070NEXTX% 1080FOR X%=12 TO 13 1090PROCpickabit(1,X%,Y%) 1100NEXTX% 1110NEXTY% 1120FORX%=3 TO 12 STEP 9 1130FOR Y%=3 TO 6 1140PROCpickabit(1,X%,Y%) 1150NEXTY% 1160NEXTX% 1170FORX%=2 TO 13 STEP 11 1180FOR Y%=4 TO 5 1190PROCpickabit(1,X%,Y%) 1200NEXTY% 1210NEXTX% 1220FOR X%=7 TO 8 1230FOR Y%=4 TO 5 1240PROCpickabit(4,X%,Y%) 1250NEXTY% 1260NEXTX% 1270Z%=5:X%=7:Y%=4:PROCpickabit(5,7,4) 1280ENDPROC 1290REM --------------------------------------------------------------------- 1300DEFPROCpickabit(Z%,X%,Y%) 1310gotone=FALSE 1320REPEAT 1330duble%=RND(4):bitno%=RND(36) 1340IF PIECES$(duble%,bitno%)<>"0" THEN 1350gotone=TRUE 1360boardpos$(Z%,X%,Y%)=PIECES$(duble%,bitno%) 1370IF Z%<=2 AND gotone=TRUE THEN 1380IF boardpos$(Z%+1,X%,Y%)=boardpos$(Z%,X%,Y%) THEN gotone=FALSE 1390IF boardpos$(Z%,X%-1,Y%)=boardpos$(Z%,X%,Y%) THEN gotone=FALSE 1400ENDIF 1410ENDIF 1420UNTIL gotone=TRUE 1430PIECES$(duble%,bitno%)="0" 1440ENDPROC 1450REM ---------------------------------------------------------------------- 1460DEFPROCdraw 1470VDU23,1,0,0,0,0,0,0,0,0 1480GCOL8,0 1490PROCplot(0,42,15,14,4,4,1) 1500PROCplot(0,0,13,2,8,1,1) 1510PROCplot(0,0,10,5,7,2,2) 1520PROCplot(0,0,9,6,6,3,3) 1530PROCplot(0,0,8,7,5,4,4) 1540IF boardpos$(1,2,4)>"0" THEN 1550VDU 23,27,0,98,0,0,0,0,0,0 1560PLOT &ED,92,344 1570ENDIF 1580PROCplot(0,42,1,1,4,4,1) 1590zlayer%=4:yvalue%=4:xvalue%=7 1600IF boardpos$(4,7,4)>"0" THEN 1610VDU 23,27,0,VAL(boardpos$(4,7,4)),0,0,0,0,0,0 1620PLOT &ED,536,368 1630ENDIF 1640PROCplottop 1650PRINTTAB(18,5)"NUMBER OF TILES REMAINING=";noofbits%;" " 1660ENDPROC 1670REM --------------------------------------------------------------------- 1680DEFPROCplot(xdisp%,ydisp%,xmax%,xmin%,ymax%,ymin%,zlevel%) 1690zlayer%=zlevel% 1700FOR y%=ymax% TO ymin% STEP-1 1710FOR x%=xmax% TO xmin% STEP-1 1720IF boardpos$(zlayer%,x%,y%)>"0" THEN 1730IF boardpos$(zlayer%+1,x%,y%)<="0" THEN 1740VDU 23,27,0,VAL(boardpos$(zlayer%,x%,y%)),0,0,0,0,0,0 1750PLOT &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% 1760ENDIF 1770IF boardpos$(zlayer%,x%,y%-1) <="0" THEN 1780VDU 23,27,0,99,0,0,0,0,0,0 1790PLOT &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% 1800ENDIF 1810IF boardpos$(zlayer%,x%-1,y%) <="0" THEN 1820VDU 23,27,0,98,0,0,0,0,0,0 1830PLOT &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% 1840ENDIF 1850ENDIF 1860NEXT x% 1870NEXT y% 1880ENDPROC 1890REM --------------------------------------------------------------------- 1900DEFPROCpointer 1910REPEAT 1920blocktop=TRUE 1930REPEAT:MOUSEx%,y%,button%:UNTIL button%=0 1940REPEAT:MOUSEx%,y%,button%:UNTIL button%<>0 1950CASE button% OF 1960WHEN 4 1970loop%=0 1980gotone%=FALSE 1990RESTORE 2280 2000REPEAT 2010READ ztmp%,xtmp%,ytmp%,xlow%,ylow% 2020IF boardpos$(ztmp%,xtmp%,ytmp%)>"0" THEN 2030IFx%>=xlow% AND x%<xlow%+84 AND y%>=ylow% ANDy%<ylow%+84 THEN 2040zlayer%=ztmp%:xvalue%=xtmp%:yvalue%=ytmp% 2050gotone%=TRUE 2060ENDIF 2070ENDIF 2080loop%=loop%+1 2090UNTIL gotone%=TRUE OR loop%=57 2100IF gotone%=FALSE THEN 2110yvalue%=(y%-10)DIV84 2120IF yvalue%>8 THEN yvalue%=0:zlayer%=0 2130xvalue%=((x%-10)DIV84)+1 2140IF xvalue%>15 THEN xvalue%=0:zlayer%=0 2150IF boardpos$(1,xvalue%,yvalue%)>"0" THEN zlayer%=1 ELSE zlayer%=0 2160IF xvalue%=1 OR xvalue%>13 THEN 2170zlayer%=0 2180IF y%>391 AND y%<468 THEN 2190yvalue%=4 2200IF boardpos$(1,xvalue%,4)>"0" THEN zlayer%=1 2210ENDIF 2220ENDIF 2230ENDIF 2240WHEN 2 2250PROCmenu(0) 2260IF replay%=FALSE AND return%=FALSE THEN blocktop=FALSE 2270 ENDCASE 2280DATA 5,7,4,594,421,4,7,4,545,376,4,7,5,545,460,4,8,4,629,376,4,8,5,629,460 2290DATA 3,6,3,453,284,3,6,4,453,368,3,6,5,453,452,3,6,6,453,536 2300DATA 3,7,3,537,284,3,7,4,537,368,3,7,5,537,452,3,7,6,537,536 2310DATA 3,8,3,621,284,3,8,4,621,368,3,8,5,621,452,3,8,6,621,536 2320DATA 3,9,3,705,284,3,9,4,705,368,3,9,5,705,452,3,9,6,705,536 2330DATA 2,5,2,361,192,2,5,3,361,276,2,5,4,361,360,2,5,5,361,444,2,5,6,361,528 2340DATA 2,6,2,445,192,2,6,3,445,276,2,6,4,445,360,2,6,5,445,444,2,6,6,445,528 2350DATA 2,7,2,529,192,2,7,3,529,276,2,7,4,529,360,2,7,5,529,444,2,7,6,529,528 2360DATA 2,8,2,613,192,2,8,3,613,276,2,8,4,613,360,2,8,5,613,444,2,8,6,613,528 2370DATA 2,9,2,696,192,2,9,3,696,276,2,9,4,696,360,2,9,5,696,444,2,9,6,696,528 2380DATA 2,10,2,781,192,2,10,3,781,276,2,10,4,781,360,2,10,5,781,444,2,10,6,781,528 2390DATA 2,5,7,361,612,2,6,7,445,612,2,7,7,529,612,2,8,7,613,612,2,9,7,697,612 2400DATA 2,10,7,781,612 2410IF zlayer%<4 THEN 2420IF boardpos$(zlayer%+1,xvalue%,yvalue%)>"0"THEN blocktop=FALSE 2430ENDIF 2440UNTIL blocktop=TRUE 2450ENDPROC 2460REM --------------------------------------------------------------------- 2470DEFPROCremove 2480boardpos$(zlayer%,xvalue%,yvalue%)="0" 2490PROCdeleteblock 2500PROCdrawsection 2510CASE xvalue% OF 2520WHEN 1 2530VDU 23,27,0,98,0,0,0,0,0,0 2540PLOT &ED,92,428 2550WHEN 15 2560IF boardpos$(1,12,3)<>"0" THEN 2570VDU 23,27,0,VAL(boardpos$(1,12,3)),0,0,0,0,0,0 2580PLOT &ED,932,260 2590ENDIF 2600ENDCASE 2610PRINTTAB(18,5)"NUMBER OF TILES REMAINING=";noofbits%;" " 2620ENDPROC 2630REM 2640REM --------------------------------------------------------------------- 2650DEFPROChilight(action%) 2660ydelta%=0 2670IF action%=0 THEN GCOL6,64 ELSE GCOL1,64 2680CASE zlayer% OF 2690WHEN 5 2700IFboardpos$(5,7,4)>"0" THEN 2710RECTANGLE FILL 594,422,80,80 2720ENDIF 2730WHEN 4 2740PROCrectangle(0) 2750WHEN 0 2760OTHERWISE 2770CASE xvalue% OF 2780WHEN 1,14,15 2790IF boardpos$(1,xvalue%,4)>"0" THEN PROCrectangle(44) 2800WHEN 2,3,4,12,13 2810PROCrectangle(0) 2820OTHERWISE 2830IFzlayer%=yvalue% OR zlayer%=xvalue%-3 THEN 2840 PROCrectangle(0) 2850 ELSE 2860 PROChardhilight 2870ENDIF 2880ENDCASE 2890ENDCASE 2900GCOL0,127 2910ENDPROC 2920 REM ------------------------------------------------------------------- 2930DEFPROCrectangle(ydelta%) 2940RECTANGLE FILL (xvalue%-1)*84+zlayer%*8+7,(yvalue%*84)+zlayer%*8+5+ydelta%,80,80 2950ENDPROC 2960REM ---------------------------------------------------------------------- 2970DEFPROChardhilight 2980xdatum%=(xvalue%-1)*84+(zlayer%+1)*8 2990ydatum%=(yvalue%*84)+(zlayer%+1)*8 3000cx%=xdatum%+80 3010cy%=ydatum%+76 3020left%=-1:below%=-1:stack%=-1 3030REPEAT 3040left%=left%+1 3050UNTIL boardpos$(left%+1,xvalue%-1,yvalue%)<="0" 3060IF left%>=zlayer% THEN 3070ytri1%=ydatum%+(left%-zlayer%)*8 3080xtri1%=xdatum%+(left%-zlayer%)*8 3090ELSE 3100xtri1%=xdatum%:ytri1%=ydatum% 3110ENDIF 3120REPEAT 3130below%=below%+1 3140UNTIL boardpos$(below%+1,xvalue%,yvalue%-1)<="0" 3150IF below%>=zlayer% THEN 3160ytri2%=ydatum%+(below%-zlayer%)*8 3170xtri2%=xdatum%+(below%-zlayer%)*8 3180ELSE 3190xtri2%=xdatum%:ytri2%=ydatum% 3200ENDIF 3220MOVE xtri1%,ytri1% 3230MOVE xtri1%,cy% 3240PLOT85,cx%,cy% 3250MOVEcx%,cy% 3260MOVE cx%,ytri2% 3270PLOT85,xtri2%,ytri2% 3280GCOL6,64 3290REPEAT 3300stack%=stack%+1 3310UNTIL boardpos$(stack%+1,xvalue%-1,yvalue%-1)<="0" 3320xtri3%=(xvalue%-2)*84+stack%*8+88 3330ytri3%=(yvalue%-1)*84+stack%*8+88 3340IF xtri3%>xtri1% THEN 3350MOVE xtri1%,ytri1% 3360MOVE xtri1%,ytri3% 3370PLOT 85,xtri3%,ytri3% 3380ENDIF 3390IF ytri3%>ytri2% THEN 3400MOVE xtri2%,ytri2% 3410MOVE xtri3%,ytri2% 3420PLOT 85,xtri3%,ytri3% 3430ENDIF 3440ENDPROC 3450REM ---------------------------------------------------------------------- 3460DEFPROCtilevalid(type%) 3470valid%=TRUE 3480IF type%=0 THEN PRINTTAB(18,3) SPC(40) 3490IF zlayer%>0 THEN 3500IF xvalue%>1 AND xvalue%<15 THEN 3510IF boardpos$(zlayer%,xvalue%+1,yvalue%)>"0" AND boardpos$(zlayer%,xvalue%-1,yvalue%)>"0" THEN valid%=FALSE 3520IF boardpos$(5,7,4)>"0" AND zlayer%=4 THEN valid%=FALSE 3530IF zlayer%=1 AND xvalue%=2 AND (yvalue%=4 OR yvalue%=5) AND boardpos$(1,1,4)>"0" THEN valid%=FALSE 3540IF zlayer%=1 AND xvalue%=13 AND (yvalue%=4 OR yvalue%=5) AND boardpos$(1,14,4)>"0" THEN valid%=FALSE 3550IFvalid%=FALSE AND type%=0 THEN 3560PRINTTAB(18,3)"THAT TILE IS NOT FREE - PICK ANOTHER ONE" 3570VDU7 3580ENDIF 3590ENDIF 3600ELSE 3610valid%=FALSE 3620 IF type%=0 THEN PRINTTAB(18,3)"POINTER NOT ON A TILE !" 3630ENDIF 3640ENDPROC 3650REM ---------------------------------------------------------------------- 3660DEFPROCdeleteblock 3670CASE zlayer% OF 3680WHEN 5 3690PROCplot(0,0,8,7,5,4,4) 3700OTHERWISE 3710GCOL0,0 3720VDU 23,27,0,100,0,0,0,0,0,0 3730CASE xvalue% OF 3740WHEN 1 3750PLOT &ED,0,84*(yvalue%)+(zlayer%*8)+42 3760WHEN 14 3770PLOT &ED,1108,(84*(yvalue%))+50 3780WHEN 15 3790PLOT &ED,1192,(84*(yvalue%))+50 3800PLOT &ED,1186,(84*(yvalue%-1))+50 3810OTHERWISE 3820PLOT &ED,(84*(xvalue%-1))+(zlayer%*8),(84*yvalue%)+(zlayer%*8) 3830ENDCASE 3840GCOL8,0 3850ENDCASE 3860ENDPROC 3870REM ---------------------------------------------------------------------- 3880DEFPROCplottop 3890IF boardpos$(5,7,4)<>"0" THEN 3900VDU 23,27,0,VAL(boardpos$(5,7,4)),0,0,0,0,0,0 3910PLOT &ED,584,416 3920VDU 23,27,0,99,0,0,0,0,0,0 3930PLOT &ED,584,416 3940VDU 23,27,0,98,0,0,0,0,0,0 3950PLOT &ED,584,416 3960ENDIF 3970ENDPROC 3980REM ---------------------------------------------------------------------- 3990DEFPROCdrawsection 4000PRINT TAB(3,3) SPC(50) 4010xlow%=(84*(xvalue%-1)):IF xlow%<0 xlow%=0 4020xhigh%=(84*(xvalue%-1))+130 4030ylow%=(84*yvalue%):IF ylow%<0 ylow%=0 4040yhigh%=(84*yvalue%)+120 4050VDU24,xlow%;ylow%;xhigh%;yhigh%; 4060xmax%=xvalue%+1:xmin%=xvalue%-2:ymax%=yvalue%+1:ymin%=yvalue%-2 4070IF xmin%<2 xmin%=2 4080IF ymin%<1 ymin%=1 4090IF xmax%>13 xmax%=13 4100IF ymax%>8 ymax%=8 4110FOR zloop%=1 TO 4 4120PROCplot(0,0,xmax%,xmin%,ymax%,ymin%,zloop%) 4130NEXTzloop% 4140PROCplottop 4150VDU26 4160ENDPROC 4170REM --------------------------------------------------------------------- 4180DEFPROCshowallbits 4190CLS 4200margin%=160 4210VDU5 4220MOVE 0,765:GCOL0,127:PRINT"FLOWERS 1 of":MOVE 160,730:PRINT"each" 4230FOR loop%=1 TO 4 4240VDU 23,27,0,loop%,0,0,0,0,0,0 4250PLOT &ED,margin%+(loop%*100),700 4260NEXT loop% 4270MOVE 0,665:PRINT"SEASONS 1 of":MOVE 160,630:PRINT"each" 4280FOR loop%=1 TO 4 4290VDU 23,27,0,4+loop%,0,0,0,0,0,0 4300PLOT &ED,margin%+(loop%*100),600 4310NEXT loop% 4320MOVE 0,565:PRINT"DRAGONS 4 of":MOVE 160,530:PRINT"each" 4330FOR loop%=1 TO 3 4340VDU 23,27,0,8+loop%,0,0,0,0,0,0 4350PLOT &ED,margin%+(loop%*100),500 4360NEXT loop% 4370MOVE 0,465:PRINT"WINDS 4 of":MOVE 160,430:PRINT"each" 4380FOR loop%=1 TO 4 4390VDU 23,27,0,38+loop%,0,0,0,0,0,0 4400PLOT &ED,margin%+(loop%*100),400 4410NEXT loop% 4420RESTORE 4430 4430DATA 365,SPOTS 4 of,265,CRAKS 4 of,165,BAMS 4 of 4440FOR group%=0 TO 2 4450READyposition%,string$ 4460MOVE0,yposition%:PRINTstring$ 4470MOVE160,yposition%-35:PRINT"each" 4480FOR loop%=1 TO 9 4490VDU 23,27,0,(11+loop%)+(group%*9),0,0,0,0,0,0 4500PLOT &ED,margin%+(loop%*100),300-(group%*100) 4510NEXT loop% 4520NEXT group% 4530MOVE 700,780:PRINT"ANY TWO FLOWERS CAN BE" 4540MOVE 700,740:PRINT"SELECTED AS A PAIR" 4550MOVE 700,680:PRINT"ANY TWO SEASONS CAN BE" 4560MOVE 700,640:PRINT"SELECTED AS A PAIR" 4570REPEAT:MOUSEx%,y%,button%:UNTIL button%=0 4580VDU4 4590VDU23,1,0,0,0,0,0,0,0,0 4600 PRINTTAB(3,2)"The game is played using 'MAH JONG' tiles , as displayed below." 4610 PRINTTAB(3,3)"The object is to remove tiles , in pairs , until none remain." 4620PRINTTAB(3,4)"Tiles can only be removed if :" 4630PRINTTAB(8,5)" EITHER There is no tile to it's right on the same level." 4640PRINTTAB(8,6)" OR There is no tile to it's left on the same level." 4650PRINTTAB(15,30)"PRESS ANY BUTTON TO RETURN TO GAME" 4660REPEAT:MOUSEx%,y%,button%:UNTIL button%<>0 4670return%=TRUE 4680CLS:PROCdraw 4690ENDPROC 4700REM --------------------------------------------------------------------- 4710DEFPROCmenu(type%) 4720GCOL0,20:VDU5 4730RECTANGLE FILL 20,940,1200,58 4740IF type%=0 THEN 4750IF doublesvalid%=TRUE THEN 4760RESTORE 4770 4770DATA MENU OFF,SHOW MOVES,NEW GAME,INFORMATION,QUIT 4780ELSE RESTORE 4790 4790DATA MENU OFF,,NEW GAME,,QUIT 4800ENDIF 4810ENDIF 4820IF type%=1 THEN 4830RESTORE 4840 4840DATA BACK TO GAME,SHOW NEXT,NEW GAME,INFORMATION,QUIT 4850ENDIF 4860FOR boxloop%=1 TO 5 4870GCOL0,42 4880READmess1$ 4890menupos%=30+(240*(boxloop%-1)) 4900RECTANGLE FILL menupos%,950,220,40 4910MOVE 10+menupos%,980:GCOL0,0:PRINT mess1$ 4920NEXTboxloop% 4930REPEAT:MOUSEx%,y%,button%:UNTIL button%=0 4940REPEAT:MOUSEx%,y%,button%:UNTIL button%<>0 4950selectvalid%=0 4960IF y%>950 AND y%<990 AND button%<>2 THEN 4970 IF type%=0 THEN 4980IF x%>31 AND x%<250 THEN RECTANGLE FILL 20,940,1200,58 4990IF x%>271 AND x%<490 THEN 5000IF doublesvalid%=TRUE THEN 5010selectvalid%=1:PROCshowmoves 5020ELSE 5030selectvalid%=0 :VDU7 5040ENDIF 5050ENDIF 5060ENDIF 5070IF type%=1 AND y%>950 AND y%<990 AND button%<>2 THEN 5080IF x%>31 AND x%<250 THEN selectvalid%=1:undo%=FALSE 5090IF x%>271 AND x%<490 THEN selectvalid%=1:undo%=TRUE 5100ENDIF 5110IFy%>950 AND y%<990 AND button%<>2 THEN 5120IF x%>511 AND x%<730 THEN selectvalid%=1:CLS:replay%=TRUE 5130IF x%>751 AND x%<970 THEN 5140IF doublesvalid%=TRUE THEN 5150IF type%=0 THEN 5160selectvalid%=1:PROCshowallbits 5170ELSE 5180selectvalid%=1 5190ENDIF 5200ELSE 5210selectvalid%=0 :VDU7 5220ENDIF 5230ENDIF 5240IF x%>991 AND x%<1210 THEN CLS:VDU4:COLOUR127:PRINTTAB(20,20)"BYE!":PRINTTAB(12,22)"Programmer D.A.Pedder":replay%=TRUE:finished%=TRUE 5250ENDIF 5260ENDIF 5270IF selectvalid%<>1 THEN RECTANGLE FILL 20,940,1200,58 5280VDU4 5290VDU23,1,0,0,0,0,0,0,0,0 5300yvalue%=0 5310ENDPROC 5320REM --------------------------------------------------------------------- 5330DEFPROCshowmoves 5340REM button%=0 5350VDU4 5360VDU23,1,0,0,0,0,0,0,0,0 5370PRINTTAB(12,3)SPC(60) 5380showloop%=0 5390FOR xshow%=1 TO 15 5400FOR yshow%=1 TO 8 5410FOR zshow%=1 TO 5 5420IF boardpos$(zshow%,xshow%,yshow%)>"0" THEN 5430zlayer%=zshow%:xvalue%=xshow%:yvalue%=yshow% 5440valid%=FALSE 5450PROCtilevalid(1) 5460IF valid%=TRUE AND boardpos$(zshow%+1,xshow%,yshow%)<="0" THEN 5470tilevalid$(showloop%)=boardpos$(zshow%,xshow%,yshow%) 5480IF VAL(tilevalid$(showloop%))<9 AND VAL(tilevalid$(showloop%))>0 THEN 5490IF VAL(tilevalid$(showloop%))<5 THEN 5500tilevalid$(showloop%)="1" 5510ELSE 5520tilevalid$(showloop%)="2" 5530ENDIF 5540ENDIF 5550tilecoords%(showloop%,1)=zshow% 5560tilecoords%(showloop%,2)=xshow% 5570tilecoords%(showloop%,3)=yshow% 5580showloop%=showloop%+1 5590ENDIF 5600ENDIF 5610NEXT zshow% 5620NEXT yshow% 5630NEXT xshow% 5640checkloop%=0 5650REPEAT 5660undo%=FALSE 5670doublesfound%=FALSE 5680doubloop%=checkloop%+1 5690REPEAT 5700IF tilevalid$(checkloop%)>"0" AND tilevalid$(checkloop%)=tilevalid$(doubloop%) THEN 5710zlayer%=tilecoords%(checkloop%,1) 5720xvalue%=tilecoords%(checkloop%,2) 5730yvalue%=tilecoords%(checkloop%,3) 5740PROChilight(1) 5750zlayer%=tilecoords%(doubloop%,1) 5760xvalue%=tilecoords%(doubloop%,2) 5770yvalue%=tilecoords%(doubloop%,3) 5780PROChilight(1) 5790doublesfound%=TRUE 5800ENDIF 5810doubloop%=doubloop%+1 5820UNTIL doubloop%>=showloop% 5830IF doublesfound%=TRUE THEN 5840PROCmenu(1) 5850checking$=tilevalid$(checkloop%) 5860FOR tileoff%=checkloop% TO showloop% 5870IF tilevalid$(tileoff%)>"0" AND tilevalid$(tileoff%)=checking$ THEN 5880zlayer%=tilecoords%(tileoff%,1) 5890xvalue%=tilecoords%(tileoff%,2) 5900yvalue%=tilecoords%(tileoff%,3) 5910PROChilight(0) 5920tilevalid$(tileoff%)="0" 5930ENDIF 5940NEXT tileoff% 5950IF undo%=FALSE THEN checkloop%=showloop%-1 5960ENDIF 5970checkloop%=checkloop%+1 5980UNTIL checkloop%>=showloop%-1 5990GCOL0,0:RECTANGLE FILL 20,940,1200,58 6000IF undo%=TRUE OR doublesfound%=FALSE THEN 6010REPEAT:MOUSEx%,y%,button%:UNTIL button%=0 6020PRINTTAB(12,3)"NO MORE MOVES ---- PRESS ANY BUTTON TO RETURN TO GAME" 6030REPEAT:MOUSEx%,y%,button%:UNTIL button%<>0 6040ENDIF 6050PRINTTAB(12,3)SPC(60) 6060PRINTTAB(18,3)"PICK A TILE";SPC(30) 6070VDU7 6080ENDPROC 6090REM -------------------------------------------------------------------- 6100DEFPROCdoneit 6110PRINTTAB(12,12)"WELL DONE YOU HAVE REMOVED ALL TILES" 6120REPEAT:MOUSEx%,y%,button%:UNTIL button%=0 6130PRINTTAB(4,2)"PRESS MIDDLE BUTTON TO PLAY AGAIN -- RIGHT BUTTON TO QUIT" 6140REPEAT 6150MOUSEx%,y%,button% 6160xhooray%=RND(1180):yhooray%=RND(800) 6170VDU 23,27,0,RND(36),0,0,0,0,0,0 6180PLOT &ED,xhooray%,yhooray% 6190VDU 23,27,0,101,0,0,0,0,0,0 6200PLOT &ED,xhooray%,yhooray% 6210UNTIL button%<>0 6220IF button%=2 THEN replay%=TRUE ELSE replay%=FALSE 6230ENDPROC
L� --------------------------- LO-SHANG --------------------------------- L� ----------------------- WRITTEN BY D.A.PEDDER ----- 18/12/89 --------- �15 (�23,1,0,0,0,0,0,0,0,0 2�33,17)"PLEASE WAIT" < *SNEW F*SLOAD BLOCKBITS.BLOCK15 Preplay%=�:return%=� Ztype%=0:undo%=�:tileoff%=0 dvalid%=�:finished%=� n� PIECES$(4,36) x&� tilevalid$(42),tilecoords%(42,3) �� boardpos$(6,15,8) �dummy=�(-�) � ȗ � 1 �M� ----------------------- MAIN PROGRAM LOOP ----------------------------- �� �� replay%=� � ��33,17)"PLEASE WAIT" �noofbits%=144 ��defbits � replay%=� ��setboard(Z%,X%,Y%) ��:�draw �� � return%=� �18,3)"PICK A TILE";�(30) "� ,first$="-99":second$="-66" 6doublesvalid%=� @�pointer Jdoublesvalid%=� T�replay%=� � return%=� � ^3firstx%=xvalue%:firsty%=yvalue%:firstz%=zlayer% h-first$=boardpos$(firstz%,firstx%,firsty%) r�tilevalid(0) |� valid%=� � �hilight(1) �� �&� valid%=� � replay%=� � return%=� �� replay%=� � return%=� � �� �%�18,3)"PICK A SECOND TILE";�(25) �� ��pointer �6secondx%=xvalue%:secondy%=yvalue%:secondz%=zlayer% �1second$=boardpos$(secondz%,secondx%,secondy%) ��tilevalid(0) �&� valid%=� � replay%=� � return%=� �(� valid%=� � replay%=� � return%=� � �1� �(first$)<5 � �(second$)<5 � first$=second$ =� (�(first$)-1)�4=1 � (�(second$)-1)�4=1 � first$=second$ sametile%=� V� firstx%=secondx% � firsty%=secondy% � firstz%=secondz% � sametile%=�:�hilight(0) &$� first$=second$ � sametile%=� � 0noofbits%=noofbits%-2 :�remove D3xvalue%=firstx%:yvalue%=firsty%:zlayer%=firstz% N�remove X� b�hilight(0):�7 l� v� �,� first$=second$ � replay%=� � return%=� �� �� noofbits%=0 � replay%=� �)� noofbits%=0 � finished%=� � �doneit ��replay%=� � finished%=� �� �M� ----------------------------------------------------------------------- � ��defbits �� group%=0 � 1 �� singles%=1 � 4 �7PIECES$(singles%,(group%+1))=�(singles%+(group%*4)) �� singles% �� group% � double=1 � 4 � loop1 =3 � 36 $PIECES$(double,loop1)=�(loop1+6) � loop1 *�double 4� >M� ----------------------------------------------------------------------- H��setboard(Z%,X%,Y%) R� X%=6 � 9 \� Y%=3 � 6 f�pickabit(3,X%,Y%) p�Y% z�X% �� X%=5 � 10 �� Y%=2 � 7 ��pickabit(2,X%,Y%) ��Y% ��X% �� X%=14 � 15 ��pickabit(1,X%,4) ��X% �� X%=4 � 11 �� Y%=1 � 8 ��pickabit(1,X%,Y%) ��Y% ��X% �pickabit(1,1,4) �Y%=1 � 8 � 7 � X%=2 � 3 $�pickabit(1,X%,Y%) .�X% 8� X%=12 � 13 B�pickabit(1,X%,Y%) L�X% V�Y% `�X%=3 � 12 � 9 j� Y%=3 � 6 t�pickabit(1,X%,Y%) ~�Y% ��X% ��X%=2 � 13 � 11 �� Y%=4 � 5 ��pickabit(1,X%,Y%) ��Y% ��X% �� X%=7 � 8 �� Y%=4 � 5 ��pickabit(4,X%,Y%) ��Y% ��X% �#Z%=5:X%=7:Y%=4:�pickabit(5,7,4) � K� --------------------------------------------------------------------- ��pickabit(Z%,X%,Y%) gotone=� (� 2duble%=�(4):bitno%=�(36) <#� PIECES$(duble%,bitno%)<>"0" � Fgotone=� P.boardpos$(Z%,X%,Y%)=PIECES$(duble%,bitno%) Z� Z%<=2 � gotone=� � d:� boardpos$(Z%+1,X%,Y%)=boardpos$(Z%,X%,Y%) � gotone=� n:� boardpos$(Z%,X%-1,Y%)=boardpos$(Z%,X%,Y%) � gotone=� x� �� �� gotone=� �PIECES$(duble%,bitno%)="0" �� �L� ---------------------------------------------------------------------- � ��draw ��23,1,0,0,0,0,0,0,0,0 ��8,0 ��plot(0,42,15,14,4,4,1) ��plot(0,0,13,2,8,1,1) ��plot(0,0,10,5,7,2,2) ��plot(0,0,9,6,6,3,3) ��plot(0,0,8,7,5,4,4) � boardpos$(1,2,4)>"0" � � 23,27,0,98,0,0,0,0,0,0 � &ED,92,344 "� ,�plot(0,42,1,1,4,4,1) 6!zlayer%=4:yvalue%=4:xvalue%=7 @� boardpos$(4,7,4)>"0" � J-� 23,27,0,�(boardpos$(4,7,4)),0,0,0,0,0,0 T� &ED,536,368 ^� h�plottop r7�18,5)"NUMBER OF TILES REMAINING=";noofbits%;" " |� �K� --------------------------------------------------------------------- �9��plot(xdisp%,ydisp%,xmax%,xmin%,ymax%,ymin%,zlevel%) �zlayer%=zlevel% �� y%=ymax% � ymin% �-1 �� x%=xmax% � xmin% �-1 �$� boardpos$(zlayer%,x%,y%)>"0" � �'� boardpos$(zlayer%+1,x%,y%)<="0" � �5� 23,27,0,�(boardpos$(zlayer%,x%,y%)),0,0,0,0,0,0 �C� &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% �� �(� boardpos$(zlayer%,x%,y%-1) <="0" � �� 23,27,0,99,0,0,0,0,0,0 �C� &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% � (� boardpos$(zlayer%,x%-1,y%) <="0" � � 23,27,0,98,0,0,0,0,0,0 &C� &ED,(84*(x%-1))+(zlayer%*8)+xdisp%,(84*y%)+(zlayer%*8)+ydisp% 0� :� D� x% N� y% X� bK� --------------------------------------------------------------------- l ��pointer v� �blocktop=� �!�:ȗx%,y%,button%:� button%=0 �"�:ȗx%,y%,button%:� button%<>0 �Ȏ button% � �� 4 �loop%=0 � gotone%=� � � �dhH �� �#� ztmp%,xtmp%,ytmp%,xlow%,ylow% �(� boardpos$(ztmp%,xtmp%,ytmp%)>"0" � �7�x%>=xlow% � x%<xlow%+84 � y%>=ylow% �y%<ylow%+84 � �-zlayer%=ztmp%:xvalue%=xtmp%:yvalue%=ytmp% gotone%=� � � loop%=loop%+1 *� gotone%=� � loop%=57 4� gotone%=� � >yvalue%=(y%-10)�84 H%� yvalue%>8 � yvalue%=0:zlayer%=0 Rxvalue%=((x%-10)�84)+1 \&� xvalue%>15 � xvalue%=0:zlayer%=0 f>� boardpos$(1,xvalue%,yvalue%)>"0" � zlayer%=1 � zlayer%=0 p� xvalue%=1 � xvalue%>13 � z zlayer%=0 �� y%>391 � y%<468 � � yvalue%=4 �,� boardpos$(1,xvalue%,4)>"0" � zlayer%=1 �� �� �� �� 2 ��menu(0) �(� replay%=� � return%=� � blocktop=� � � �K� 5,7,4,594,421,4,7,4,545,376,4,7,5,545,460,4,8,4,629,376,4,8,5,629,460 �=� 3,6,3,453,284,3,6,4,453,368,3,6,5,453,452,3,6,6,453,536 �=� 3,7,3,537,284,3,7,4,537,368,3,7,5,537,452,3,7,6,537,536 =� 3,8,3,621,284,3,8,4,621,368,3,8,5,621,452,3,8,6,621,536 =� 3,9,3,705,284,3,9,4,705,368,3,9,5,705,452,3,9,6,705,536 K� 2,5,2,361,192,2,5,3,361,276,2,5,4,361,360,2,5,5,361,444,2,5,6,361,528 $K� 2,6,2,445,192,2,6,3,445,276,2,6,4,445,360,2,6,5,445,444,2,6,6,445,528 .K� 2,7,2,529,192,2,7,3,529,276,2,7,4,529,360,2,7,5,529,444,2,7,6,529,528 8K� 2,8,2,613,192,2,8,3,613,276,2,8,4,613,360,2,8,5,613,444,2,8,6,613,528 BK� 2,9,2,696,192,2,9,3,696,276,2,9,4,696,360,2,9,5,696,444,2,9,6,696,528 LP� 2,10,2,781,192,2,10,3,781,276,2,10,4,781,360,2,10,5,781,444,2,10,6,781,528 VK� 2,5,7,361,612,2,6,7,445,612,2,7,7,529,612,2,8,7,613,612,2,9,7,697,612 `� 2,10,7,781,612 j� zlayer%<4 � t:� boardpos$(zlayer%+1,xvalue%,yvalue%)>"0"� blocktop=� ~� �� blocktop=� �� �K� --------------------------------------------------------------------- ���remove �*boardpos$(zlayer%,xvalue%,yvalue%)="0" ��deleteblock ��drawsection �Ȏ xvalue% � �� 1 �� 23,27,0,98,0,0,0,0,0,0 �� &ED,92,428 �� 15 � boardpos$(1,12,3)<>"0" � .� 23,27,0,�(boardpos$(1,12,3)),0,0,0,0,0,0 � &ED,932,260 � (� 27�18,5)"NUMBER OF TILES REMAINING=";noofbits%;" " <� F� PK� --------------------------------------------------------------------- Z��hilight(action%) d ydelta%=0 n� action%=0 � �6,64 � �1,64 xȎ zlayer% � �� 5 ��boardpos$(5,7,4)>"0" � �ȓ Ȑ 594,422,80,80 �� �� 4 ��rectangle(0) �� 0 � �Ȏ xvalue% � � � 1,14,15 �1� boardpos$(1,xvalue%,4)>"0" � �rectangle(44) �� 2,3,4,12,13 ��rectangle(0) *�zlayer%=yvalue% � zlayer%=xvalue%-3 � �rectangle(0) " � , �hardhilight 6� @� J� T �0,127 ^� hJ � ------------------------------------------------------------------- r��rectangle(ydelta%) |Kȓ Ȑ (xvalue%-1)*84+zlayer%*8+7,(yvalue%*84)+zlayer%*8+5+ydelta%,80,80 �� �L� ---------------------------------------------------------------------- ���hardhilight �(xdatum%=(xvalue%-1)*84+(zlayer%+1)*8 �&ydatum%=(yvalue%*84)+(zlayer%+1)*8 �cx%=xdatum%+80 �cy%=ydatum%+76 � left%=-1:below%=-1:stack%=-1 �� �left%=left%+1 �/� boardpos$(left%+1,xvalue%-1,yvalue%)<="0" �� left%>=zlayer% � �$ytri1%=ydatum%+(left%-zlayer%)*8 $xtri1%=xdatum%+(left%-zlayer%)*8 � !xtri1%=xdatum%:ytri1%=ydatum% &� 0� :below%=below%+1 D0� boardpos$(below%+1,xvalue%,yvalue%-1)<="0" N� below%>=zlayer% � X%ytri2%=ydatum%+(below%-zlayer%)*8 b%xtri2%=xdatum%+(below%-zlayer%)*8 l� v!xtri2%=xdatum%:ytri2%=ydatum% �� �� xtri1%,ytri1% �� xtri1%,cy% ��85,cx%,cy% ��cx%,cy% �� cx%,ytri2% ��85,xtri2%,ytri2% � �6,64 �� �stack%=stack%+1 �2� boardpos$(stack%+1,xvalue%-1,yvalue%-1)<="0" �%xtri3%=(xvalue%-2)*84+stack%*8+88 %ytri3%=(yvalue%-1)*84+stack%*8+88 � xtri3%>xtri1% � � xtri1%,ytri1% � xtri1%,ytri3% *� 85,xtri3%,ytri3% 4� >� ytri3%>ytri2% � H� xtri2%,ytri2% R� xtri3%,ytri2% \� 85,xtri3%,ytri3% f� p� zL� ---------------------------------------------------------------------- ���tilevalid(type%) �valid%=� �� type%=0 � �18,3) �(40) �� zlayer%>0 � �� xvalue%>1 � xvalue%<15 � �d� boardpos$(zlayer%,xvalue%+1,yvalue%)>"0" � boardpos$(zlayer%,xvalue%-1,yvalue%)>"0" � valid%=� �1� boardpos$(5,7,4)>"0" � zlayer%=4 � valid%=� �W� zlayer%=1 � xvalue%=2 � (yvalue%=4 � yvalue%=5) � boardpos$(1,1,4)>"0" � valid%=� �Y� zlayer%=1 � xvalue%=13 � (yvalue%=4 � yvalue%=5) � boardpos$(1,14,4)>"0" � valid%=� ��valid%=� � type%=0 � �5�18,3)"THAT TILE IS NOT FREE - PICK ANOTHER ONE" ��7 �� � � valid%=� $1 � type%=0 � �18,3)"POINTER NOT ON A TILE !" .� 8� BL� ---------------------------------------------------------------------- L��deleteblock VȎ zlayer% � `� 5 j�plot(0,0,8,7,5,4,4) t ~�0,0 �� 23,27,0,100,0,0,0,0,0,0 �Ȏ xvalue% � �� 1 �'� &ED,0,84*(yvalue%)+(zlayer%*8)+42 �� 14 � � &ED,1108,(84*(yvalue%))+50 �� 15 � � &ED,1192,(84*(yvalue%))+50 �"� &ED,1186,(84*(yvalue%-1))+50 � �?� &ED,(84*(xvalue%-1))+(zlayer%*8),(84*yvalue%)+(zlayer%*8) �� �8,0 � � L� ---------------------------------------------------------------------- ( ��plottop 2� boardpos$(5,7,4)<>"0" � <-� 23,27,0,�(boardpos$(5,7,4)),0,0,0,0,0,0 F� &ED,584,416 P� 23,27,0,99,0,0,0,0,0,0 Z� &ED,584,416 d� 23,27,0,98,0,0,0,0,0,0 n� &ED,584,416 x� �� �L� ---------------------------------------------------------------------- ���drawsection �� �3,3) �(50) �,xlow%=(84*(xvalue%-1)):� xlow%<0 xlow%=0 �xhigh%=(84*(xvalue%-1))+130 �(ylow%=(84*yvalue%):� ylow%<0 ylow%=0 �yhigh%=(84*yvalue%)+120 �"�24,xlow%;ylow%;xhigh%;yhigh%; �Cxmax%=xvalue%+1:xmin%=xvalue%-2:ymax%=yvalue%+1:ymin%=yvalue%-2 �� xmin%<2 xmin%=2 �� ymin%<1 ymin%=1 �� xmax%>13 xmax%=13 � ymax%>8 ymax%=8 � zloop%=1 � 4 -�plot(0,0,xmax%,xmin%,ymax%,ymin%,zloop%) "�zloop% ,�plottop 6�26 @� JK� --------------------------------------------------------------------- T��showallbits ^� hmargin%=160 r�5 |6� 0,765:�0,127:�"FLOWERS 1 of":� 160,730:�"each" �� loop%=1 � 4 �� 23,27,0,loop%,0,0,0,0,0,0 �!� &ED,margin%+(loop%*100),700 �� loop% �/� 0,665:�"SEASONS 1 of":� 160,630:�"each" �� loop%=1 � 4 �!� 23,27,0,4+loop%,0,0,0,0,0,0 �!� &ED,margin%+(loop%*100),600 �� loop% �/� 0,565:�"DRAGONS 4 of":� 160,530:�"each" �� loop%=1 � 3 �!� 23,27,0,8+loop%,0,0,0,0,0,0 �!� &ED,margin%+(loop%*100),500 � loop% /� 0,465:�"WINDS 4 of":� 160,430:�"each" � loop%=1 � 4 &"� 23,27,0,38+loop%,0,0,0,0,0,0 0!� &ED,margin%+(loop%*100),400 :� loop% D � �DNQ N>� 365,SPOTS 4 of,265,CRAKS 4 of,165,BAMS 4 of X� group%=0 � 2 b�yposition%,string$ l�0,yposition%:�string$ v�160,yposition%-35:�"each" �� loop%=1 � 9 �/� 23,27,0,(11+loop%)+(group%*9),0,0,0,0,0,0 �.� &ED,margin%+(loop%*100),300-(group%*100) �� loop% �� group% �'� 700,780:�"ANY TWO FLOWERS CAN BE" �#� 700,740:�"SELECTED AS A PAIR" �'� 700,680:�"ANY TWO SEASONS CAN BE" �#� 700,640:�"SELECTED AS A PAIR" �!�:ȗx%,y%,button%:� button%=0 ��4 ��23,1,0,0,0,0,0,0,0,0 �L �3,2)"The game is played using 'MAH JONG' tiles , as displayed below." J �3,3)"The object is to remove tiles , in pairs , until none remain." *�3,4)"Tiles can only be removed if :" G�8,5)" EITHER There is no tile to it's right on the same level." F�8,6)" OR There is no tile to it's left on the same level." *0�15,30)"PRESS ANY BUTTON TO RETURN TO GAME" 4"�:ȗx%,y%,button%:� button%<>0 > return%=� H�:�draw R� \K� --------------------------------------------------------------------- f��menu(type%) p�0,20:�5 zȓ Ȑ 20,940,1200,58 �� type%=0 � �� doublesvalid%=� � � � �tbR �3� MENU OFF,SHOW MOVES,NEW GAME,INFORMATION,QUIT �� � �tvR �� MENU OFF,,NEW GAME,,QUIT �� �� �� type%=1 � � � �dhR �6� BACK TO GAME,SHOW NEXT,NEW GAME,INFORMATION,QUIT �� �� boxloop%=1 � 5 �0,42 �mess1$ "menupos%=30+(240*(boxloop%-1)) $ȓ Ȑ menupos%,950,220,40 .#� 10+menupos%,980:�0,0:� mess1$ 8 �boxloop% B!�:ȗx%,y%,button%:� button%=0 L"�:ȗx%,y%,button%:� button%<>0 Vselectvalid%=0 `$� y%>950 � y%<990 � button%<>2 � j � type%=0 � t+� x%>31 � x%<250 � ȓ Ȑ 20,940,1200,58 ~� x%>271 � x%<490 � �� doublesvalid%=� � �selectvalid%=1:�showmoves �� �selectvalid%=0 :�7 �� �� �� �.� type%=1 � y%>950 � y%<990 � button%<>2 � �-� x%>31 � x%<250 � selectvalid%=1:undo%=� �.� x%>271 � x%<490 � selectvalid%=1:undo%=� �� �#�y%>950 � y%<990 � button%<>2 � 2� x%>511 � x%<730 � selectvalid%=1:�:replay%=� � x%>751 � x%<970 � � doublesvalid%=� � � type%=0 � (selectvalid%=1:�showallbits 2� <selectvalid%=1 F� P� Zselectvalid%=0 :�7 d� n� xg� x%>991 � x%<1210 � �:�4:�127:�20,20)"BYE!":�12,22)"Programmer D.A.Pedder":replay%=�:finished%=� �� �� �,� selectvalid%<>1 � ȓ Ȑ 20,940,1200,58 ��4 ��23,1,0,0,0,0,0,0,0,0 � yvalue%=0 �� �K� --------------------------------------------------------------------- ���showmoves �� button%=0 ��4 ��23,1,0,0,0,0,0,0,0,0 ��12,3)�(60) showloop%=0 � xshow%=1 � 15 � yshow%=1 � 8 "� zshow%=1 � 5 ,+� boardpos$(zshow%,xshow%,yshow%)>"0" � 60zlayer%=zshow%:xvalue%=xshow%:yvalue%=yshow% @valid%=� J�tilevalid(1) T9� valid%=� � boardpos$(zshow%+1,xshow%,yshow%)<="0" � ^9tilevalid$(showloop%)=boardpos$(zshow%,xshow%,yshow%) h?� �(tilevalid$(showloop%))<9 � �(tilevalid$(showloop%))>0 � r"� �(tilevalid$(showloop%))<5 � |tilevalid$(showloop%)="1" �� �tilevalid$(showloop%)="2" �� �� �#tilecoords%(showloop%,1)=zshow% �#tilecoords%(showloop%,2)=xshow% �#tilecoords%(showloop%,3)=yshow% �showloop%=showloop%+1 �� �� �� zshow% �� yshow% �� xshow% checkloop%=0 � undo%=� &doublesfound%=� 0doubloop%=checkloop%+1 :� DQ� tilevalid$(checkloop%)>"0" � tilevalid$(checkloop%)=tilevalid$(doubloop%) � N%zlayer%=tilecoords%(checkloop%,1) X%xvalue%=tilecoords%(checkloop%,2) b%yvalue%=tilecoords%(checkloop%,3) l�hilight(1) v$zlayer%=tilecoords%(doubloop%,1) �$xvalue%=tilecoords%(doubloop%,2) �$yvalue%=tilecoords%(doubloop%,3) ��hilight(1) �doublesfound%=� �� �doubloop%=doubloop%+1 �� doubloop%>=showloop% �� doublesfound%=� � ��menu(1) �$checking$=tilevalid$(checkloop%) �%� tileoff%=checkloop% � showloop% �A� tilevalid$(tileoff%)>"0" � tilevalid$(tileoff%)=checking$ � �#zlayer%=tilecoords%(tileoff%,1) #xvalue%=tilecoords%(tileoff%,2) #yvalue%=tilecoords%(tileoff%,3) �hilight(0) tilevalid$(tileoff%)="0" *� 4� tileoff% >&� undo%=� � checkloop%=showloop%-1 H� Rcheckloop%=checkloop%+1 \� checkloop%>=showloop%-1 f�0,0:ȓ Ȑ 20,940,1200,58 p!� undo%=� � doublesfound%=� � z!�:ȗx%,y%,button%:� button%=0 �B�12,3)"NO MORE MOVES ---- PRESS ANY BUTTON TO RETURN TO GAME" �"�:ȗx%,y%,button%:� button%<>0 �� ��12,3)�(60) ��18,3)"PICK A TILE";�(30) ��7 �� �J� -------------------------------------------------------------------- ���doneit �2�12,12)"WELL DONE YOU HAVE REMOVED ALL TILES" �!�:ȗx%,y%,button%:� button%=0 �E�4,2)"PRESS MIDDLE BUTTON TO PLAY AGAIN -- RIGHT BUTTON TO QUIT" �� ȗx%,y%,button% $xhooray%=�(1180):yhooray%=�(800) � 23,27,0,�(36),0,0,0,0,0,0 $� &ED,xhooray%,yhooray% .� 23,27,0,101,0,0,0,0,0,0 8� &ED,xhooray%,yhooray% B� button%<>0 L'� button%=2 � replay%=� � replay%=� V� �
00000000 0d 00 0a 4c f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...L. ----------| 00000010 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000020 2d 20 4c 4f 2d 53 48 41 4e 47 20 2d 2d 2d 2d 2d |- LO-SHANG -----| 00000030 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 14 4c |------------...L| 00000050 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00000060 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 57 52 49 54 54 45 |--------- WRITTE| 00000070 4e 20 42 59 20 44 2e 41 2e 50 45 44 44 45 52 20 |N BY D.A.PEDDER | 00000080 2d 2d 2d 2d 2d 20 31 38 2f 31 32 2f 38 39 20 2d |----- 18/12/89 -| 00000090 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 1e 07 eb 31 35 0d |--------.....15.| 000000a0 00 28 19 ef 32 33 2c 31 2c 30 2c 30 2c 30 2c 30 |.(..23,1,0,0,0,0| 000000b0 2c 30 2c 30 2c 30 2c 30 0d 00 32 19 f1 8a 33 33 |,0,0,0,0..2...33| 000000c0 2c 31 37 29 22 50 4c 45 41 53 45 20 57 41 49 54 |,17)"PLEASE WAIT| 000000d0 22 0d 00 3c 09 2a 53 4e 45 57 0d 00 46 1c 2a 53 |"..<.*SNEW..F.*S| 000000e0 4c 4f 41 44 20 42 4c 4f 43 4b 42 49 54 53 2e 42 |LOAD BLOCKBITS.B| 000000f0 4c 4f 43 4b 31 35 0d 00 50 17 72 65 70 6c 61 79 |LOCK15..P.replay| 00000100 25 3d b9 3a 72 65 74 75 72 6e 25 3d a3 0d 00 5a |%=.:return%=...Z| 00000110 1e 74 79 70 65 25 3d 30 3a 75 6e 64 6f 25 3d a3 |.type%=0:undo%=.| 00000120 3a 74 69 6c 65 6f 66 66 25 3d 30 0d 00 64 18 76 |:tileoff%=0..d.v| 00000130 61 6c 69 64 25 3d b9 3a 66 69 6e 69 73 68 65 64 |alid%=.:finished| 00000140 25 3d a3 0d 00 6e 13 de 20 50 49 45 43 45 53 24 |%=...n.. PIECES$| 00000150 28 34 2c 33 36 29 0d 00 78 26 de 20 74 69 6c 65 |(4,36)..x&. tile| 00000160 76 61 6c 69 64 24 28 34 32 29 2c 74 69 6c 65 63 |valid$(42),tilec| 00000170 6f 6f 72 64 73 25 28 34 32 2c 33 29 0d 00 82 17 |oords%(42,3)....| 00000180 de 20 62 6f 61 72 64 70 6f 73 24 28 36 2c 31 35 |. boardpos$(6,15| 00000190 2c 38 29 0d 00 8c 0f 64 75 6d 6d 79 3d b3 28 2d |,8)....dummy=.(-| 000001a0 91 29 0d 00 96 0a c8 97 20 ee 20 31 0d 00 a0 4d |.)...... . 1...M| 000001b0 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 000001c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 4d 41 49 4e 20 50 |--------- MAIN P| 000001d0 52 4f 47 52 41 4d 20 4c 4f 4f 50 20 2d 2d 2d 2d |ROGRAM LOOP ----| 000001e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000001f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 aa 05 f5 0d 00 |---------.......| 00000200 b4 11 e7 20 72 65 70 6c 61 79 25 3d b9 20 8c 0d |... replay%=. ..| 00000210 00 be 19 f1 8a 33 33 2c 31 37 29 22 50 4c 45 41 |.....33,17)"PLEA| 00000220 53 45 20 57 41 49 54 22 0d 00 c8 11 6e 6f 6f 66 |SE WAIT"....noof| 00000230 62 69 74 73 25 3d 31 34 34 0d 00 d2 0c f2 64 65 |bits%=144.....de| 00000240 66 62 69 74 73 0d 00 dc 0d 72 65 70 6c 61 79 25 |fbits....replay%| 00000250 3d a3 0d 00 e6 17 f2 73 65 74 62 6f 61 72 64 28 |=......setboard(| 00000260 5a 25 2c 58 25 2c 59 25 29 0d 00 f0 0b db 3a f2 |Z%,X%,Y%).....:.| 00000270 64 72 61 77 0d 00 fa 05 cd 0d 01 04 05 f5 0d 01 |draw............| 00000280 0e 0d 72 65 74 75 72 6e 25 3d a3 0d 01 18 1e f1 |..return%=......| 00000290 8a 31 38 2c 33 29 22 50 49 43 4b 20 41 20 54 49 |.18,3)"PICK A TI| 000002a0 4c 45 22 3b 89 28 33 30 29 0d 01 22 05 f5 0d 01 |LE";.(30).."....| 000002b0 2c 1e 66 69 72 73 74 24 3d 22 2d 39 39 22 3a 73 |,.first$="-99":s| 000002c0 65 63 6f 6e 64 24 3d 22 2d 36 36 22 0d 01 36 13 |econd$="-66"..6.| 000002d0 64 6f 75 62 6c 65 73 76 61 6c 69 64 25 3d b9 0d |doublesvalid%=..| 000002e0 01 40 0c f2 70 6f 69 6e 74 65 72 0d 01 4a 13 64 |.@..pointer..J.d| 000002f0 6f 75 62 6c 65 73 76 61 6c 69 64 25 3d a3 0d 01 |oublesvalid%=...| 00000300 54 1c e7 72 65 70 6c 61 79 25 3d a3 20 80 20 72 |T..replay%=. . r| 00000310 65 74 75 72 6e 25 3d a3 20 8c 0d 01 5e 33 66 69 |eturn%=. ...^3fi| 00000320 72 73 74 78 25 3d 78 76 61 6c 75 65 25 3a 66 69 |rstx%=xvalue%:fi| 00000330 72 73 74 79 25 3d 79 76 61 6c 75 65 25 3a 66 69 |rsty%=yvalue%:fi| 00000340 72 73 74 7a 25 3d 7a 6c 61 79 65 72 25 0d 01 68 |rstz%=zlayer%..h| 00000350 2d 66 69 72 73 74 24 3d 62 6f 61 72 64 70 6f 73 |-first$=boardpos| 00000360 24 28 66 69 72 73 74 7a 25 2c 66 69 72 73 74 78 |$(firstz%,firstx| 00000370 25 2c 66 69 72 73 74 79 25 29 0d 01 72 11 f2 74 |%,firsty%)..r..t| 00000380 69 6c 65 76 61 6c 69 64 28 30 29 0d 01 7c 1c e7 |ilevalid(0)..|..| 00000390 20 76 61 6c 69 64 25 3d b9 20 8c 20 f2 68 69 6c | valid%=. . .hil| 000003a0 69 67 68 74 28 31 29 0d 01 86 05 cd 0d 01 90 26 |ight(1)........&| 000003b0 fd 20 76 61 6c 69 64 25 3d b9 20 84 20 72 65 70 |. valid%=. . rep| 000003c0 6c 61 79 25 3d b9 20 84 20 72 65 74 75 72 6e 25 |lay%=. . return%| 000003d0 3d b9 0d 01 9a 1d e7 20 72 65 70 6c 61 79 25 3d |=...... replay%=| 000003e0 a3 20 80 20 72 65 74 75 72 6e 25 3d a3 20 8c 0d |. . return%=. ..| 000003f0 01 a4 05 f5 0d 01 ae 25 f1 8a 31 38 2c 33 29 22 |.......%..18,3)"| 00000400 50 49 43 4b 20 41 20 53 45 43 4f 4e 44 20 54 49 |PICK A SECOND TI| 00000410 4c 45 22 3b 89 28 32 35 29 0d 01 b8 05 f5 0d 01 |LE";.(25).......| 00000420 c2 0c f2 70 6f 69 6e 74 65 72 0d 01 cc 36 73 65 |...pointer...6se| 00000430 63 6f 6e 64 78 25 3d 78 76 61 6c 75 65 25 3a 73 |condx%=xvalue%:s| 00000440 65 63 6f 6e 64 79 25 3d 79 76 61 6c 75 65 25 3a |econdy%=yvalue%:| 00000450 73 65 63 6f 6e 64 7a 25 3d 7a 6c 61 79 65 72 25 |secondz%=zlayer%| 00000460 0d 01 d6 31 73 65 63 6f 6e 64 24 3d 62 6f 61 72 |...1second$=boar| 00000470 64 70 6f 73 24 28 73 65 63 6f 6e 64 7a 25 2c 73 |dpos$(secondz%,s| 00000480 65 63 6f 6e 64 78 25 2c 73 65 63 6f 6e 64 79 25 |econdx%,secondy%| 00000490 29 0d 01 e0 11 f2 74 69 6c 65 76 61 6c 69 64 28 |).....tilevalid(| 000004a0 30 29 0d 01 ea 26 fd 20 76 61 6c 69 64 25 3d b9 |0)...&. valid%=.| 000004b0 20 84 20 72 65 70 6c 61 79 25 3d b9 20 84 20 72 | . replay%=. . r| 000004c0 65 74 75 72 6e 25 3d b9 0d 01 f4 28 e7 20 76 61 |eturn%=....(. va| 000004d0 6c 69 64 25 3d b9 20 80 20 72 65 70 6c 61 79 25 |lid%=. . replay%| 000004e0 3d a3 20 80 20 72 65 74 75 72 6e 25 3d a3 20 8c |=. . return%=. .| 000004f0 0d 01 fe 31 e7 20 bb 28 66 69 72 73 74 24 29 3c |...1. .(first$)<| 00000500 35 20 80 20 bb 28 73 65 63 6f 6e 64 24 29 3c 35 |5 . .(second$)<5| 00000510 20 8c 20 66 69 72 73 74 24 3d 73 65 63 6f 6e 64 | . first$=second| 00000520 24 0d 02 08 3d e7 20 28 bb 28 66 69 72 73 74 24 |$...=. (.(first$| 00000530 29 2d 31 29 81 34 3d 31 20 80 20 28 bb 28 73 65 |)-1).4=1 . (.(se| 00000540 63 6f 6e 64 24 29 2d 31 29 81 34 3d 31 20 8c 20 |cond$)-1).4=1 . | 00000550 66 69 72 73 74 24 3d 73 65 63 6f 6e 64 24 0d 02 |first$=second$..| 00000560 12 0f 73 61 6d 65 74 69 6c 65 25 3d a3 0d 02 1c |..sametile%=....| 00000570 56 e7 20 66 69 72 73 74 78 25 3d 73 65 63 6f 6e |V. firstx%=secon| 00000580 64 78 25 20 80 20 66 69 72 73 74 79 25 3d 73 65 |dx% . firsty%=se| 00000590 63 6f 6e 64 79 25 20 80 20 66 69 72 73 74 7a 25 |condy% . firstz%| 000005a0 3d 73 65 63 6f 6e 64 7a 25 20 8c 20 73 61 6d 65 |=secondz% . same| 000005b0 74 69 6c 65 25 3d b9 3a f2 68 69 6c 69 67 68 74 |tile%=.:.hilight| 000005c0 28 30 29 0d 02 26 24 e7 20 66 69 72 73 74 24 3d |(0)..&$. first$=| 000005d0 73 65 63 6f 6e 64 24 20 80 20 73 61 6d 65 74 69 |second$ . sameti| 000005e0 6c 65 25 3d a3 20 8c 0d 02 30 19 6e 6f 6f 66 62 |le%=. ...0.noofb| 000005f0 69 74 73 25 3d 6e 6f 6f 66 62 69 74 73 25 2d 32 |its%=noofbits%-2| 00000600 0d 02 3a 0b f2 72 65 6d 6f 76 65 0d 02 44 33 78 |..:..remove..D3x| 00000610 76 61 6c 75 65 25 3d 66 69 72 73 74 78 25 3a 79 |value%=firstx%:y| 00000620 76 61 6c 75 65 25 3d 66 69 72 73 74 79 25 3a 7a |value%=firsty%:z| 00000630 6c 61 79 65 72 25 3d 66 69 72 73 74 7a 25 0d 02 |layer%=firstz%..| 00000640 4e 0b f2 72 65 6d 6f 76 65 0d 02 58 05 cc 0d 02 |N..remove..X....| 00000650 62 12 f2 68 69 6c 69 67 68 74 28 30 29 3a ef 37 |b..hilight(0):.7| 00000660 0d 02 6c 05 cd 0d 02 76 05 cd 0d 02 80 2c fd 20 |..l....v.....,. | 00000670 66 69 72 73 74 24 3d 73 65 63 6f 6e 64 24 20 84 |first$=second$ .| 00000680 20 72 65 70 6c 61 79 25 3d b9 20 84 20 72 65 74 | replay%=. . ret| 00000690 75 72 6e 25 3d b9 0d 02 8a 05 cd 0d 02 94 1d fd |urn%=...........| 000006a0 20 6e 6f 6f 66 62 69 74 73 25 3d 30 20 84 20 72 | noofbits%=0 . r| 000006b0 65 70 6c 61 79 25 3d b9 0d 02 9e 29 e7 20 6e 6f |eplay%=....). no| 000006c0 6f 66 62 69 74 73 25 3d 30 20 80 20 66 69 6e 69 |ofbits%=0 . fini| 000006d0 73 68 65 64 25 3d a3 20 8c 20 f2 64 6f 6e 65 69 |shed%=. . .donei| 000006e0 74 0d 02 a8 1c fd 72 65 70 6c 61 79 25 3d a3 20 |t.....replay%=. | 000006f0 84 20 66 69 6e 69 73 68 65 64 25 3d b9 0d 02 b2 |. finished%=....| 00000700 05 e0 0d 02 bc 4d f4 20 2d 2d 2d 2d 2d 2d 2d 2d |.....M. --------| 00000710 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00000750 02 c6 0d dd f2 64 65 66 62 69 74 73 0d 02 d0 12 |.....defbits....| 00000760 e3 20 67 72 6f 75 70 25 3d 30 20 b8 20 31 0d 02 |. group%=0 . 1..| 00000770 da 14 e3 20 73 69 6e 67 6c 65 73 25 3d 31 20 b8 |... singles%=1 .| 00000780 20 34 0d 02 e4 37 50 49 45 43 45 53 24 28 73 69 | 4...7PIECES$(si| 00000790 6e 67 6c 65 73 25 2c 28 67 72 6f 75 70 25 2b 31 |ngles%,(group%+1| 000007a0 29 29 3d c3 28 73 69 6e 67 6c 65 73 25 2b 28 67 |))=.(singles%+(g| 000007b0 72 6f 75 70 25 2a 34 29 29 0d 02 ee 0e ed 20 73 |roup%*4))..... s| 000007c0 69 6e 67 6c 65 73 25 0d 02 f8 0c ed 20 67 72 6f |ingles%..... gro| 000007d0 75 70 25 0d 03 02 12 e3 20 64 6f 75 62 6c 65 3d |up%..... double=| 000007e0 31 20 b8 20 34 0d 03 0c 13 e3 20 6c 6f 6f 70 31 |1 . 4..... loop1| 000007f0 20 3d 33 20 b8 20 33 36 0d 03 16 24 50 49 45 43 | =3 . 36...$PIEC| 00000800 45 53 24 28 64 6f 75 62 6c 65 2c 6c 6f 6f 70 31 |ES$(double,loop1| 00000810 29 3d c3 28 6c 6f 6f 70 31 2b 36 29 0d 03 20 0b |)=.(loop1+6).. .| 00000820 ed 20 6c 6f 6f 70 31 0d 03 2a 0b ed 64 6f 75 62 |. loop1..*..doub| 00000830 6c 65 0d 03 34 05 e1 0d 03 3e 4d f4 20 2d 2d 2d |le..4....>M. ---| 00000840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000880 2d 2d 2d 2d 0d 03 48 18 dd f2 73 65 74 62 6f 61 |----..H...setboa| 00000890 72 64 28 5a 25 2c 58 25 2c 59 25 29 0d 03 52 0e |rd(Z%,X%,Y%)..R.| 000008a0 e3 20 58 25 3d 36 20 b8 20 39 0d 03 5c 0e e3 20 |. X%=6 . 9..\.. | 000008b0 59 25 3d 33 20 b8 20 36 0d 03 66 16 f2 70 69 63 |Y%=3 . 6..f..pic| 000008c0 6b 61 62 69 74 28 33 2c 58 25 2c 59 25 29 0d 03 |kabit(3,X%,Y%)..| 000008d0 70 07 ed 59 25 0d 03 7a 07 ed 58 25 0d 03 84 0f |p..Y%..z..X%....| 000008e0 e3 20 58 25 3d 35 20 b8 20 31 30 0d 03 8e 0e e3 |. X%=5 . 10.....| 000008f0 20 59 25 3d 32 20 b8 20 37 0d 03 98 16 f2 70 69 | Y%=2 . 7.....pi| 00000900 63 6b 61 62 69 74 28 32 2c 58 25 2c 59 25 29 0d |ckabit(2,X%,Y%).| 00000910 03 a2 07 ed 59 25 0d 03 ac 07 ed 58 25 0d 03 b6 |....Y%.....X%...| 00000920 10 e3 20 58 25 3d 31 34 20 b8 20 31 35 0d 03 c0 |.. X%=14 . 15...| 00000930 15 f2 70 69 63 6b 61 62 69 74 28 31 2c 58 25 2c |..pickabit(1,X%,| 00000940 34 29 0d 03 ca 07 ed 58 25 0d 03 d4 0f e3 20 58 |4).....X%..... X| 00000950 25 3d 34 20 b8 20 31 31 0d 03 de 0e e3 20 59 25 |%=4 . 11..... Y%| 00000960 3d 31 20 b8 20 38 0d 03 e8 16 f2 70 69 63 6b 61 |=1 . 8.....picka| 00000970 62 69 74 28 31 2c 58 25 2c 59 25 29 0d 03 f2 07 |bit(1,X%,Y%)....| 00000980 ed 59 25 0d 03 fc 07 ed 58 25 0d 04 06 14 f2 70 |.Y%.....X%.....p| 00000990 69 63 6b 61 62 69 74 28 31 2c 31 2c 34 29 0d 04 |ickabit(1,1,4)..| 000009a0 10 11 e3 59 25 3d 31 20 b8 20 38 20 88 20 37 0d |...Y%=1 . 8 . 7.| 000009b0 04 1a 0e e3 20 58 25 3d 32 20 b8 20 33 0d 04 24 |.... X%=2 . 3..$| 000009c0 16 f2 70 69 63 6b 61 62 69 74 28 31 2c 58 25 2c |..pickabit(1,X%,| 000009d0 59 25 29 0d 04 2e 07 ed 58 25 0d 04 38 10 e3 20 |Y%).....X%..8.. | 000009e0 58 25 3d 31 32 20 b8 20 31 33 0d 04 42 16 f2 70 |X%=12 . 13..B..p| 000009f0 69 63 6b 61 62 69 74 28 31 2c 58 25 2c 59 25 29 |ickabit(1,X%,Y%)| 00000a00 0d 04 4c 07 ed 58 25 0d 04 56 07 ed 59 25 0d 04 |..L..X%..V..Y%..| 00000a10 60 12 e3 58 25 3d 33 20 b8 20 31 32 20 88 20 39 |`..X%=3 . 12 . 9| 00000a20 0d 04 6a 0e e3 20 59 25 3d 33 20 b8 20 36 0d 04 |..j.. Y%=3 . 6..| 00000a30 74 16 f2 70 69 63 6b 61 62 69 74 28 31 2c 58 25 |t..pickabit(1,X%| 00000a40 2c 59 25 29 0d 04 7e 07 ed 59 25 0d 04 88 07 ed |,Y%)..~..Y%.....| 00000a50 58 25 0d 04 92 13 e3 58 25 3d 32 20 b8 20 31 33 |X%.....X%=2 . 13| 00000a60 20 88 20 31 31 0d 04 9c 0e e3 20 59 25 3d 34 20 | . 11..... Y%=4 | 00000a70 b8 20 35 0d 04 a6 16 f2 70 69 63 6b 61 62 69 74 |. 5.....pickabit| 00000a80 28 31 2c 58 25 2c 59 25 29 0d 04 b0 07 ed 59 25 |(1,X%,Y%).....Y%| 00000a90 0d 04 ba 07 ed 58 25 0d 04 c4 0e e3 20 58 25 3d |.....X%..... X%=| 00000aa0 37 20 b8 20 38 0d 04 ce 0e e3 20 59 25 3d 34 20 |7 . 8..... Y%=4 | 00000ab0 b8 20 35 0d 04 d8 16 f2 70 69 63 6b 61 62 69 74 |. 5.....pickabit| 00000ac0 28 34 2c 58 25 2c 59 25 29 0d 04 e2 07 ed 59 25 |(4,X%,Y%).....Y%| 00000ad0 0d 04 ec 07 ed 58 25 0d 04 f6 23 5a 25 3d 35 3a |.....X%...#Z%=5:| 00000ae0 58 25 3d 37 3a 59 25 3d 34 3a f2 70 69 63 6b 61 |X%=7:Y%=4:.picka| 00000af0 62 69 74 28 35 2c 37 2c 34 29 0d 05 00 05 e1 0d |bit(5,7,4)......| 00000b00 05 0a 4b f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..K. -----------| 00000b10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 05 14 18 dd f2 |----------......| 00000b50 70 69 63 6b 61 62 69 74 28 5a 25 2c 58 25 2c 59 |pickabit(Z%,X%,Y| 00000b60 25 29 0d 05 1e 0c 67 6f 74 6f 6e 65 3d a3 0d 05 |%)....gotone=...| 00000b70 28 05 f5 0d 05 32 1c 64 75 62 6c 65 25 3d b3 28 |(....2.duble%=.(| 00000b80 34 29 3a 62 69 74 6e 6f 25 3d b3 28 33 36 29 0d |4):bitno%=.(36).| 00000b90 05 3c 23 e7 20 50 49 45 43 45 53 24 28 64 75 62 |.<#. PIECES$(dub| 00000ba0 6c 65 25 2c 62 69 74 6e 6f 25 29 3c 3e 22 30 22 |le%,bitno%)<>"0"| 00000bb0 20 8c 0d 05 46 0c 67 6f 74 6f 6e 65 3d b9 0d 05 | ...F.gotone=...| 00000bc0 50 2e 62 6f 61 72 64 70 6f 73 24 28 5a 25 2c 58 |P.boardpos$(Z%,X| 00000bd0 25 2c 59 25 29 3d 50 49 45 43 45 53 24 28 64 75 |%,Y%)=PIECES$(du| 00000be0 62 6c 65 25 2c 62 69 74 6e 6f 25 29 0d 05 5a 18 |ble%,bitno%)..Z.| 00000bf0 e7 20 5a 25 3c 3d 32 20 80 20 67 6f 74 6f 6e 65 |. Z%<=2 . gotone| 00000c00 3d b9 20 8c 0d 05 64 3a e7 20 62 6f 61 72 64 70 |=. ...d:. boardp| 00000c10 6f 73 24 28 5a 25 2b 31 2c 58 25 2c 59 25 29 3d |os$(Z%+1,X%,Y%)=| 00000c20 62 6f 61 72 64 70 6f 73 24 28 5a 25 2c 58 25 2c |boardpos$(Z%,X%,| 00000c30 59 25 29 20 8c 20 67 6f 74 6f 6e 65 3d a3 0d 05 |Y%) . gotone=...| 00000c40 6e 3a e7 20 62 6f 61 72 64 70 6f 73 24 28 5a 25 |n:. boardpos$(Z%| 00000c50 2c 58 25 2d 31 2c 59 25 29 3d 62 6f 61 72 64 70 |,X%-1,Y%)=boardp| 00000c60 6f 73 24 28 5a 25 2c 58 25 2c 59 25 29 20 8c 20 |os$(Z%,X%,Y%) . | 00000c70 67 6f 74 6f 6e 65 3d a3 0d 05 78 05 cd 0d 05 82 |gotone=...x.....| 00000c80 05 cd 0d 05 8c 0e fd 20 67 6f 74 6f 6e 65 3d b9 |....... gotone=.| 00000c90 0d 05 96 1e 50 49 45 43 45 53 24 28 64 75 62 6c |....PIECES$(dubl| 00000ca0 65 25 2c 62 69 74 6e 6f 25 29 3d 22 30 22 0d 05 |e%,bitno%)="0"..| 00000cb0 a0 05 e1 0d 05 aa 4c f4 20 2d 2d 2d 2d 2d 2d 2d |......L. -------| 00000cc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000cf0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00000d00 05 b4 0a dd f2 64 72 61 77 0d 05 be 19 ef 32 33 |.....draw.....23| 00000d10 2c 31 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 |,1,0,0,0,0,0,0,0| 00000d20 2c 30 0d 05 c8 08 e6 38 2c 30 0d 05 d2 1b f2 70 |,0.....8,0.....p| 00000d30 6c 6f 74 28 30 2c 34 32 2c 31 35 2c 31 34 2c 34 |lot(0,42,15,14,4| 00000d40 2c 34 2c 31 29 0d 05 dc 19 f2 70 6c 6f 74 28 30 |,4,1).....plot(0| 00000d50 2c 30 2c 31 33 2c 32 2c 38 2c 31 2c 31 29 0d 05 |,0,13,2,8,1,1)..| 00000d60 e6 19 f2 70 6c 6f 74 28 30 2c 30 2c 31 30 2c 35 |...plot(0,0,10,5| 00000d70 2c 37 2c 32 2c 32 29 0d 05 f0 18 f2 70 6c 6f 74 |,7,2,2).....plot| 00000d80 28 30 2c 30 2c 39 2c 36 2c 36 2c 33 2c 33 29 0d |(0,0,9,6,6,3,3).| 00000d90 05 fa 18 f2 70 6c 6f 74 28 30 2c 30 2c 38 2c 37 |....plot(0,0,8,7| 00000da0 2c 35 2c 34 2c 34 29 0d 06 04 1c e7 20 62 6f 61 |,5,4,4)..... boa| 00000db0 72 64 70 6f 73 24 28 31 2c 32 2c 34 29 3e 22 30 |rdpos$(1,2,4)>"0| 00000dc0 22 20 8c 0d 06 0e 1c ef 20 32 33 2c 32 37 2c 30 |" ...... 23,27,0| 00000dd0 2c 39 38 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d |,98,0,0,0,0,0,0.| 00000de0 06 18 10 f0 20 26 45 44 2c 39 32 2c 33 34 34 0d |.... &ED,92,344.| 00000df0 06 22 05 cd 0d 06 2c 19 f2 70 6c 6f 74 28 30 2c |."....,..plot(0,| 00000e00 34 32 2c 31 2c 31 2c 34 2c 34 2c 31 29 0d 06 36 |42,1,1,4,4,1)..6| 00000e10 21 7a 6c 61 79 65 72 25 3d 34 3a 79 76 61 6c 75 |!zlayer%=4:yvalu| 00000e20 65 25 3d 34 3a 78 76 61 6c 75 65 25 3d 37 0d 06 |e%=4:xvalue%=7..| 00000e30 40 1c e7 20 62 6f 61 72 64 70 6f 73 24 28 34 2c |@.. boardpos$(4,| 00000e40 37 2c 34 29 3e 22 30 22 20 8c 0d 06 4a 2d ef 20 |7,4)>"0" ...J-. | 00000e50 32 33 2c 32 37 2c 30 2c bb 28 62 6f 61 72 64 70 |23,27,0,.(boardp| 00000e60 6f 73 24 28 34 2c 37 2c 34 29 29 2c 30 2c 30 2c |os$(4,7,4)),0,0,| 00000e70 30 2c 30 2c 30 2c 30 0d 06 54 11 f0 20 26 45 44 |0,0,0,0..T.. &ED| 00000e80 2c 35 33 36 2c 33 36 38 0d 06 5e 05 cd 0d 06 68 |,536,368..^....h| 00000e90 0c f2 70 6c 6f 74 74 6f 70 0d 06 72 37 f1 8a 31 |..plottop..r7..1| 00000ea0 38 2c 35 29 22 4e 55 4d 42 45 52 20 4f 46 20 54 |8,5)"NUMBER OF T| 00000eb0 49 4c 45 53 20 52 45 4d 41 49 4e 49 4e 47 3d 22 |ILES REMAINING="| 00000ec0 3b 6e 6f 6f 66 62 69 74 73 25 3b 22 20 20 20 22 |;noofbits%;" "| 00000ed0 0d 06 7c 05 e1 0d 06 86 4b f4 20 2d 2d 2d 2d 2d |..|.....K. -----| 00000ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000f20 0d 06 90 39 dd f2 70 6c 6f 74 28 78 64 69 73 70 |...9..plot(xdisp| 00000f30 25 2c 79 64 69 73 70 25 2c 78 6d 61 78 25 2c 78 |%,ydisp%,xmax%,x| 00000f40 6d 69 6e 25 2c 79 6d 61 78 25 2c 79 6d 69 6e 25 |min%,ymax%,ymin%| 00000f50 2c 7a 6c 65 76 65 6c 25 29 0d 06 9a 13 7a 6c 61 |,zlevel%)....zla| 00000f60 79 65 72 25 3d 7a 6c 65 76 65 6c 25 0d 06 a4 1a |yer%=zlevel%....| 00000f70 e3 20 79 25 3d 79 6d 61 78 25 20 b8 20 79 6d 69 |. y%=ymax% . ymi| 00000f80 6e 25 20 88 2d 31 0d 06 ae 1a e3 20 78 25 3d 78 |n% .-1..... x%=x| 00000f90 6d 61 78 25 20 b8 20 78 6d 69 6e 25 20 88 2d 31 |max% . xmin% .-1| 00000fa0 0d 06 b8 24 e7 20 62 6f 61 72 64 70 6f 73 24 28 |...$. boardpos$(| 00000fb0 7a 6c 61 79 65 72 25 2c 78 25 2c 79 25 29 3e 22 |zlayer%,x%,y%)>"| 00000fc0 30 22 20 8c 0d 06 c2 27 e7 20 62 6f 61 72 64 70 |0" ....'. boardp| 00000fd0 6f 73 24 28 7a 6c 61 79 65 72 25 2b 31 2c 78 25 |os$(zlayer%+1,x%| 00000fe0 2c 79 25 29 3c 3d 22 30 22 20 8c 0d 06 cc 35 ef |,y%)<="0" ....5.| 00000ff0 20 32 33 2c 32 37 2c 30 2c bb 28 62 6f 61 72 64 | 23,27,0,.(board| 00001000 70 6f 73 24 28 7a 6c 61 79 65 72 25 2c 78 25 2c |pos$(zlayer%,x%,| 00001010 79 25 29 29 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 |y%)),0,0,0,0,0,0| 00001020 0d 06 d6 43 f0 20 26 45 44 2c 28 38 34 2a 28 78 |...C. &ED,(84*(x| 00001030 25 2d 31 29 29 2b 28 7a 6c 61 79 65 72 25 2a 38 |%-1))+(zlayer%*8| 00001040 29 2b 78 64 69 73 70 25 2c 28 38 34 2a 79 25 29 |)+xdisp%,(84*y%)| 00001050 2b 28 7a 6c 61 79 65 72 25 2a 38 29 2b 79 64 69 |+(zlayer%*8)+ydi| 00001060 73 70 25 0d 06 e0 05 cd 0d 06 ea 28 e7 20 62 6f |sp%........(. bo| 00001070 61 72 64 70 6f 73 24 28 7a 6c 61 79 65 72 25 2c |ardpos$(zlayer%,| 00001080 78 25 2c 79 25 2d 31 29 20 3c 3d 22 30 22 20 8c |x%,y%-1) <="0" .| 00001090 0d 06 f4 1c ef 20 32 33 2c 32 37 2c 30 2c 39 39 |..... 23,27,0,99| 000010a0 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d 06 fe 43 |,0,0,0,0,0,0...C| 000010b0 f0 20 26 45 44 2c 28 38 34 2a 28 78 25 2d 31 29 |. &ED,(84*(x%-1)| 000010c0 29 2b 28 7a 6c 61 79 65 72 25 2a 38 29 2b 78 64 |)+(zlayer%*8)+xd| 000010d0 69 73 70 25 2c 28 38 34 2a 79 25 29 2b 28 7a 6c |isp%,(84*y%)+(zl| 000010e0 61 79 65 72 25 2a 38 29 2b 79 64 69 73 70 25 0d |ayer%*8)+ydisp%.| 000010f0 07 08 05 cd 0d 07 12 28 e7 20 62 6f 61 72 64 70 |.......(. boardp| 00001100 6f 73 24 28 7a 6c 61 79 65 72 25 2c 78 25 2d 31 |os$(zlayer%,x%-1| 00001110 2c 79 25 29 20 3c 3d 22 30 22 20 8c 0d 07 1c 1c |,y%) <="0" .....| 00001120 ef 20 32 33 2c 32 37 2c 30 2c 39 38 2c 30 2c 30 |. 23,27,0,98,0,0| 00001130 2c 30 2c 30 2c 30 2c 30 0d 07 26 43 f0 20 26 45 |,0,0,0,0..&C. &E| 00001140 44 2c 28 38 34 2a 28 78 25 2d 31 29 29 2b 28 7a |D,(84*(x%-1))+(z| 00001150 6c 61 79 65 72 25 2a 38 29 2b 78 64 69 73 70 25 |layer%*8)+xdisp%| 00001160 2c 28 38 34 2a 79 25 29 2b 28 7a 6c 61 79 65 72 |,(84*y%)+(zlayer| 00001170 25 2a 38 29 2b 79 64 69 73 70 25 0d 07 30 05 cd |%*8)+ydisp%..0..| 00001180 0d 07 3a 05 cd 0d 07 44 08 ed 20 78 25 0d 07 4e |..:....D.. x%..N| 00001190 08 ed 20 79 25 0d 07 58 05 e1 0d 07 62 4b f4 20 |.. y%..X....bK. | 000011a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000011e0 2d 2d 2d 2d 2d 0d 07 6c 0d dd f2 70 6f 69 6e 74 |-----..l...point| 000011f0 65 72 0d 07 76 05 f5 0d 07 80 0e 62 6c 6f 63 6b |er..v......block| 00001200 74 6f 70 3d b9 0d 07 8a 21 f5 3a c8 97 78 25 2c |top=....!.:..x%,| 00001210 79 25 2c 62 75 74 74 6f 6e 25 3a fd 20 62 75 74 |y%,button%:. but| 00001220 74 6f 6e 25 3d 30 0d 07 94 22 f5 3a c8 97 78 25 |ton%=0...".:..x%| 00001230 2c 79 25 2c 62 75 74 74 6f 6e 25 3a fd 20 62 75 |,y%,button%:. bu| 00001240 74 74 6f 6e 25 3c 3e 30 0d 07 9e 10 c8 8e 20 62 |tton%<>0...... b| 00001250 75 74 74 6f 6e 25 20 ca 0d 07 a8 07 c9 20 34 0d |utton% ...... 4.| 00001260 07 b2 0b 6c 6f 6f 70 25 3d 30 0d 07 bc 0d 67 6f |...loop%=0....go| 00001270 74 6f 6e 65 25 3d a3 0d 07 c6 0a f7 20 8d 64 68 |tone%=...... .dh| 00001280 48 0d 07 d0 05 f5 0d 07 da 23 f3 20 7a 74 6d 70 |H........#. ztmp| 00001290 25 2c 78 74 6d 70 25 2c 79 74 6d 70 25 2c 78 6c |%,xtmp%,ytmp%,xl| 000012a0 6f 77 25 2c 79 6c 6f 77 25 0d 07 e4 28 e7 20 62 |ow%,ylow%...(. b| 000012b0 6f 61 72 64 70 6f 73 24 28 7a 74 6d 70 25 2c 78 |oardpos$(ztmp%,x| 000012c0 74 6d 70 25 2c 79 74 6d 70 25 29 3e 22 30 22 20 |tmp%,ytmp%)>"0" | 000012d0 8c 0d 07 ee 37 e7 78 25 3e 3d 78 6c 6f 77 25 20 |....7.x%>=xlow% | 000012e0 80 20 78 25 3c 78 6c 6f 77 25 2b 38 34 20 80 20 |. x%<xlow%+84 . | 000012f0 79 25 3e 3d 79 6c 6f 77 25 20 80 79 25 3c 79 6c |y%>=ylow% .y%<yl| 00001300 6f 77 25 2b 38 34 20 8c 0d 07 f8 2d 7a 6c 61 79 |ow%+84 ....-zlay| 00001310 65 72 25 3d 7a 74 6d 70 25 3a 78 76 61 6c 75 65 |er%=ztmp%:xvalue| 00001320 25 3d 78 74 6d 70 25 3a 79 76 61 6c 75 65 25 3d |%=xtmp%:yvalue%=| 00001330 79 74 6d 70 25 0d 08 02 0d 67 6f 74 6f 6e 65 25 |ytmp%....gotone%| 00001340 3d b9 0d 08 0c 05 cd 0d 08 16 05 cd 0d 08 20 11 |=............. .| 00001350 6c 6f 6f 70 25 3d 6c 6f 6f 70 25 2b 31 0d 08 2a |loop%=loop%+1..*| 00001360 1a fd 20 67 6f 74 6f 6e 65 25 3d b9 20 84 20 6c |.. gotone%=. . l| 00001370 6f 6f 70 25 3d 35 37 0d 08 34 11 e7 20 67 6f 74 |oop%=57..4.. got| 00001380 6f 6e 65 25 3d a3 20 8c 0d 08 3e 16 79 76 61 6c |one%=. ...>.yval| 00001390 75 65 25 3d 28 79 25 2d 31 30 29 81 38 34 0d 08 |ue%=(y%-10).84..| 000013a0 48 25 e7 20 79 76 61 6c 75 65 25 3e 38 20 8c 20 |H%. yvalue%>8 . | 000013b0 79 76 61 6c 75 65 25 3d 30 3a 7a 6c 61 79 65 72 |yvalue%=0:zlayer| 000013c0 25 3d 30 0d 08 52 1a 78 76 61 6c 75 65 25 3d 28 |%=0..R.xvalue%=(| 000013d0 28 78 25 2d 31 30 29 81 38 34 29 2b 31 0d 08 5c |(x%-10).84)+1..\| 000013e0 26 e7 20 78 76 61 6c 75 65 25 3e 31 35 20 8c 20 |&. xvalue%>15 . | 000013f0 78 76 61 6c 75 65 25 3d 30 3a 7a 6c 61 79 65 72 |xvalue%=0:zlayer| 00001400 25 3d 30 0d 08 66 3e e7 20 62 6f 61 72 64 70 6f |%=0..f>. boardpo| 00001410 73 24 28 31 2c 78 76 61 6c 75 65 25 2c 79 76 61 |s$(1,xvalue%,yva| 00001420 6c 75 65 25 29 3e 22 30 22 20 8c 20 7a 6c 61 79 |lue%)>"0" . zlay| 00001430 65 72 25 3d 31 20 8b 20 7a 6c 61 79 65 72 25 3d |er%=1 . zlayer%=| 00001440 30 0d 08 70 1e e7 20 78 76 61 6c 75 65 25 3d 31 |0..p.. xvalue%=1| 00001450 20 84 20 78 76 61 6c 75 65 25 3e 31 33 20 8c 0d | . xvalue%>13 ..| 00001460 08 7a 0d 7a 6c 61 79 65 72 25 3d 30 0d 08 84 17 |.z.zlayer%=0....| 00001470 e7 20 79 25 3e 33 39 31 20 80 20 79 25 3c 34 36 |. y%>391 . y%<46| 00001480 38 20 8c 0d 08 8e 0d 79 76 61 6c 75 65 25 3d 34 |8 .....yvalue%=4| 00001490 0d 08 98 2c e7 20 62 6f 61 72 64 70 6f 73 24 28 |...,. boardpos$(| 000014a0 31 2c 78 76 61 6c 75 65 25 2c 34 29 3e 22 30 22 |1,xvalue%,4)>"0"| 000014b0 20 8c 20 7a 6c 61 79 65 72 25 3d 31 0d 08 a2 05 | . zlayer%=1....| 000014c0 cd 0d 08 ac 05 cd 0d 08 b6 05 cd 0d 08 c0 07 c9 |................| 000014d0 20 32 0d 08 ca 0c f2 6d 65 6e 75 28 30 29 0d 08 | 2.....menu(0)..| 000014e0 d4 28 e7 20 72 65 70 6c 61 79 25 3d a3 20 80 20 |.(. replay%=. . | 000014f0 72 65 74 75 72 6e 25 3d a3 20 8c 20 62 6c 6f 63 |return%=. . bloc| 00001500 6b 74 6f 70 3d a3 0d 08 de 06 20 cb 0d 08 e8 4b |ktop=..... ....K| 00001510 dc 20 35 2c 37 2c 34 2c 35 39 34 2c 34 32 31 2c |. 5,7,4,594,421,| 00001520 34 2c 37 2c 34 2c 35 34 35 2c 33 37 36 2c 34 2c |4,7,4,545,376,4,| 00001530 37 2c 35 2c 35 34 35 2c 34 36 30 2c 34 2c 38 2c |7,5,545,460,4,8,| 00001540 34 2c 36 32 39 2c 33 37 36 2c 34 2c 38 2c 35 2c |4,629,376,4,8,5,| 00001550 36 32 39 2c 34 36 30 0d 08 f2 3d dc 20 33 2c 36 |629,460...=. 3,6| 00001560 2c 33 2c 34 35 33 2c 32 38 34 2c 33 2c 36 2c 34 |,3,453,284,3,6,4| 00001570 2c 34 35 33 2c 33 36 38 2c 33 2c 36 2c 35 2c 34 |,453,368,3,6,5,4| 00001580 35 33 2c 34 35 32 2c 33 2c 36 2c 36 2c 34 35 33 |53,452,3,6,6,453| 00001590 2c 35 33 36 0d 08 fc 3d dc 20 33 2c 37 2c 33 2c |,536...=. 3,7,3,| 000015a0 35 33 37 2c 32 38 34 2c 33 2c 37 2c 34 2c 35 33 |537,284,3,7,4,53| 000015b0 37 2c 33 36 38 2c 33 2c 37 2c 35 2c 35 33 37 2c |7,368,3,7,5,537,| 000015c0 34 35 32 2c 33 2c 37 2c 36 2c 35 33 37 2c 35 33 |452,3,7,6,537,53| 000015d0 36 0d 09 06 3d dc 20 33 2c 38 2c 33 2c 36 32 31 |6...=. 3,8,3,621| 000015e0 2c 32 38 34 2c 33 2c 38 2c 34 2c 36 32 31 2c 33 |,284,3,8,4,621,3| 000015f0 36 38 2c 33 2c 38 2c 35 2c 36 32 31 2c 34 35 32 |68,3,8,5,621,452| 00001600 2c 33 2c 38 2c 36 2c 36 32 31 2c 35 33 36 0d 09 |,3,8,6,621,536..| 00001610 10 3d dc 20 33 2c 39 2c 33 2c 37 30 35 2c 32 38 |.=. 3,9,3,705,28| 00001620 34 2c 33 2c 39 2c 34 2c 37 30 35 2c 33 36 38 2c |4,3,9,4,705,368,| 00001630 33 2c 39 2c 35 2c 37 30 35 2c 34 35 32 2c 33 2c |3,9,5,705,452,3,| 00001640 39 2c 36 2c 37 30 35 2c 35 33 36 0d 09 1a 4b dc |9,6,705,536...K.| 00001650 20 32 2c 35 2c 32 2c 33 36 31 2c 31 39 32 2c 32 | 2,5,2,361,192,2| 00001660 2c 35 2c 33 2c 33 36 31 2c 32 37 36 2c 32 2c 35 |,5,3,361,276,2,5| 00001670 2c 34 2c 33 36 31 2c 33 36 30 2c 32 2c 35 2c 35 |,4,361,360,2,5,5| 00001680 2c 33 36 31 2c 34 34 34 2c 32 2c 35 2c 36 2c 33 |,361,444,2,5,6,3| 00001690 36 31 2c 35 32 38 0d 09 24 4b dc 20 32 2c 36 2c |61,528..$K. 2,6,| 000016a0 32 2c 34 34 35 2c 31 39 32 2c 32 2c 36 2c 33 2c |2,445,192,2,6,3,| 000016b0 34 34 35 2c 32 37 36 2c 32 2c 36 2c 34 2c 34 34 |445,276,2,6,4,44| 000016c0 35 2c 33 36 30 2c 32 2c 36 2c 35 2c 34 34 35 2c |5,360,2,6,5,445,| 000016d0 34 34 34 2c 32 2c 36 2c 36 2c 34 34 35 2c 35 32 |444,2,6,6,445,52| 000016e0 38 0d 09 2e 4b dc 20 32 2c 37 2c 32 2c 35 32 39 |8...K. 2,7,2,529| 000016f0 2c 31 39 32 2c 32 2c 37 2c 33 2c 35 32 39 2c 32 |,192,2,7,3,529,2| 00001700 37 36 2c 32 2c 37 2c 34 2c 35 32 39 2c 33 36 30 |76,2,7,4,529,360| 00001710 2c 32 2c 37 2c 35 2c 35 32 39 2c 34 34 34 2c 32 |,2,7,5,529,444,2| 00001720 2c 37 2c 36 2c 35 32 39 2c 35 32 38 0d 09 38 4b |,7,6,529,528..8K| 00001730 dc 20 32 2c 38 2c 32 2c 36 31 33 2c 31 39 32 2c |. 2,8,2,613,192,| 00001740 32 2c 38 2c 33 2c 36 31 33 2c 32 37 36 2c 32 2c |2,8,3,613,276,2,| 00001750 38 2c 34 2c 36 31 33 2c 33 36 30 2c 32 2c 38 2c |8,4,613,360,2,8,| 00001760 35 2c 36 31 33 2c 34 34 34 2c 32 2c 38 2c 36 2c |5,613,444,2,8,6,| 00001770 36 31 33 2c 35 32 38 0d 09 42 4b dc 20 32 2c 39 |613,528..BK. 2,9| 00001780 2c 32 2c 36 39 36 2c 31 39 32 2c 32 2c 39 2c 33 |,2,696,192,2,9,3| 00001790 2c 36 39 36 2c 32 37 36 2c 32 2c 39 2c 34 2c 36 |,696,276,2,9,4,6| 000017a0 39 36 2c 33 36 30 2c 32 2c 39 2c 35 2c 36 39 36 |96,360,2,9,5,696| 000017b0 2c 34 34 34 2c 32 2c 39 2c 36 2c 36 39 36 2c 35 |,444,2,9,6,696,5| 000017c0 32 38 0d 09 4c 50 dc 20 32 2c 31 30 2c 32 2c 37 |28..LP. 2,10,2,7| 000017d0 38 31 2c 31 39 32 2c 32 2c 31 30 2c 33 2c 37 38 |81,192,2,10,3,78| 000017e0 31 2c 32 37 36 2c 32 2c 31 30 2c 34 2c 37 38 31 |1,276,2,10,4,781| 000017f0 2c 33 36 30 2c 32 2c 31 30 2c 35 2c 37 38 31 2c |,360,2,10,5,781,| 00001800 34 34 34 2c 32 2c 31 30 2c 36 2c 37 38 31 2c 35 |444,2,10,6,781,5| 00001810 32 38 0d 09 56 4b dc 20 32 2c 35 2c 37 2c 33 36 |28..VK. 2,5,7,36| 00001820 31 2c 36 31 32 2c 32 2c 36 2c 37 2c 34 34 35 2c |1,612,2,6,7,445,| 00001830 36 31 32 2c 32 2c 37 2c 37 2c 35 32 39 2c 36 31 |612,2,7,7,529,61| 00001840 32 2c 32 2c 38 2c 37 2c 36 31 33 2c 36 31 32 2c |2,2,8,7,613,612,| 00001850 32 2c 39 2c 37 2c 36 39 37 2c 36 31 32 0d 09 60 |2,9,7,697,612..`| 00001860 14 dc 20 32 2c 31 30 2c 37 2c 37 38 31 2c 36 31 |.. 2,10,7,781,61| 00001870 32 0d 09 6a 11 e7 20 7a 6c 61 79 65 72 25 3c 34 |2..j.. zlayer%<4| 00001880 20 8c 0d 09 74 3a e7 20 62 6f 61 72 64 70 6f 73 | ...t:. boardpos| 00001890 24 28 7a 6c 61 79 65 72 25 2b 31 2c 78 76 61 6c |$(zlayer%+1,xval| 000018a0 75 65 25 2c 79 76 61 6c 75 65 25 29 3e 22 30 22 |ue%,yvalue%)>"0"| 000018b0 8c 20 62 6c 6f 63 6b 74 6f 70 3d a3 0d 09 7e 05 |. blocktop=...~.| 000018c0 cd 0d 09 88 10 fd 20 62 6c 6f 63 6b 74 6f 70 3d |...... blocktop=| 000018d0 b9 0d 09 92 05 e1 0d 09 9c 4b f4 20 2d 2d 2d 2d |.........K. ----| 000018e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001920 2d 0d 09 a6 0c dd f2 72 65 6d 6f 76 65 0d 09 b0 |-......remove...| 00001930 2a 62 6f 61 72 64 70 6f 73 24 28 7a 6c 61 79 65 |*boardpos$(zlaye| 00001940 72 25 2c 78 76 61 6c 75 65 25 2c 79 76 61 6c 75 |r%,xvalue%,yvalu| 00001950 65 25 29 3d 22 30 22 0d 09 ba 10 f2 64 65 6c 65 |e%)="0".....dele| 00001960 74 65 62 6c 6f 63 6b 0d 09 c4 10 f2 64 72 61 77 |teblock.....draw| 00001970 73 65 63 74 69 6f 6e 0d 09 ce 10 c8 8e 20 78 76 |section...... xv| 00001980 61 6c 75 65 25 20 ca 0d 09 d8 07 c9 20 31 0d 09 |alue% ...... 1..| 00001990 e2 1c ef 20 32 33 2c 32 37 2c 30 2c 39 38 2c 30 |... 23,27,0,98,0| 000019a0 2c 30 2c 30 2c 30 2c 30 2c 30 0d 09 ec 10 f0 20 |,0,0,0,0,0..... | 000019b0 26 45 44 2c 39 32 2c 34 32 38 0d 09 f6 08 c9 20 |&ED,92,428..... | 000019c0 31 35 0d 0a 00 1e e7 20 62 6f 61 72 64 70 6f 73 |15..... boardpos| 000019d0 24 28 31 2c 31 32 2c 33 29 3c 3e 22 30 22 20 8c |$(1,12,3)<>"0" .| 000019e0 0d 0a 0a 2e ef 20 32 33 2c 32 37 2c 30 2c bb 28 |..... 23,27,0,.(| 000019f0 62 6f 61 72 64 70 6f 73 24 28 31 2c 31 32 2c 33 |boardpos$(1,12,3| 00001a00 29 29 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d 0a |)),0,0,0,0,0,0..| 00001a10 14 11 f0 20 26 45 44 2c 39 33 32 2c 32 36 30 0d |... &ED,932,260.| 00001a20 0a 1e 05 cd 0d 0a 28 05 cb 0d 0a 32 37 f1 8a 31 |......(....27..1| 00001a30 38 2c 35 29 22 4e 55 4d 42 45 52 20 4f 46 20 54 |8,5)"NUMBER OF T| 00001a40 49 4c 45 53 20 52 45 4d 41 49 4e 49 4e 47 3d 22 |ILES REMAINING="| 00001a50 3b 6e 6f 6f 66 62 69 74 73 25 3b 22 20 20 20 22 |;noofbits%;" "| 00001a60 0d 0a 3c 05 e1 0d 0a 46 05 f4 0d 0a 50 4b f4 20 |..<....F....PK. | 00001a70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001ab0 2d 2d 2d 2d 2d 0d 0a 5a 16 dd f2 68 69 6c 69 67 |-----..Z...hilig| 00001ac0 68 74 28 61 63 74 69 6f 6e 25 29 0d 0a 64 0d 79 |ht(action%)..d.y| 00001ad0 64 65 6c 74 61 25 3d 30 0d 0a 6e 1f e7 20 61 63 |delta%=0..n.. ac| 00001ae0 74 69 6f 6e 25 3d 30 20 8c 20 e6 36 2c 36 34 20 |tion%=0 . .6,64 | 00001af0 8b 20 e6 31 2c 36 34 0d 0a 78 10 c8 8e 20 7a 6c |. .1,64..x... zl| 00001b00 61 79 65 72 25 20 ca 0d 0a 82 07 c9 20 35 0d 0a |ayer% ...... 5..| 00001b10 8c 1b e7 62 6f 61 72 64 70 6f 73 24 28 35 2c 37 |...boardpos$(5,7| 00001b20 2c 34 29 3e 22 30 22 20 8c 0d 0a 96 17 c8 93 20 |,4)>"0" ....... | 00001b30 c8 90 20 35 39 34 2c 34 32 32 2c 38 30 2c 38 30 |.. 594,422,80,80| 00001b40 0d 0a a0 05 cd 0d 0a aa 07 c9 20 34 0d 0a b4 11 |.......... 4....| 00001b50 f2 72 65 63 74 61 6e 67 6c 65 28 30 29 0d 0a be |.rectangle(0)...| 00001b60 07 c9 20 30 0d 0a c8 05 7f 0d 0a d2 10 c8 8e 20 |.. 0........... | 00001b70 78 76 61 6c 75 65 25 20 ca 0d 0a dc 0d c9 20 31 |xvalue% ...... 1| 00001b80 2c 31 34 2c 31 35 0d 0a e6 31 e7 20 62 6f 61 72 |,14,15...1. boar| 00001b90 64 70 6f 73 24 28 31 2c 78 76 61 6c 75 65 25 2c |dpos$(1,xvalue%,| 00001ba0 34 29 3e 22 30 22 20 8c 20 f2 72 65 63 74 61 6e |4)>"0" . .rectan| 00001bb0 67 6c 65 28 34 34 29 0d 0a f0 11 c9 20 32 2c 33 |gle(44)..... 2,3| 00001bc0 2c 34 2c 31 32 2c 31 33 0d 0a fa 11 f2 72 65 63 |,4,12,13.....rec| 00001bd0 74 61 6e 67 6c 65 28 30 29 0d 0b 04 05 7f 0d 0b |tangle(0).......| 00001be0 0e 2a e7 7a 6c 61 79 65 72 25 3d 79 76 61 6c 75 |.*.zlayer%=yvalu| 00001bf0 65 25 20 84 20 7a 6c 61 79 65 72 25 3d 78 76 61 |e% . zlayer%=xva| 00001c00 6c 75 65 25 2d 33 20 8c 0d 0b 18 12 20 f2 72 65 |lue%-3 ..... .re| 00001c10 63 74 61 6e 67 6c 65 28 30 29 0d 0b 22 06 20 cc |ctangle(0)..". .| 00001c20 0d 0b 2c 11 20 f2 68 61 72 64 68 69 6c 69 67 68 |..,. .hardhiligh| 00001c30 74 0d 0b 36 05 cd 0d 0b 40 05 cb 0d 0b 4a 05 cb |t..6....@....J..| 00001c40 0d 0b 54 0a e6 30 2c 31 32 37 0d 0b 5e 05 e1 0d |..T..0,127..^...| 00001c50 0b 68 4a 20 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.hJ . ----------| 00001c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0b 72 18 dd f2 72 |---------..r...r| 00001ca0 65 63 74 61 6e 67 6c 65 28 79 64 65 6c 74 61 25 |ectangle(ydelta%| 00001cb0 29 0d 0b 7c 4b c8 93 20 c8 90 20 28 78 76 61 6c |)..|K.. .. (xval| 00001cc0 75 65 25 2d 31 29 2a 38 34 2b 7a 6c 61 79 65 72 |ue%-1)*84+zlayer| 00001cd0 25 2a 38 2b 37 2c 28 79 76 61 6c 75 65 25 2a 38 |%*8+7,(yvalue%*8| 00001ce0 34 29 2b 7a 6c 61 79 65 72 25 2a 38 2b 35 2b 79 |4)+zlayer%*8+5+y| 00001cf0 64 65 6c 74 61 25 2c 38 30 2c 38 30 0d 0b 86 05 |delta%,80,80....| 00001d00 e1 0d 0b 90 4c f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |....L. ---------| 00001d10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001d40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0b 9a |-------------...| 00001d50 11 dd f2 68 61 72 64 68 69 6c 69 67 68 74 0d 0b |...hardhilight..| 00001d60 a4 28 78 64 61 74 75 6d 25 3d 28 78 76 61 6c 75 |.(xdatum%=(xvalu| 00001d70 65 25 2d 31 29 2a 38 34 2b 28 7a 6c 61 79 65 72 |e%-1)*84+(zlayer| 00001d80 25 2b 31 29 2a 38 0d 0b ae 26 79 64 61 74 75 6d |%+1)*8...&ydatum| 00001d90 25 3d 28 79 76 61 6c 75 65 25 2a 38 34 29 2b 28 |%=(yvalue%*84)+(| 00001da0 7a 6c 61 79 65 72 25 2b 31 29 2a 38 0d 0b b8 12 |zlayer%+1)*8....| 00001db0 63 78 25 3d 78 64 61 74 75 6d 25 2b 38 30 0d 0b |cx%=xdatum%+80..| 00001dc0 c2 12 63 79 25 3d 79 64 61 74 75 6d 25 2b 37 36 |..cy%=ydatum%+76| 00001dd0 0d 0b cc 20 6c 65 66 74 25 3d 2d 31 3a 62 65 6c |... left%=-1:bel| 00001de0 6f 77 25 3d 2d 31 3a 73 74 61 63 6b 25 3d 2d 31 |ow%=-1:stack%=-1| 00001df0 0d 0b d6 05 f5 0d 0b e0 11 6c 65 66 74 25 3d 6c |.........left%=l| 00001e00 65 66 74 25 2b 31 0d 0b ea 2f fd 20 62 6f 61 72 |eft%+1.../. boar| 00001e10 64 70 6f 73 24 28 6c 65 66 74 25 2b 31 2c 78 76 |dpos$(left%+1,xv| 00001e20 61 6c 75 65 25 2d 31 2c 79 76 61 6c 75 65 25 29 |alue%-1,yvalue%)| 00001e30 3c 3d 22 30 22 0d 0b f4 16 e7 20 6c 65 66 74 25 |<="0"..... left%| 00001e40 3e 3d 7a 6c 61 79 65 72 25 20 8c 0d 0b fe 24 79 |>=zlayer% ....$y| 00001e50 74 72 69 31 25 3d 79 64 61 74 75 6d 25 2b 28 6c |tri1%=ydatum%+(l| 00001e60 65 66 74 25 2d 7a 6c 61 79 65 72 25 29 2a 38 0d |eft%-zlayer%)*8.| 00001e70 0c 08 24 78 74 72 69 31 25 3d 78 64 61 74 75 6d |..$xtri1%=xdatum| 00001e80 25 2b 28 6c 65 66 74 25 2d 7a 6c 61 79 65 72 25 |%+(left%-zlayer%| 00001e90 29 2a 38 0d 0c 12 05 cc 0d 0c 1c 21 78 74 72 69 |)*8........!xtri| 00001ea0 31 25 3d 78 64 61 74 75 6d 25 3a 79 74 72 69 31 |1%=xdatum%:ytri1| 00001eb0 25 3d 79 64 61 74 75 6d 25 0d 0c 26 05 cd 0d 0c |%=ydatum%..&....| 00001ec0 30 05 f5 0d 0c 3a 13 62 65 6c 6f 77 25 3d 62 65 |0....:.below%=be| 00001ed0 6c 6f 77 25 2b 31 0d 0c 44 30 fd 20 62 6f 61 72 |low%+1..D0. boar| 00001ee0 64 70 6f 73 24 28 62 65 6c 6f 77 25 2b 31 2c 78 |dpos$(below%+1,x| 00001ef0 76 61 6c 75 65 25 2c 79 76 61 6c 75 65 25 2d 31 |value%,yvalue%-1| 00001f00 29 3c 3d 22 30 22 0d 0c 4e 17 e7 20 62 65 6c 6f |)<="0"..N.. belo| 00001f10 77 25 3e 3d 7a 6c 61 79 65 72 25 20 8c 0d 0c 58 |w%>=zlayer% ...X| 00001f20 25 79 74 72 69 32 25 3d 79 64 61 74 75 6d 25 2b |%ytri2%=ydatum%+| 00001f30 28 62 65 6c 6f 77 25 2d 7a 6c 61 79 65 72 25 29 |(below%-zlayer%)| 00001f40 2a 38 0d 0c 62 25 78 74 72 69 32 25 3d 78 64 61 |*8..b%xtri2%=xda| 00001f50 74 75 6d 25 2b 28 62 65 6c 6f 77 25 2d 7a 6c 61 |tum%+(below%-zla| 00001f60 79 65 72 25 29 2a 38 0d 0c 6c 05 cc 0d 0c 76 21 |yer%)*8..l....v!| 00001f70 78 74 72 69 32 25 3d 78 64 61 74 75 6d 25 3a 79 |xtri2%=xdatum%:y| 00001f80 74 72 69 32 25 3d 79 64 61 74 75 6d 25 0d 0c 80 |tri2%=ydatum%...| 00001f90 05 cd 0d 0c 94 13 ec 20 78 74 72 69 31 25 2c 79 |....... xtri1%,y| 00001fa0 74 72 69 31 25 0d 0c 9e 10 ec 20 78 74 72 69 31 |tri1%..... xtri1| 00001fb0 25 2c 63 79 25 0d 0c a8 0f f0 38 35 2c 63 78 25 |%,cy%.....85,cx%| 00001fc0 2c 63 79 25 0d 0c b2 0c ec 63 78 25 2c 63 79 25 |,cy%.....cx%,cy%| 00001fd0 0d 0c bc 10 ec 20 63 78 25 2c 79 74 72 69 32 25 |..... cx%,ytri2%| 00001fe0 0d 0c c6 15 f0 38 35 2c 78 74 72 69 32 25 2c 79 |.....85,xtri2%,y| 00001ff0 74 72 69 32 25 0d 0c d0 09 e6 36 2c 36 34 0d 0c |tri2%.....6,64..| 00002000 da 05 f5 0d 0c e4 13 73 74 61 63 6b 25 3d 73 74 |.......stack%=st| 00002010 61 63 6b 25 2b 31 0d 0c ee 32 fd 20 62 6f 61 72 |ack%+1...2. boar| 00002020 64 70 6f 73 24 28 73 74 61 63 6b 25 2b 31 2c 78 |dpos$(stack%+1,x| 00002030 76 61 6c 75 65 25 2d 31 2c 79 76 61 6c 75 65 25 |value%-1,yvalue%| 00002040 2d 31 29 3c 3d 22 30 22 0d 0c f8 25 78 74 72 69 |-1)<="0"...%xtri| 00002050 33 25 3d 28 78 76 61 6c 75 65 25 2d 32 29 2a 38 |3%=(xvalue%-2)*8| 00002060 34 2b 73 74 61 63 6b 25 2a 38 2b 38 38 0d 0d 02 |4+stack%*8+88...| 00002070 25 79 74 72 69 33 25 3d 28 79 76 61 6c 75 65 25 |%ytri3%=(yvalue%| 00002080 2d 31 29 2a 38 34 2b 73 74 61 63 6b 25 2a 38 2b |-1)*84+stack%*8+| 00002090 38 38 0d 0d 0c 15 e7 20 78 74 72 69 33 25 3e 78 |88..... xtri3%>x| 000020a0 74 72 69 31 25 20 8c 0d 0d 16 13 ec 20 78 74 72 |tri1% ...... xtr| 000020b0 69 31 25 2c 79 74 72 69 31 25 0d 0d 20 13 ec 20 |i1%,ytri1%.. .. | 000020c0 78 74 72 69 31 25 2c 79 74 72 69 33 25 0d 0d 2a |xtri1%,ytri3%..*| 000020d0 16 f0 20 38 35 2c 78 74 72 69 33 25 2c 79 74 72 |.. 85,xtri3%,ytr| 000020e0 69 33 25 0d 0d 34 05 cd 0d 0d 3e 15 e7 20 79 74 |i3%..4....>.. yt| 000020f0 72 69 33 25 3e 79 74 72 69 32 25 20 8c 0d 0d 48 |ri3%>ytri2% ...H| 00002100 13 ec 20 78 74 72 69 32 25 2c 79 74 72 69 32 25 |.. xtri2%,ytri2%| 00002110 0d 0d 52 13 ec 20 78 74 72 69 33 25 2c 79 74 72 |..R.. xtri3%,ytr| 00002120 69 32 25 0d 0d 5c 16 f0 20 38 35 2c 78 74 72 69 |i2%..\.. 85,xtri| 00002130 33 25 2c 79 74 72 69 33 25 0d 0d 66 05 cd 0d 0d |3%,ytri3%..f....| 00002140 70 05 e1 0d 0d 7a 4c f4 20 2d 2d 2d 2d 2d 2d 2d |p....zL. -------| 00002150 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00002190 0d 84 16 dd f2 74 69 6c 65 76 61 6c 69 64 28 74 |.....tilevalid(t| 000021a0 79 70 65 25 29 0d 0d 8e 0c 76 61 6c 69 64 25 3d |ype%)....valid%=| 000021b0 b9 0d 0d 98 1d e7 20 74 79 70 65 25 3d 30 20 8c |...... type%=0 .| 000021c0 20 f1 8a 31 38 2c 33 29 20 89 28 34 30 29 0d 0d | ..18,3) .(40)..| 000021d0 a2 11 e7 20 7a 6c 61 79 65 72 25 3e 30 20 8c 0d |... zlayer%>0 ..| 000021e0 0d ac 1e e7 20 78 76 61 6c 75 65 25 3e 31 20 80 |.... xvalue%>1 .| 000021f0 20 78 76 61 6c 75 65 25 3c 31 35 20 8c 0d 0d b6 | xvalue%<15 ....| 00002200 64 e7 20 62 6f 61 72 64 70 6f 73 24 28 7a 6c 61 |d. boardpos$(zla| 00002210 79 65 72 25 2c 78 76 61 6c 75 65 25 2b 31 2c 79 |yer%,xvalue%+1,y| 00002220 76 61 6c 75 65 25 29 3e 22 30 22 20 80 20 62 6f |value%)>"0" . bo| 00002230 61 72 64 70 6f 73 24 28 7a 6c 61 79 65 72 25 2c |ardpos$(zlayer%,| 00002240 78 76 61 6c 75 65 25 2d 31 2c 79 76 61 6c 75 65 |xvalue%-1,yvalue| 00002250 25 29 3e 22 30 22 20 8c 20 76 61 6c 69 64 25 3d |%)>"0" . valid%=| 00002260 a3 0d 0d c0 31 e7 20 62 6f 61 72 64 70 6f 73 24 |....1. boardpos$| 00002270 28 35 2c 37 2c 34 29 3e 22 30 22 20 80 20 7a 6c |(5,7,4)>"0" . zl| 00002280 61 79 65 72 25 3d 34 20 8c 20 76 61 6c 69 64 25 |ayer%=4 . valid%| 00002290 3d a3 0d 0d ca 57 e7 20 7a 6c 61 79 65 72 25 3d |=....W. zlayer%=| 000022a0 31 20 80 20 78 76 61 6c 75 65 25 3d 32 20 80 20 |1 . xvalue%=2 . | 000022b0 28 79 76 61 6c 75 65 25 3d 34 20 84 20 79 76 61 |(yvalue%=4 . yva| 000022c0 6c 75 65 25 3d 35 29 20 80 20 62 6f 61 72 64 70 |lue%=5) . boardp| 000022d0 6f 73 24 28 31 2c 31 2c 34 29 3e 22 30 22 20 8c |os$(1,1,4)>"0" .| 000022e0 20 76 61 6c 69 64 25 3d a3 0d 0d d4 59 e7 20 7a | valid%=....Y. z| 000022f0 6c 61 79 65 72 25 3d 31 20 80 20 78 76 61 6c 75 |layer%=1 . xvalu| 00002300 65 25 3d 31 33 20 80 20 28 79 76 61 6c 75 65 25 |e%=13 . (yvalue%| 00002310 3d 34 20 84 20 79 76 61 6c 75 65 25 3d 35 29 20 |=4 . yvalue%=5) | 00002320 80 20 62 6f 61 72 64 70 6f 73 24 28 31 2c 31 34 |. boardpos$(1,14| 00002330 2c 34 29 3e 22 30 22 20 8c 20 76 61 6c 69 64 25 |,4)>"0" . valid%| 00002340 3d a3 0d 0d de 19 e7 76 61 6c 69 64 25 3d a3 20 |=......valid%=. | 00002350 80 20 74 79 70 65 25 3d 30 20 8c 0d 0d e8 35 f1 |. type%=0 ....5.| 00002360 8a 31 38 2c 33 29 22 54 48 41 54 20 54 49 4c 45 |.18,3)"THAT TILE| 00002370 20 49 53 20 4e 4f 54 20 46 52 45 45 20 2d 20 50 | IS NOT FREE - P| 00002380 49 43 4b 20 41 4e 4f 54 48 45 52 20 4f 4e 45 22 |ICK ANOTHER ONE"| 00002390 0d 0d f2 06 ef 37 0d 0d fc 05 cd 0d 0e 06 05 cd |.....7..........| 000023a0 0d 0e 10 05 cc 0d 0e 1a 0c 76 61 6c 69 64 25 3d |.........valid%=| 000023b0 a3 0d 0e 24 31 20 e7 20 74 79 70 65 25 3d 30 20 |...$1 . type%=0 | 000023c0 8c 20 f1 8a 31 38 2c 33 29 22 50 4f 49 4e 54 45 |. ..18,3)"POINTE| 000023d0 52 20 4e 4f 54 20 4f 4e 20 41 20 54 49 4c 45 20 |R NOT ON A TILE | 000023e0 21 22 0d 0e 2e 05 cd 0d 0e 38 05 e1 0d 0e 42 4c |!".......8....BL| 000023f0 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00002400 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002430 2d 2d 2d 2d 2d 2d 2d 2d 0d 0e 4c 11 dd f2 64 65 |--------..L...de| 00002440 6c 65 74 65 62 6c 6f 63 6b 0d 0e 56 10 c8 8e 20 |leteblock..V... | 00002450 7a 6c 61 79 65 72 25 20 ca 0d 0e 60 07 c9 20 35 |zlayer% ...`.. 5| 00002460 0d 0e 6a 18 f2 70 6c 6f 74 28 30 2c 30 2c 38 2c |..j..plot(0,0,8,| 00002470 37 2c 35 2c 34 2c 34 29 0d 0e 74 05 7f 0d 0e 7e |7,5,4,4)..t....~| 00002480 08 e6 30 2c 30 0d 0e 88 1d ef 20 32 33 2c 32 37 |..0,0..... 23,27| 00002490 2c 30 2c 31 30 30 2c 30 2c 30 2c 30 2c 30 2c 30 |,0,100,0,0,0,0,0| 000024a0 2c 30 0d 0e 92 10 c8 8e 20 78 76 61 6c 75 65 25 |,0...... xvalue%| 000024b0 20 ca 0d 0e 9c 07 c9 20 31 0d 0e a6 27 f0 20 26 | ...... 1...'. &| 000024c0 45 44 2c 30 2c 38 34 2a 28 79 76 61 6c 75 65 25 |ED,0,84*(yvalue%| 000024d0 29 2b 28 7a 6c 61 79 65 72 25 2a 38 29 2b 34 32 |)+(zlayer%*8)+42| 000024e0 0d 0e b0 08 c9 20 31 34 0d 0e ba 20 f0 20 26 45 |..... 14... . &E| 000024f0 44 2c 31 31 30 38 2c 28 38 34 2a 28 79 76 61 6c |D,1108,(84*(yval| 00002500 75 65 25 29 29 2b 35 30 0d 0e c4 08 c9 20 31 35 |ue%))+50..... 15| 00002510 0d 0e ce 20 f0 20 26 45 44 2c 31 31 39 32 2c 28 |... . &ED,1192,(| 00002520 38 34 2a 28 79 76 61 6c 75 65 25 29 29 2b 35 30 |84*(yvalue%))+50| 00002530 0d 0e d8 22 f0 20 26 45 44 2c 31 31 38 36 2c 28 |...". &ED,1186,(| 00002540 38 34 2a 28 79 76 61 6c 75 65 25 2d 31 29 29 2b |84*(yvalue%-1))+| 00002550 35 30 0d 0e e2 05 7f 0d 0e ec 3f f0 20 26 45 44 |50........?. &ED| 00002560 2c 28 38 34 2a 28 78 76 61 6c 75 65 25 2d 31 29 |,(84*(xvalue%-1)| 00002570 29 2b 28 7a 6c 61 79 65 72 25 2a 38 29 2c 28 38 |)+(zlayer%*8),(8| 00002580 34 2a 79 76 61 6c 75 65 25 29 2b 28 7a 6c 61 79 |4*yvalue%)+(zlay| 00002590 65 72 25 2a 38 29 0d 0e f6 05 cb 0d 0f 00 08 e6 |er%*8)..........| 000025a0 38 2c 30 0d 0f 0a 05 cb 0d 0f 14 05 e1 0d 0f 1e |8,0.............| 000025b0 4c f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |L. -------------| 000025c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000025f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0f 28 0d dd f2 70 |---------..(...p| 00002600 6c 6f 74 74 6f 70 0d 0f 32 1d e7 20 62 6f 61 72 |lottop..2.. boar| 00002610 64 70 6f 73 24 28 35 2c 37 2c 34 29 3c 3e 22 30 |dpos$(5,7,4)<>"0| 00002620 22 20 8c 0d 0f 3c 2d ef 20 32 33 2c 32 37 2c 30 |" ...<-. 23,27,0| 00002630 2c bb 28 62 6f 61 72 64 70 6f 73 24 28 35 2c 37 |,.(boardpos$(5,7| 00002640 2c 34 29 29 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 |,4)),0,0,0,0,0,0| 00002650 0d 0f 46 11 f0 20 26 45 44 2c 35 38 34 2c 34 31 |..F.. &ED,584,41| 00002660 36 0d 0f 50 1c ef 20 32 33 2c 32 37 2c 30 2c 39 |6..P.. 23,27,0,9| 00002670 39 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d 0f 5a |9,0,0,0,0,0,0..Z| 00002680 11 f0 20 26 45 44 2c 35 38 34 2c 34 31 36 0d 0f |.. &ED,584,416..| 00002690 64 1c ef 20 32 33 2c 32 37 2c 30 2c 39 38 2c 30 |d.. 23,27,0,98,0| 000026a0 2c 30 2c 30 2c 30 2c 30 2c 30 0d 0f 6e 11 f0 20 |,0,0,0,0,0..n.. | 000026b0 26 45 44 2c 35 38 34 2c 34 31 36 0d 0f 78 05 cd |&ED,584,416..x..| 000026c0 0d 0f 82 05 e1 0d 0f 8c 4c f4 20 2d 2d 2d 2d 2d |........L. -----| 000026d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002710 2d 0d 0f 96 11 dd f2 64 72 61 77 73 65 63 74 69 |-......drawsecti| 00002720 6f 6e 0d 0f a0 11 f1 20 8a 33 2c 33 29 20 89 28 |on..... .3,3) .(| 00002730 35 30 29 0d 0f aa 2c 78 6c 6f 77 25 3d 28 38 34 |50)...,xlow%=(84| 00002740 2a 28 78 76 61 6c 75 65 25 2d 31 29 29 3a e7 20 |*(xvalue%-1)):. | 00002750 78 6c 6f 77 25 3c 30 20 78 6c 6f 77 25 3d 30 0d |xlow%<0 xlow%=0.| 00002760 0f b4 1f 78 68 69 67 68 25 3d 28 38 34 2a 28 78 |...xhigh%=(84*(x| 00002770 76 61 6c 75 65 25 2d 31 29 29 2b 31 33 30 0d 0f |value%-1))+130..| 00002780 be 28 79 6c 6f 77 25 3d 28 38 34 2a 79 76 61 6c |.(ylow%=(84*yval| 00002790 75 65 25 29 3a e7 20 79 6c 6f 77 25 3c 30 20 79 |ue%):. ylow%<0 y| 000027a0 6c 6f 77 25 3d 30 0d 0f c8 1b 79 68 69 67 68 25 |low%=0....yhigh%| 000027b0 3d 28 38 34 2a 79 76 61 6c 75 65 25 29 2b 31 32 |=(84*yvalue%)+12| 000027c0 30 0d 0f d2 22 ef 32 34 2c 78 6c 6f 77 25 3b 79 |0...".24,xlow%;y| 000027d0 6c 6f 77 25 3b 78 68 69 67 68 25 3b 79 68 69 67 |low%;xhigh%;yhig| 000027e0 68 25 3b 0d 0f dc 43 78 6d 61 78 25 3d 78 76 61 |h%;...Cxmax%=xva| 000027f0 6c 75 65 25 2b 31 3a 78 6d 69 6e 25 3d 78 76 61 |lue%+1:xmin%=xva| 00002800 6c 75 65 25 2d 32 3a 79 6d 61 78 25 3d 79 76 61 |lue%-2:ymax%=yva| 00002810 6c 75 65 25 2b 31 3a 79 6d 69 6e 25 3d 79 76 61 |lue%+1:ymin%=yva| 00002820 6c 75 65 25 2d 32 0d 0f e6 15 e7 20 78 6d 69 6e |lue%-2..... xmin| 00002830 25 3c 32 20 78 6d 69 6e 25 3d 32 0d 0f f0 15 e7 |%<2 xmin%=2.....| 00002840 20 79 6d 69 6e 25 3c 31 20 79 6d 69 6e 25 3d 31 | ymin%<1 ymin%=1| 00002850 0d 0f fa 17 e7 20 78 6d 61 78 25 3e 31 33 20 78 |..... xmax%>13 x| 00002860 6d 61 78 25 3d 31 33 0d 10 04 15 e7 20 79 6d 61 |max%=13..... yma| 00002870 78 25 3e 38 20 79 6d 61 78 25 3d 38 0d 10 0e 12 |x%>8 ymax%=8....| 00002880 e3 20 7a 6c 6f 6f 70 25 3d 31 20 b8 20 34 0d 10 |. zloop%=1 . 4..| 00002890 18 2d f2 70 6c 6f 74 28 30 2c 30 2c 78 6d 61 78 |.-.plot(0,0,xmax| 000028a0 25 2c 78 6d 69 6e 25 2c 79 6d 61 78 25 2c 79 6d |%,xmin%,ymax%,ym| 000028b0 69 6e 25 2c 7a 6c 6f 6f 70 25 29 0d 10 22 0b ed |in%,zloop%).."..| 000028c0 7a 6c 6f 6f 70 25 0d 10 2c 0c f2 70 6c 6f 74 74 |zloop%..,..plott| 000028d0 6f 70 0d 10 36 07 ef 32 36 0d 10 40 05 e1 0d 10 |op..6..26..@....| 000028e0 4a 4b f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |JK. ------------| 000028f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002920 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 10 54 11 dd f2 73 |---------..T...s| 00002930 68 6f 77 61 6c 6c 62 69 74 73 0d 10 5e 05 db 0d |howallbits..^...| 00002940 10 68 0f 6d 61 72 67 69 6e 25 3d 31 36 30 0d 10 |.h.margin%=160..| 00002950 72 06 ef 35 0d 10 7c 36 ec 20 30 2c 37 36 35 3a |r..5..|6. 0,765:| 00002960 e6 30 2c 31 32 37 3a f1 22 46 4c 4f 57 45 52 53 |.0,127:."FLOWERS| 00002970 20 20 20 31 20 6f 66 22 3a ec 20 31 36 30 2c 37 | 1 of":. 160,7| 00002980 33 30 3a f1 22 65 61 63 68 22 0d 10 86 11 e3 20 |30:."each"..... | 00002990 6c 6f 6f 70 25 3d 31 20 b8 20 34 0d 10 90 1f ef |loop%=1 . 4.....| 000029a0 20 32 33 2c 32 37 2c 30 2c 6c 6f 6f 70 25 2c 30 | 23,27,0,loop%,0| 000029b0 2c 30 2c 30 2c 30 2c 30 2c 30 0d 10 9a 21 f0 20 |,0,0,0,0,0...!. | 000029c0 26 45 44 2c 6d 61 72 67 69 6e 25 2b 28 6c 6f 6f |&ED,margin%+(loo| 000029d0 70 25 2a 31 30 30 29 2c 37 30 30 0d 10 a4 0b ed |p%*100),700.....| 000029e0 20 6c 6f 6f 70 25 0d 10 ae 2f ec 20 30 2c 36 36 | loop%.../. 0,66| 000029f0 35 3a f1 22 53 45 41 53 4f 4e 53 20 20 20 31 20 |5:."SEASONS 1 | 00002a00 6f 66 22 3a ec 20 31 36 30 2c 36 33 30 3a f1 22 |of":. 160,630:."| 00002a10 65 61 63 68 22 0d 10 b8 11 e3 20 6c 6f 6f 70 25 |each"..... loop%| 00002a20 3d 31 20 b8 20 34 0d 10 c2 21 ef 20 32 33 2c 32 |=1 . 4...!. 23,2| 00002a30 37 2c 30 2c 34 2b 6c 6f 6f 70 25 2c 30 2c 30 2c |7,0,4+loop%,0,0,| 00002a40 30 2c 30 2c 30 2c 30 0d 10 cc 21 f0 20 26 45 44 |0,0,0,0...!. &ED| 00002a50 2c 6d 61 72 67 69 6e 25 2b 28 6c 6f 6f 70 25 2a |,margin%+(loop%*| 00002a60 31 30 30 29 2c 36 30 30 0d 10 d6 0b ed 20 6c 6f |100),600..... lo| 00002a70 6f 70 25 0d 10 e0 2f ec 20 30 2c 35 36 35 3a f1 |op%.../. 0,565:.| 00002a80 22 44 52 41 47 4f 4e 53 20 20 20 34 20 6f 66 22 |"DRAGONS 4 of"| 00002a90 3a ec 20 31 36 30 2c 35 33 30 3a f1 22 65 61 63 |:. 160,530:."eac| 00002aa0 68 22 0d 10 ea 11 e3 20 6c 6f 6f 70 25 3d 31 20 |h"..... loop%=1 | 00002ab0 b8 20 33 0d 10 f4 21 ef 20 32 33 2c 32 37 2c 30 |. 3...!. 23,27,0| 00002ac0 2c 38 2b 6c 6f 6f 70 25 2c 30 2c 30 2c 30 2c 30 |,8+loop%,0,0,0,0| 00002ad0 2c 30 2c 30 0d 10 fe 21 f0 20 26 45 44 2c 6d 61 |,0,0...!. &ED,ma| 00002ae0 72 67 69 6e 25 2b 28 6c 6f 6f 70 25 2a 31 30 30 |rgin%+(loop%*100| 00002af0 29 2c 35 30 30 0d 11 08 0b ed 20 6c 6f 6f 70 25 |),500..... loop%| 00002b00 0d 11 12 2f ec 20 30 2c 34 36 35 3a f1 22 57 49 |.../. 0,465:."WI| 00002b10 4e 44 53 20 20 20 20 20 34 20 6f 66 22 3a ec 20 |NDS 4 of":. | 00002b20 31 36 30 2c 34 33 30 3a f1 22 65 61 63 68 22 0d |160,430:."each".| 00002b30 11 1c 11 e3 20 6c 6f 6f 70 25 3d 31 20 b8 20 34 |.... loop%=1 . 4| 00002b40 0d 11 26 22 ef 20 32 33 2c 32 37 2c 30 2c 33 38 |..&". 23,27,0,38| 00002b50 2b 6c 6f 6f 70 25 2c 30 2c 30 2c 30 2c 30 2c 30 |+loop%,0,0,0,0,0| 00002b60 2c 30 0d 11 30 21 f0 20 26 45 44 2c 6d 61 72 67 |,0..0!. &ED,marg| 00002b70 69 6e 25 2b 28 6c 6f 6f 70 25 2a 31 30 30 29 2c |in%+(loop%*100),| 00002b80 34 30 30 0d 11 3a 0b ed 20 6c 6f 6f 70 25 0d 11 |400..:.. loop%..| 00002b90 44 0a f7 20 8d 44 4e 51 0d 11 4e 3e dc 20 33 36 |D.. .DNQ..N>. 36| 00002ba0 35 2c 53 50 4f 54 53 20 20 20 20 20 34 20 6f 66 |5,SPOTS 4 of| 00002bb0 2c 32 36 35 2c 43 52 41 4b 53 20 20 20 20 20 34 |,265,CRAKS 4| 00002bc0 20 6f 66 2c 31 36 35 2c 42 41 4d 53 20 20 20 20 | of,165,BAMS | 00002bd0 20 20 34 20 6f 66 0d 11 58 12 e3 20 67 72 6f 75 | 4 of..X.. grou| 00002be0 70 25 3d 30 20 b8 20 32 0d 11 62 17 f3 79 70 6f |p%=0 . 2..b..ypo| 00002bf0 73 69 74 69 6f 6e 25 2c 73 74 72 69 6e 67 24 0d |sition%,string$.| 00002c00 11 6c 1a ec 30 2c 79 70 6f 73 69 74 69 6f 6e 25 |.l..0,yposition%| 00002c10 3a f1 73 74 72 69 6e 67 24 0d 11 76 1e ec 31 36 |:.string$..v..16| 00002c20 30 2c 79 70 6f 73 69 74 69 6f 6e 25 2d 33 35 3a |0,yposition%-35:| 00002c30 f1 22 65 61 63 68 22 0d 11 80 11 e3 20 6c 6f 6f |."each"..... loo| 00002c40 70 25 3d 31 20 b8 20 39 0d 11 8a 2f ef 20 32 33 |p%=1 . 9.../. 23| 00002c50 2c 32 37 2c 30 2c 28 31 31 2b 6c 6f 6f 70 25 29 |,27,0,(11+loop%)| 00002c60 2b 28 67 72 6f 75 70 25 2a 39 29 2c 30 2c 30 2c |+(group%*9),0,0,| 00002c70 30 2c 30 2c 30 2c 30 0d 11 94 2e f0 20 26 45 44 |0,0,0,0..... &ED| 00002c80 2c 6d 61 72 67 69 6e 25 2b 28 6c 6f 6f 70 25 2a |,margin%+(loop%*| 00002c90 31 30 30 29 2c 33 30 30 2d 28 67 72 6f 75 70 25 |100),300-(group%| 00002ca0 2a 31 30 30 29 0d 11 9e 0b ed 20 6c 6f 6f 70 25 |*100)..... loop%| 00002cb0 0d 11 a8 0c ed 20 67 72 6f 75 70 25 0d 11 b2 27 |..... group%...'| 00002cc0 ec 20 37 30 30 2c 37 38 30 3a f1 22 41 4e 59 20 |. 700,780:."ANY | 00002cd0 54 57 4f 20 46 4c 4f 57 45 52 53 20 43 41 4e 20 |TWO FLOWERS CAN | 00002ce0 42 45 22 0d 11 bc 23 ec 20 37 30 30 2c 37 34 30 |BE"...#. 700,740| 00002cf0 3a f1 22 53 45 4c 45 43 54 45 44 20 41 53 20 41 |:."SELECTED AS A| 00002d00 20 50 41 49 52 22 0d 11 c6 27 ec 20 37 30 30 2c | PAIR"...'. 700,| 00002d10 36 38 30 3a f1 22 41 4e 59 20 54 57 4f 20 53 45 |680:."ANY TWO SE| 00002d20 41 53 4f 4e 53 20 43 41 4e 20 42 45 22 0d 11 d0 |ASONS CAN BE"...| 00002d30 23 ec 20 37 30 30 2c 36 34 30 3a f1 22 53 45 4c |#. 700,640:."SEL| 00002d40 45 43 54 45 44 20 41 53 20 41 20 50 41 49 52 22 |ECTED AS A PAIR"| 00002d50 0d 11 da 21 f5 3a c8 97 78 25 2c 79 25 2c 62 75 |...!.:..x%,y%,bu| 00002d60 74 74 6f 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3d |tton%:. button%=| 00002d70 30 0d 11 e4 06 ef 34 0d 11 ee 19 ef 32 33 2c 31 |0.....4.....23,1| 00002d80 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 |,0,0,0,0,0,0,0,0| 00002d90 0d 11 f8 4c 20 f1 8a 33 2c 32 29 22 54 68 65 20 |...L ..3,2)"The | 00002da0 67 61 6d 65 20 69 73 20 70 6c 61 79 65 64 20 75 |game is played u| 00002db0 73 69 6e 67 20 27 4d 41 48 20 4a 4f 4e 47 27 20 |sing 'MAH JONG' | 00002dc0 74 69 6c 65 73 20 2c 20 61 73 20 64 69 73 70 6c |tiles , as displ| 00002dd0 61 79 65 64 20 62 65 6c 6f 77 2e 22 0d 12 02 4a |ayed below."...J| 00002de0 20 f1 8a 33 2c 33 29 22 54 68 65 20 6f 62 6a 65 | ..3,3)"The obje| 00002df0 63 74 20 69 73 20 74 6f 20 72 65 6d 6f 76 65 20 |ct is to remove | 00002e00 74 69 6c 65 73 20 2c 20 69 6e 20 70 61 69 72 73 |tiles , in pairs| 00002e10 20 2c 20 75 6e 74 69 6c 20 6e 6f 6e 65 20 72 65 | , until none re| 00002e20 6d 61 69 6e 2e 22 0d 12 0c 2a f1 8a 33 2c 34 29 |main."...*..3,4)| 00002e30 22 54 69 6c 65 73 20 63 61 6e 20 6f 6e 6c 79 20 |"Tiles can only | 00002e40 62 65 20 72 65 6d 6f 76 65 64 20 69 66 20 3a 22 |be removed if :"| 00002e50 0d 12 16 47 f1 8a 38 2c 35 29 22 20 45 49 54 48 |...G..8,5)" EITH| 00002e60 45 52 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f |ER There is no| 00002e70 20 74 69 6c 65 20 74 6f 20 69 74 27 73 20 72 69 | tile to it's ri| 00002e80 67 68 74 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 |ght on the same | 00002e90 6c 65 76 65 6c 2e 22 0d 12 20 46 f1 8a 38 2c 36 |level.".. F..8,6| 00002ea0 29 22 20 4f 52 20 20 20 20 20 20 20 54 68 65 72 |)" OR Ther| 00002eb0 65 20 69 73 20 6e 6f 20 74 69 6c 65 20 74 6f 20 |e is no tile to | 00002ec0 69 74 27 73 20 6c 65 66 74 20 6f 6e 20 74 68 65 |it's left on the| 00002ed0 20 73 61 6d 65 20 6c 65 76 65 6c 2e 22 0d 12 2a | same level."..*| 00002ee0 30 f1 8a 31 35 2c 33 30 29 22 50 52 45 53 53 20 |0..15,30)"PRESS | 00002ef0 41 4e 59 20 42 55 54 54 4f 4e 20 54 4f 20 52 45 |ANY BUTTON TO RE| 00002f00 54 55 52 4e 20 54 4f 20 47 41 4d 45 22 0d 12 34 |TURN TO GAME"..4| 00002f10 22 f5 3a c8 97 78 25 2c 79 25 2c 62 75 74 74 6f |".:..x%,y%,butto| 00002f20 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3c 3e 30 0d |n%:. button%<>0.| 00002f30 12 3e 0d 72 65 74 75 72 6e 25 3d b9 0d 12 48 0b |.>.return%=...H.| 00002f40 db 3a f2 64 72 61 77 0d 12 52 05 e1 0d 12 5c 4b |.:.draw..R....\K| 00002f50 f4 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |. --------------| 00002f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002f90 2d 2d 2d 2d 2d 2d 2d 0d 12 66 11 dd f2 6d 65 6e |-------..f...men| 00002fa0 75 28 74 79 70 65 25 29 0d 12 70 0c e6 30 2c 32 |u(type%)..p..0,2| 00002fb0 30 3a ef 35 0d 12 7a 18 c8 93 20 c8 90 20 32 30 |0:.5..z... .. 20| 00002fc0 2c 39 34 30 2c 31 32 30 30 2c 35 38 0d 12 84 0f |,940,1200,58....| 00002fd0 e7 20 74 79 70 65 25 3d 30 20 8c 0d 12 8e 17 e7 |. type%=0 ......| 00002fe0 20 64 6f 75 62 6c 65 73 76 61 6c 69 64 25 3d b9 | doublesvalid%=.| 00002ff0 20 8c 0d 12 98 0a f7 20 8d 74 62 52 0d 12 a2 33 | ...... .tbR...3| 00003000 dc 20 4d 45 4e 55 20 4f 46 46 2c 53 48 4f 57 20 |. MENU OFF,SHOW | 00003010 4d 4f 56 45 53 2c 4e 45 57 20 47 41 4d 45 2c 49 |MOVES,NEW GAME,I| 00003020 4e 46 4f 52 4d 41 54 49 4f 4e 2c 51 55 49 54 0d |NFORMATION,QUIT.| 00003030 12 ac 0c cc 20 f7 20 8d 74 76 52 0d 12 b6 1e dc |.... . .tvR.....| 00003040 20 4d 45 4e 55 20 4f 46 46 2c 2c 4e 45 57 20 47 | MENU OFF,,NEW G| 00003050 41 4d 45 2c 2c 51 55 49 54 0d 12 c0 05 cd 0d 12 |AME,,QUIT.......| 00003060 ca 05 cd 0d 12 d4 0f e7 20 74 79 70 65 25 3d 31 |........ type%=1| 00003070 20 8c 0d 12 de 0a f7 20 8d 64 68 52 0d 12 e8 36 | ...... .dhR...6| 00003080 dc 20 42 41 43 4b 20 54 4f 20 47 41 4d 45 2c 53 |. BACK TO GAME,S| 00003090 48 4f 57 20 4e 45 58 54 2c 4e 45 57 20 47 41 4d |HOW NEXT,NEW GAM| 000030a0 45 2c 49 4e 46 4f 52 4d 41 54 49 4f 4e 2c 51 55 |E,INFORMATION,QU| 000030b0 49 54 0d 12 f2 05 cd 0d 12 fc 14 e3 20 62 6f 78 |IT.......... box| 000030c0 6c 6f 6f 70 25 3d 31 20 b8 20 35 0d 13 06 09 e6 |loop%=1 . 5.....| 000030d0 30 2c 34 32 0d 13 10 0b f3 6d 65 73 73 31 24 0d |0,42.....mess1$.| 000030e0 13 1a 22 6d 65 6e 75 70 6f 73 25 3d 33 30 2b 28 |.."menupos%=30+(| 000030f0 32 34 30 2a 28 62 6f 78 6c 6f 6f 70 25 2d 31 29 |240*(boxloop%-1)| 00003100 29 0d 13 24 1d c8 93 20 c8 90 20 6d 65 6e 75 70 |)..$... .. menup| 00003110 6f 73 25 2c 39 35 30 2c 32 32 30 2c 34 30 0d 13 |os%,950,220,40..| 00003120 2e 23 ec 20 31 30 2b 6d 65 6e 75 70 6f 73 25 2c |.#. 10+menupos%,| 00003130 39 38 30 3a e6 30 2c 30 3a f1 20 6d 65 73 73 31 |980:.0,0:. mess1| 00003140 24 0d 13 38 0d ed 62 6f 78 6c 6f 6f 70 25 0d 13 |$..8..boxloop%..| 00003150 42 21 f5 3a c8 97 78 25 2c 79 25 2c 62 75 74 74 |B!.:..x%,y%,butt| 00003160 6f 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3d 30 0d |on%:. button%=0.| 00003170 13 4c 22 f5 3a c8 97 78 25 2c 79 25 2c 62 75 74 |.L".:..x%,y%,but| 00003180 74 6f 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3c 3e |ton%:. button%<>| 00003190 30 0d 13 56 12 73 65 6c 65 63 74 76 61 6c 69 64 |0..V.selectvalid| 000031a0 25 3d 30 0d 13 60 24 e7 20 79 25 3e 39 35 30 20 |%=0..`$. y%>950 | 000031b0 80 20 79 25 3c 39 39 30 20 80 20 62 75 74 74 6f |. y%<990 . butto| 000031c0 6e 25 3c 3e 32 20 8c 0d 13 6a 10 20 e7 20 74 79 |n%<>2 ...j. . ty| 000031d0 70 65 25 3d 30 20 8c 0d 13 74 2b e7 20 78 25 3e |pe%=0 ...t+. x%>| 000031e0 33 31 20 80 20 78 25 3c 32 35 30 20 8c 20 c8 93 |31 . x%<250 . ..| 000031f0 20 c8 90 20 32 30 2c 39 34 30 2c 31 32 30 30 2c | .. 20,940,1200,| 00003200 35 38 0d 13 7e 17 e7 20 78 25 3e 32 37 31 20 80 |58..~.. x%>271 .| 00003210 20 78 25 3c 34 39 30 20 8c 0d 13 88 17 e7 20 64 | x%<490 ...... d| 00003220 6f 75 62 6c 65 73 76 61 6c 69 64 25 3d b9 20 8c |oublesvalid%=. .| 00003230 0d 13 92 1d 73 65 6c 65 63 74 76 61 6c 69 64 25 |....selectvalid%| 00003240 3d 31 3a f2 73 68 6f 77 6d 6f 76 65 73 0d 13 9c |=1:.showmoves...| 00003250 05 cc 0d 13 a6 16 73 65 6c 65 63 74 76 61 6c 69 |......selectvali| 00003260 64 25 3d 30 20 3a ef 37 0d 13 b0 05 cd 0d 13 ba |d%=0 :.7........| 00003270 05 cd 0d 13 c4 05 cd 0d 13 ce 2e e7 20 74 79 70 |............ typ| 00003280 65 25 3d 31 20 80 20 79 25 3e 39 35 30 20 80 20 |e%=1 . y%>950 . | 00003290 79 25 3c 39 39 30 20 80 20 62 75 74 74 6f 6e 25 |y%<990 . button%| 000032a0 3c 3e 32 20 8c 0d 13 d8 2d e7 20 78 25 3e 33 31 |<>2 ....-. x%>31| 000032b0 20 80 20 78 25 3c 32 35 30 20 8c 20 73 65 6c 65 | . x%<250 . sele| 000032c0 63 74 76 61 6c 69 64 25 3d 31 3a 75 6e 64 6f 25 |ctvalid%=1:undo%| 000032d0 3d a3 0d 13 e2 2e e7 20 78 25 3e 32 37 31 20 80 |=...... x%>271 .| 000032e0 20 78 25 3c 34 39 30 20 8c 20 73 65 6c 65 63 74 | x%<490 . select| 000032f0 76 61 6c 69 64 25 3d 31 3a 75 6e 64 6f 25 3d b9 |valid%=1:undo%=.| 00003300 0d 13 ec 05 cd 0d 13 f6 23 e7 79 25 3e 39 35 30 |........#.y%>950| 00003310 20 80 20 79 25 3c 39 39 30 20 80 20 62 75 74 74 | . y%<990 . butt| 00003320 6f 6e 25 3c 3e 32 20 8c 0d 14 00 32 e7 20 78 25 |on%<>2 ....2. x%| 00003330 3e 35 31 31 20 80 20 78 25 3c 37 33 30 20 8c 20 |>511 . x%<730 . | 00003340 73 65 6c 65 63 74 76 61 6c 69 64 25 3d 31 3a db |selectvalid%=1:.| 00003350 3a 72 65 70 6c 61 79 25 3d b9 0d 14 0a 17 e7 20 |:replay%=...... | 00003360 78 25 3e 37 35 31 20 80 20 78 25 3c 39 37 30 20 |x%>751 . x%<970 | 00003370 8c 0d 14 14 17 e7 20 64 6f 75 62 6c 65 73 76 61 |...... doublesva| 00003380 6c 69 64 25 3d b9 20 8c 0d 14 1e 0f e7 20 74 79 |lid%=. ...... ty| 00003390 70 65 25 3d 30 20 8c 0d 14 28 1f 73 65 6c 65 63 |pe%=0 ...(.selec| 000033a0 74 76 61 6c 69 64 25 3d 31 3a f2 73 68 6f 77 61 |tvalid%=1:.showa| 000033b0 6c 6c 62 69 74 73 0d 14 32 05 cc 0d 14 3c 12 73 |llbits..2....<.s| 000033c0 65 6c 65 63 74 76 61 6c 69 64 25 3d 31 0d 14 46 |electvalid%=1..F| 000033d0 05 cd 0d 14 50 05 cc 0d 14 5a 16 73 65 6c 65 63 |....P....Z.selec| 000033e0 74 76 61 6c 69 64 25 3d 30 20 3a ef 37 0d 14 64 |tvalid%=0 :.7..d| 000033f0 05 cd 0d 14 6e 05 cd 0d 14 78 67 e7 20 78 25 3e |....n....xg. x%>| 00003400 39 39 31 20 80 20 78 25 3c 31 32 31 30 20 8c 20 |991 . x%<1210 . | 00003410 db 3a ef 34 3a fb 31 32 37 3a f1 8a 32 30 2c 32 |.:.4:.127:..20,2| 00003420 30 29 22 42 59 45 21 22 3a f1 8a 31 32 2c 32 32 |0)"BYE!":..12,22| 00003430 29 22 50 72 6f 67 72 61 6d 6d 65 72 20 44 2e 41 |)"Programmer D.A| 00003440 2e 50 65 64 64 65 72 22 3a 72 65 70 6c 61 79 25 |.Pedder":replay%| 00003450 3d b9 3a 66 69 6e 69 73 68 65 64 25 3d b9 0d 14 |=.:finished%=...| 00003460 82 05 cd 0d 14 8c 05 cd 0d 14 96 2c e7 20 73 65 |...........,. se| 00003470 6c 65 63 74 76 61 6c 69 64 25 3c 3e 31 20 8c 20 |lectvalid%<>1 . | 00003480 c8 93 20 c8 90 20 32 30 2c 39 34 30 2c 31 32 30 |.. .. 20,940,120| 00003490 30 2c 35 38 0d 14 a0 06 ef 34 0d 14 aa 19 ef 32 |0,58.....4.....2| 000034a0 33 2c 31 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c |3,1,0,0,0,0,0,0,| 000034b0 30 2c 30 0d 14 b4 0d 79 76 61 6c 75 65 25 3d 30 |0,0....yvalue%=0| 000034c0 0d 14 be 05 e1 0d 14 c8 4b f4 20 2d 2d 2d 2d 2d |........K. -----| 000034d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003510 0d 14 d2 0f dd f2 73 68 6f 77 6d 6f 76 65 73 0d |......showmoves.| 00003520 14 dc 0f f4 20 62 75 74 74 6f 6e 25 3d 30 0d 14 |.... button%=0..| 00003530 e6 06 ef 34 0d 14 f0 19 ef 32 33 2c 31 2c 30 2c |...4.....23,1,0,| 00003540 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d 14 fa |0,0,0,0,0,0,0...| 00003550 10 f1 8a 31 32 2c 33 29 89 28 36 30 29 0d 15 04 |...12,3).(60)...| 00003560 0f 73 68 6f 77 6c 6f 6f 70 25 3d 30 0d 15 0e 13 |.showloop%=0....| 00003570 e3 20 78 73 68 6f 77 25 3d 31 20 b8 20 31 35 0d |. xshow%=1 . 15.| 00003580 15 18 12 e3 20 79 73 68 6f 77 25 3d 31 20 b8 20 |.... yshow%=1 . | 00003590 38 0d 15 22 12 e3 20 7a 73 68 6f 77 25 3d 31 20 |8..".. zshow%=1 | 000035a0 b8 20 35 0d 15 2c 2b e7 20 62 6f 61 72 64 70 6f |. 5..,+. boardpo| 000035b0 73 24 28 7a 73 68 6f 77 25 2c 78 73 68 6f 77 25 |s$(zshow%,xshow%| 000035c0 2c 79 73 68 6f 77 25 29 3e 22 30 22 20 8c 0d 15 |,yshow%)>"0" ...| 000035d0 36 30 7a 6c 61 79 65 72 25 3d 7a 73 68 6f 77 25 |60zlayer%=zshow%| 000035e0 3a 78 76 61 6c 75 65 25 3d 78 73 68 6f 77 25 3a |:xvalue%=xshow%:| 000035f0 79 76 61 6c 75 65 25 3d 79 73 68 6f 77 25 0d 15 |yvalue%=yshow%..| 00003600 40 0c 76 61 6c 69 64 25 3d a3 0d 15 4a 11 f2 74 |@.valid%=...J..t| 00003610 69 6c 65 76 61 6c 69 64 28 31 29 0d 15 54 39 e7 |ilevalid(1)..T9.| 00003620 20 76 61 6c 69 64 25 3d b9 20 80 20 62 6f 61 72 | valid%=. . boar| 00003630 64 70 6f 73 24 28 7a 73 68 6f 77 25 2b 31 2c 78 |dpos$(zshow%+1,x| 00003640 73 68 6f 77 25 2c 79 73 68 6f 77 25 29 3c 3d 22 |show%,yshow%)<="| 00003650 30 22 20 8c 0d 15 5e 39 74 69 6c 65 76 61 6c 69 |0" ...^9tilevali| 00003660 64 24 28 73 68 6f 77 6c 6f 6f 70 25 29 3d 62 6f |d$(showloop%)=bo| 00003670 61 72 64 70 6f 73 24 28 7a 73 68 6f 77 25 2c 78 |ardpos$(zshow%,x| 00003680 73 68 6f 77 25 2c 79 73 68 6f 77 25 29 0d 15 68 |show%,yshow%)..h| 00003690 3f e7 20 bb 28 74 69 6c 65 76 61 6c 69 64 24 28 |?. .(tilevalid$(| 000036a0 73 68 6f 77 6c 6f 6f 70 25 29 29 3c 39 20 80 20 |showloop%))<9 . | 000036b0 bb 28 74 69 6c 65 76 61 6c 69 64 24 28 73 68 6f |.(tilevalid$(sho| 000036c0 77 6c 6f 6f 70 25 29 29 3e 30 20 8c 0d 15 72 22 |wloop%))>0 ...r"| 000036d0 e7 20 bb 28 74 69 6c 65 76 61 6c 69 64 24 28 73 |. .(tilevalid$(s| 000036e0 68 6f 77 6c 6f 6f 70 25 29 29 3c 35 20 8c 0d 15 |howloop%))<5 ...| 000036f0 7c 1d 74 69 6c 65 76 61 6c 69 64 24 28 73 68 6f ||.tilevalid$(sho| 00003700 77 6c 6f 6f 70 25 29 3d 22 31 22 0d 15 86 05 cc |wloop%)="1".....| 00003710 0d 15 90 1d 74 69 6c 65 76 61 6c 69 64 24 28 73 |....tilevalid$(s| 00003720 68 6f 77 6c 6f 6f 70 25 29 3d 22 32 22 0d 15 9a |howloop%)="2"...| 00003730 05 cd 0d 15 a4 05 cd 0d 15 ae 23 74 69 6c 65 63 |..........#tilec| 00003740 6f 6f 72 64 73 25 28 73 68 6f 77 6c 6f 6f 70 25 |oords%(showloop%| 00003750 2c 31 29 3d 7a 73 68 6f 77 25 0d 15 b8 23 74 69 |,1)=zshow%...#ti| 00003760 6c 65 63 6f 6f 72 64 73 25 28 73 68 6f 77 6c 6f |lecoords%(showlo| 00003770 6f 70 25 2c 32 29 3d 78 73 68 6f 77 25 0d 15 c2 |op%,2)=xshow%...| 00003780 23 74 69 6c 65 63 6f 6f 72 64 73 25 28 73 68 6f |#tilecoords%(sho| 00003790 77 6c 6f 6f 70 25 2c 33 29 3d 79 73 68 6f 77 25 |wloop%,3)=yshow%| 000037a0 0d 15 cc 19 73 68 6f 77 6c 6f 6f 70 25 3d 73 68 |....showloop%=sh| 000037b0 6f 77 6c 6f 6f 70 25 2b 31 0d 15 d6 05 cd 0d 15 |owloop%+1.......| 000037c0 e0 05 cd 0d 15 ea 0c ed 20 7a 73 68 6f 77 25 0d |........ zshow%.| 000037d0 15 f4 0c ed 20 79 73 68 6f 77 25 0d 15 fe 0c ed |.... yshow%.....| 000037e0 20 78 73 68 6f 77 25 0d 16 08 10 63 68 65 63 6b | xshow%....check| 000037f0 6c 6f 6f 70 25 3d 30 0d 16 12 05 f5 0d 16 1c 0b |loop%=0.........| 00003800 75 6e 64 6f 25 3d a3 0d 16 26 13 64 6f 75 62 6c |undo%=...&.doubl| 00003810 65 73 66 6f 75 6e 64 25 3d a3 0d 16 30 1a 64 6f |esfound%=...0.do| 00003820 75 62 6c 6f 6f 70 25 3d 63 68 65 63 6b 6c 6f 6f |ubloop%=checkloo| 00003830 70 25 2b 31 0d 16 3a 05 f5 0d 16 44 51 e7 20 74 |p%+1..:....DQ. t| 00003840 69 6c 65 76 61 6c 69 64 24 28 63 68 65 63 6b 6c |ilevalid$(checkl| 00003850 6f 6f 70 25 29 3e 22 30 22 20 80 20 74 69 6c 65 |oop%)>"0" . tile| 00003860 76 61 6c 69 64 24 28 63 68 65 63 6b 6c 6f 6f 70 |valid$(checkloop| 00003870 25 29 3d 74 69 6c 65 76 61 6c 69 64 24 28 64 6f |%)=tilevalid$(do| 00003880 75 62 6c 6f 6f 70 25 29 20 8c 0d 16 4e 25 7a 6c |ubloop%) ...N%zl| 00003890 61 79 65 72 25 3d 74 69 6c 65 63 6f 6f 72 64 73 |ayer%=tilecoords| 000038a0 25 28 63 68 65 63 6b 6c 6f 6f 70 25 2c 31 29 0d |%(checkloop%,1).| 000038b0 16 58 25 78 76 61 6c 75 65 25 3d 74 69 6c 65 63 |.X%xvalue%=tilec| 000038c0 6f 6f 72 64 73 25 28 63 68 65 63 6b 6c 6f 6f 70 |oords%(checkloop| 000038d0 25 2c 32 29 0d 16 62 25 79 76 61 6c 75 65 25 3d |%,2)..b%yvalue%=| 000038e0 74 69 6c 65 63 6f 6f 72 64 73 25 28 63 68 65 63 |tilecoords%(chec| 000038f0 6b 6c 6f 6f 70 25 2c 33 29 0d 16 6c 0f f2 68 69 |kloop%,3)..l..hi| 00003900 6c 69 67 68 74 28 31 29 0d 16 76 24 7a 6c 61 79 |light(1)..v$zlay| 00003910 65 72 25 3d 74 69 6c 65 63 6f 6f 72 64 73 25 28 |er%=tilecoords%(| 00003920 64 6f 75 62 6c 6f 6f 70 25 2c 31 29 0d 16 80 24 |doubloop%,1)...$| 00003930 78 76 61 6c 75 65 25 3d 74 69 6c 65 63 6f 6f 72 |xvalue%=tilecoor| 00003940 64 73 25 28 64 6f 75 62 6c 6f 6f 70 25 2c 32 29 |ds%(doubloop%,2)| 00003950 0d 16 8a 24 79 76 61 6c 75 65 25 3d 74 69 6c 65 |...$yvalue%=tile| 00003960 63 6f 6f 72 64 73 25 28 64 6f 75 62 6c 6f 6f 70 |coords%(doubloop| 00003970 25 2c 33 29 0d 16 94 0f f2 68 69 6c 69 67 68 74 |%,3).....hilight| 00003980 28 31 29 0d 16 9e 13 64 6f 75 62 6c 65 73 66 6f |(1)....doublesfo| 00003990 75 6e 64 25 3d b9 0d 16 a8 05 cd 0d 16 b2 19 64 |und%=..........d| 000039a0 6f 75 62 6c 6f 6f 70 25 3d 64 6f 75 62 6c 6f 6f |oubloop%=doubloo| 000039b0 70 25 2b 31 0d 16 bc 1a fd 20 64 6f 75 62 6c 6f |p%+1..... doublo| 000039c0 6f 70 25 3e 3d 73 68 6f 77 6c 6f 6f 70 25 0d 16 |op%>=showloop%..| 000039d0 c6 17 e7 20 64 6f 75 62 6c 65 73 66 6f 75 6e 64 |... doublesfound| 000039e0 25 3d b9 20 8c 0d 16 d0 0c f2 6d 65 6e 75 28 31 |%=. ......menu(1| 000039f0 29 0d 16 da 24 63 68 65 63 6b 69 6e 67 24 3d 74 |)...$checking$=t| 00003a00 69 6c 65 76 61 6c 69 64 24 28 63 68 65 63 6b 6c |ilevalid$(checkl| 00003a10 6f 6f 70 25 29 0d 16 e4 25 e3 20 74 69 6c 65 6f |oop%)...%. tileo| 00003a20 66 66 25 3d 63 68 65 63 6b 6c 6f 6f 70 25 20 b8 |ff%=checkloop% .| 00003a30 20 73 68 6f 77 6c 6f 6f 70 25 0d 16 ee 41 e7 20 | showloop%...A. | 00003a40 74 69 6c 65 76 61 6c 69 64 24 28 74 69 6c 65 6f |tilevalid$(tileo| 00003a50 66 66 25 29 3e 22 30 22 20 80 20 74 69 6c 65 76 |ff%)>"0" . tilev| 00003a60 61 6c 69 64 24 28 74 69 6c 65 6f 66 66 25 29 3d |alid$(tileoff%)=| 00003a70 63 68 65 63 6b 69 6e 67 24 20 8c 0d 16 f8 23 7a |checking$ ....#z| 00003a80 6c 61 79 65 72 25 3d 74 69 6c 65 63 6f 6f 72 64 |layer%=tilecoord| 00003a90 73 25 28 74 69 6c 65 6f 66 66 25 2c 31 29 0d 17 |s%(tileoff%,1)..| 00003aa0 02 23 78 76 61 6c 75 65 25 3d 74 69 6c 65 63 6f |.#xvalue%=tileco| 00003ab0 6f 72 64 73 25 28 74 69 6c 65 6f 66 66 25 2c 32 |ords%(tileoff%,2| 00003ac0 29 0d 17 0c 23 79 76 61 6c 75 65 25 3d 74 69 6c |)...#yvalue%=til| 00003ad0 65 63 6f 6f 72 64 73 25 28 74 69 6c 65 6f 66 66 |ecoords%(tileoff| 00003ae0 25 2c 33 29 0d 17 16 0f f2 68 69 6c 69 67 68 74 |%,3).....hilight| 00003af0 28 30 29 0d 17 20 1c 74 69 6c 65 76 61 6c 69 64 |(0).. .tilevalid| 00003b00 24 28 74 69 6c 65 6f 66 66 25 29 3d 22 30 22 0d |$(tileoff%)="0".| 00003b10 17 2a 05 cd 0d 17 34 0e ed 20 74 69 6c 65 6f 66 |.*....4.. tileof| 00003b20 66 25 0d 17 3e 26 e7 20 75 6e 64 6f 25 3d a3 20 |f%..>&. undo%=. | 00003b30 8c 20 63 68 65 63 6b 6c 6f 6f 70 25 3d 73 68 6f |. checkloop%=sho| 00003b40 77 6c 6f 6f 70 25 2d 31 0d 17 48 05 cd 0d 17 52 |wloop%-1..H....R| 00003b50 1b 63 68 65 63 6b 6c 6f 6f 70 25 3d 63 68 65 63 |.checkloop%=chec| 00003b60 6b 6c 6f 6f 70 25 2b 31 0d 17 5c 1d fd 20 63 68 |kloop%+1..\.. ch| 00003b70 65 63 6b 6c 6f 6f 70 25 3e 3d 73 68 6f 77 6c 6f |eckloop%>=showlo| 00003b80 6f 70 25 2d 31 0d 17 66 1d e6 30 2c 30 3a c8 93 |op%-1..f..0,0:..| 00003b90 20 c8 90 20 32 30 2c 39 34 30 2c 31 32 30 30 2c | .. 20,940,1200,| 00003ba0 35 38 0d 17 70 21 e7 20 75 6e 64 6f 25 3d b9 20 |58..p!. undo%=. | 00003bb0 84 20 64 6f 75 62 6c 65 73 66 6f 75 6e 64 25 3d |. doublesfound%=| 00003bc0 a3 20 8c 0d 17 7a 21 f5 3a c8 97 78 25 2c 79 25 |. ...z!.:..x%,y%| 00003bd0 2c 62 75 74 74 6f 6e 25 3a fd 20 62 75 74 74 6f |,button%:. butto| 00003be0 6e 25 3d 30 0d 17 84 42 f1 8a 31 32 2c 33 29 22 |n%=0...B..12,3)"| 00003bf0 4e 4f 20 4d 4f 52 45 20 4d 4f 56 45 53 20 2d 2d |NO MORE MOVES --| 00003c00 2d 2d 20 50 52 45 53 53 20 41 4e 59 20 42 55 54 |-- PRESS ANY BUT| 00003c10 54 4f 4e 20 54 4f 20 52 45 54 55 52 4e 20 54 4f |TON TO RETURN TO| 00003c20 20 47 41 4d 45 22 0d 17 8e 22 f5 3a c8 97 78 25 | GAME"...".:..x%| 00003c30 2c 79 25 2c 62 75 74 74 6f 6e 25 3a fd 20 62 75 |,y%,button%:. bu| 00003c40 74 74 6f 6e 25 3c 3e 30 0d 17 98 05 cd 0d 17 a2 |tton%<>0........| 00003c50 10 f1 8a 31 32 2c 33 29 89 28 36 30 29 0d 17 ac |...12,3).(60)...| 00003c60 1e f1 8a 31 38 2c 33 29 22 50 49 43 4b 20 41 20 |...18,3)"PICK A | 00003c70 54 49 4c 45 22 3b 89 28 33 30 29 0d 17 b6 06 ef |TILE";.(30).....| 00003c80 37 0d 17 c0 05 e1 0d 17 ca 4a f4 20 2d 2d 2d 2d |7........J. ----| 00003c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003cd0 0d 17 d4 0c dd f2 64 6f 6e 65 69 74 0d 17 de 32 |......doneit...2| 00003ce0 f1 8a 31 32 2c 31 32 29 22 57 45 4c 4c 20 44 4f |..12,12)"WELL DO| 00003cf0 4e 45 20 59 4f 55 20 48 41 56 45 20 52 45 4d 4f |NE YOU HAVE REMO| 00003d00 56 45 44 20 41 4c 4c 20 54 49 4c 45 53 22 0d 17 |VED ALL TILES"..| 00003d10 e8 21 f5 3a c8 97 78 25 2c 79 25 2c 62 75 74 74 |.!.:..x%,y%,butt| 00003d20 6f 6e 25 3a fd 20 62 75 74 74 6f 6e 25 3d 30 0d |on%:. button%=0.| 00003d30 17 f2 45 f1 8a 34 2c 32 29 22 50 52 45 53 53 20 |..E..4,2)"PRESS | 00003d40 4d 49 44 44 4c 45 20 42 55 54 54 4f 4e 20 54 4f |MIDDLE BUTTON TO| 00003d50 20 50 4c 41 59 20 41 47 41 49 4e 20 2d 2d 20 52 | PLAY AGAIN -- R| 00003d60 49 47 48 54 20 42 55 54 54 4f 4e 20 54 4f 20 51 |IGHT BUTTON TO Q| 00003d70 55 49 54 22 0d 17 fc 05 f5 0d 18 06 13 c8 97 78 |UIT"...........x| 00003d80 25 2c 79 25 2c 62 75 74 74 6f 6e 25 0d 18 10 24 |%,y%,button%...$| 00003d90 78 68 6f 6f 72 61 79 25 3d b3 28 31 31 38 30 29 |xhooray%=.(1180)| 00003da0 3a 79 68 6f 6f 72 61 79 25 3d b3 28 38 30 30 29 |:yhooray%=.(800)| 00003db0 0d 18 1a 1f ef 20 32 33 2c 32 37 2c 30 2c b3 28 |..... 23,27,0,.(| 00003dc0 33 36 29 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 0d |36),0,0,0,0,0,0.| 00003dd0 18 24 1b f0 20 26 45 44 2c 78 68 6f 6f 72 61 79 |.$.. &ED,xhooray| 00003de0 25 2c 79 68 6f 6f 72 61 79 25 0d 18 2e 1d ef 20 |%,yhooray%..... | 00003df0 32 33 2c 32 37 2c 30 2c 31 30 31 2c 30 2c 30 2c |23,27,0,101,0,0,| 00003e00 30 2c 30 2c 30 2c 30 0d 18 38 1b f0 20 26 45 44 |0,0,0,0..8.. &ED| 00003e10 2c 78 68 6f 6f 72 61 79 25 2c 79 68 6f 6f 72 61 |,xhooray%,yhoora| 00003e20 79 25 0d 18 42 10 fd 20 62 75 74 74 6f 6e 25 3c |y%..B.. button%<| 00003e30 3e 30 0d 18 4c 27 e7 20 62 75 74 74 6f 6e 25 3d |>0..L'. button%=| 00003e40 32 20 8c 20 72 65 70 6c 61 79 25 3d b9 20 8b 20 |2 . replay%=. . | 00003e50 72 65 70 6c 61 79 25 3d a3 0d 18 56 05 e1 0d ff |replay%=...V....| 00003e60