Home » Archimedes archive » Archimedes World » AW-1994-06-Disc1.adf » Disk1Jun94 » !AWJune94/Goodies/WordPairs/!WordPairs/!RunImage

!AWJune94/Goodies/WordPairs/!WordPairs/!RunImage

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-1994-06-Disc1.adf » Disk1Jun94
Filename: !AWJune94/Goodies/WordPairs/!WordPairs/!RunImage
Read OK:
File size: 795A bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage (!WordPairs v4.00)
   20REM Brought to you by Archimedes World 1994
   30REM LEN Archimedes World 1994
   40REM Code amendments by Kevin J Swinton & G.Stanley
   50MODE 13+128
   60
   70 DIM kevs_font_data 8*224
   80 OSCLI "Load <WordPair$Dir>.WordFont " + STR$~kevs_font_data
   90 SYS "OS_Module",18,"TextFX" TO ,,,r3
  100 r3!&94 = kevs_font_data
  101 o = kevs_font_data : FOR i = 32 TO 255
  102 VDU23,i,?(o+0),?(o+1),?(o+2),?(o+3),?(o+4),?(o+5),?(o+6),?(o+7)
  103 o += 8 : NEXT
  110
  120ONERROR:savetab%=FALSE:GOTO150
  130file%=OPENOUT"<WordPair$Dir>.Dummy"
  140CLOSE#file%:OSCLI"Delete <WordPair$Dir>.Dummy":savetab%=TRUE
  150ONERROR:MODE0:OFF:REPORT:PRINT" at line ";ERL:MOUSESTEP4,4:END
  160PROCinit:*IF "<Tracker$>"="Yes" THEN PlayInit <WordPair$Dir>.Tune1
  170OSCLI"Hourglass Off":MOUSEON3:FORc%=15TO0STEP-1
  180MOUSECOLOUR1,(140/15)*c%,(80/15)*c%,0
  190MOUSECOLOUR2,(180/15)*c%,(120/15)*c%,0
  200MOUSECOLOUR3,(180/15)*c%,(180/15)*c%,(180/15)*c%
  210WAIT:NEXT:MOUSEOFF:MOUSETO640,512
  220OSCLI"FX112,2":CLS:CALLclear:SYS&36
  230MOUSESTEP2,2:PROCtitle:END
  240
  250DEFPROCloadsprites:LOCAL file%,rrom%
  260SYS"OS_File",5,"<WordPair$Dir>.Sprites" TO ,,,,room%
  270DIMspr% room%+32,scale% 16:!spr%=room%+32:spr%!4=0:spr%!8=16:spr%!12=16
  280SYS&2E,10+256,spr%,"<WordPair$Dir>.Sprites":ENDPROC
  290
  300DEFPROCcountwords:LOCALi%,file%:words%()=0:maxword%=0
  310FORi%=1TOwordfiles%
  320file%=OPENIN("<WordPair$Dir>.Words."+fname$(i%))
  330REPEAT:IF BGET#file%=10:words%(i%)+=1
  340UNTILEOF#file%:CLOSE#file%:IFwords%(i%)>maxword%:maxword%=words%(i%)
  350NEXT:ENDPROC
  360
  370DEFPROCloadwords:LOCAL file%,i%,j%,string$:maxword%=0
  380FORi%=1TOwordfiles%:IFwordfile$=fname$(i%):j%=i%
  390NEXT:file%=OPENIN("<WordPair$Dir>.Words."+wordfile$)
  400maxword%=words%(j%):FORi%=1TOmaxword%:string$=""
  410REPEAT:byte%=BGET#file%:IFbyte%<>10:string$+=CHR$byte%
  420UNTILbyte%=10:word$(i%)=LEFT$(string$+"     ",5):NEXT:CLOSE#file%
  430ENDPROC
  440
  450DEFPROCinit:LOCALline$,x%,y%:wordfile$="5LetterMix"
  460FORi%=32TO255:SYS"TextFX_CalculateWidth",i%:NEXT
  470SYS"TextFX_SetWidth",32,4 :OSCLI "FX20":REM Call to Mod
  480OSCLI"FX4,1":players%=1:comwords%=TRUE:wordtype%=1
  490skill%=1:tune%=1:SYS&40143 TO speak%:speak%=3-speak%
  500DIMblock% 64,fname$(25)
  510wordfiles%=FNreadfiles("<WordPair$Dir>.Words",&FFF)
  520DIMwords%(25):PROCcountwords:DIMword$(maxword%)
  530DIMscore%(2),tries%(2),tiles%(2),str%(8),grid%(10,5),name$(2),user$(2)
  540DIMdisplay$(2),high$(10),high%(10),grid2%(10,5),pic%(24),chosen%(8,3)
  550DIMshapes%(2),shapegrid%(4,4),changex%(2),changey%(2),shades% 8
  560DIMturnx%(25),turny%(25)
  570PROCloadsprites:PROCloadwords:PROCloadtable:PROCinitletters
  580PROCinittunes:PROCsetupscroll:PROCarmcode:shapew%=2:shapeh%=2
  590RESTORE630:FORy%=0TO4:READline$:FORx%=0TO4
  600shapegrid%(x%,y%)=VALMID$(line$,x%+1,1):NEXT:NEXT:ENDPROC
  610
  620REM Default bonus shape
  630DATA 11000
  640DATA 11000
  650DATA 00000
  660DATA 00000
  670DATA 00000
  680
  690DEFPROCinitgrid:grid%()=0:LOCALa%,b%,x%,y%,ma%,mb%,A%
  700A%=RND(-VALMID$(TIME$,23,2)):CASE skill% OF
  710WHEN1:ma%=4:mb%=12
  720WHEN2:ma%=6:mb%=8
  730WHEN3:ma%=8:mb%=6
  740WHEN4:ma%=12:mb%=4
  750WHEN5:ma%=24:mb%=2
  760ENDCASE:FORa%=1TOma%:FORb%=1TOmb%:REPEAT:x%=RND(10):y%=RND(5)
  770UNTILgrid%(x%,y%)=0:grid%(x%,y%)=pic%(a%):NEXT:NEXT:FORa%=1TO2:REPEAT
  780x%=RND(10):y%=RND(5):UNTILgrid%(x%,y%)=0:grid%(x%,y%)=25:NEXT
  790grid2%()=grid%():ENDPROC
  800
  810DEFPROCslab(x%,y%,w%,h%):GCOL42TINT0:RECTANGLEFILLx%,y%,w%,h%
  820GCOL63TINT0:MOVEx%,y%+h%:MOVEx%+8,y%+h%-8:PLOT85,x%+w%,y%+h%
  830PLOT85,x%+w%-8,y%+h%-8:GCOL42TINT128:MOVEx%,y%+h%:MOVEx%+8,y%+h%-8
  840PLOT85,x%,y%:PLOT85,x%+8,y%+8:GCOL21TINT0:MOVEx%,y%:MOVEx%+8,y%+8
  850PLOT85,x%+w%,y%:PLOT85,x%+w%-8,y%+8:GCOL21TINT128:MOVEx%+w%,y%
  860MOVEx%+w%-8,y%+8:PLOT85,x%+w%,y%+h%:PLOT85,x%+w%-8,y%+h%-8:ENDPROC
  870
  880DEFPROCboard:CLS:FORx%=0TO9:FORy%=0TO4
  890SYS&2E,34+256,spr%,"grid-slab",x%*128,y%*128+192,0:NEXT:NEXT
  900PROCgametitle
  910PROCscores:ENDPROC
  920
  930DEFPROCgametitle
  940SYS&2E,34+256,spr%,"gametitle",0,896,0
  950PROCslab(640,896,636,124)
  960SYS&2E,34+256,spr%,"pinkblock",656,920
  970SYS&2E,34+256,spr%,"pinkblock",656,968
  980PROCtext("Press ESCAPE for menu",175,18,8)
  990IFtunes%=0 THEN
 1000PROCtext("Recoded By Kev & Graham",175,6,8)
 1010ELSE
 1020PROCtext("Press 0-"+STR$tunes%+" for new tune",175,6,8)
 1030ENDIF
 1040PROCscores:ENDPROC
 1050
 1060DEFPROCscores:PROCslab(0,0,636,188):PROCtext(name$(1),16,213,1)
 1070SYS&2E,34+256,spr%,"player1-"+STR$(-(current%=1)),16,16,8
 1080PROCtext("Score...",16,224,1):PROCtext(STR$score%(1),1152,224,1)
 1090PROCtext("Shapes...",16,234,1):PROCtext(STR$shapes%(1),1152,234,1)
 1100PROCtext("Tries...",16,244,1):PROCtext(STR$tries%(1),1152,244,1)
 1110PROCtext(CHR$252,144,213,1)
 1120PROCslab(640,0,636,188)
 1130IFplayers%=2 THEN
 1140PROCtext(name$(2),176,213,4)
 1150SYS&2E,34+256,spr%,"player2-"+STR$(-(current%=2)),656,16,8
 1160PROCtext("Score...",176,224,4):PROCtext(STR$score%(2),1312,224,4)
 1170PROCtext("Shapes...",176,234,4):PROCtext(STR$shapes%(2),1312,234,4)
 1180PROCtext("Tries...",176,244,4):PROCtext(STR$tries%(2),1312,244,4)
 1190PROCtext(CHR$252,304,213,4)
 1200ELSE
 1210PROCtext("Game Info:",-3,213,1)
 1220PROCtext("Word type...",168,224,7)
 1230PROCtext("Skill level...",168,234,7)
 1240PROCtext("Tiles left...",168,244,7)
 1250CASE wordtype% OF
 1260WHEN 1:PROCtext("Scrambled",1312,224,7)
 1270WHEN 2:PROCtext("Normal",1312,224,7)
 1280ENDCASE
 1290CASE skill% OF
 1300WHEN 1:skill$="Mega Easy"
 1310WHEN 2:skill$="Very Easy"
 1320WHEN 3:skill$="Simple"
 1330WHEN 4:skill$="Tuff (ish)"
 1340WHEN 5:skill$="Mega Tuff"
 1350ENDCASE
 1360PROCtext(skill$,1312,234,7)
 1370PROCtext(STR$left%,1312,244,7)
 1380ENDIF:ENDPROC
 1390
 1400DEFPROCscale(t$,x%,y%,x1%,y1%):LOCALw%,h%:!scale%=x1%-x%:scale%!4=y1%-y%
 1410SYS&2E,40+256,spr%,t$ TO ,,,w%,h%:scale%!8=w%*4:scale%!12=h%*4
 1420SYS&2E,52+256,spr%,t$,x%,y%,0,scale%,-1:ENDPROC
 1430
 1440DEFPROCreveal(x%,y%):GCOL0TINT0:FORi%=64TO0STEP-8
 1450PROCscale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
 1460WAIT:LINEx%*128-128,y%*128+124+i%,x%*128-4,y%*128+124+i%
 1470LINEx%*128-128,y%*128+124+i%-4,x%*128-4,y%*128+124+i%-4
 1480LINEx%*128-128,y%*128+128-i%,x%*128-4,y%*128+128-i%
 1490LINEx%*128-128,y%*128+128-i%+4,x%*128-4,y%*128+128-i%+4:NEXT
 1500tile$="picture-"+STR$grid%(x%,y%):IFtile$="picture-25":tile$="wild-card"
 1510FORi%=0TO64STEP8:WAIT
 1520PROCscale(tile$,x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%):NEXT
 1530ENDPROC
 1540
 1550DEFPROCclose(x%,y%):tile$="picture-"+STR$grid%(x%,y%)
 1560IFtile$="picture-25":tile$="wild-card"
 1570GCOL0TINT0:FORi%=64TO0STEP-8
 1580PROCscale(tile$,x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%):WAIT
 1590LINEx%*128-128,y%*128+124+i%,x%*128-4,y%*128+124+i%
 1600LINEx%*128-128,y%*128+120+i%,x%*128-4,y%*128+120+i%
 1610LINEx%*128-128,y%*128+128-i%,x%*128-4,y%*128+128-i%
 1620LINEx%*128-128,y%*128+132-i%,x%*128-4,y%*128+132-i%:NEXT
 1630FORi%=0TO64STEP8:WAIT
 1640PROCscale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
 1650NEXT:ENDPROC
 1660
 1670DEFPROCgot(number%):LOCAL i%,tile$,got$,x%,y%:left%-=number%
 1680GCOL0TINT0:FORi%=4TO64STEP4:WAIT:FORj%=1TOnumber%
 1690x%=changex%(j%-1):y%=changey%(j%-1)
 1700tile$="picture-"+STR$grid%(x%,y%):IFtile$="picture-25":tile$="wild-card"
 1710PROCscale(tile$,x%*128-128+i%,y%*128+64+i%,x%*128-i%,y%*128+192-i%)
 1720RECTANGLEx%*128-132+i%,y%*128+60+i%,132-i%*2,132-i%*2
 1730NEXT:NEXT:got$="got-slab"+STR$current%
 1740FORi%=64TO0STEP-4:WAIT:FORj%=1TOnumber%
 1750x%=changex%(j%-1):y%=changey%(j%-1)
 1760PROCscale(got$,x%*128-128+i%,y%*128+64+i%,x%*128-i%,y%*128+192-i%)
 1770NEXT:NEXT:FORi%=0TOnumber%-1:grid%(changex%(i%),changey%(i%))=25+current%
 1780NEXT:ENDPROC
 1790
 1800DEFPROCturnover(number%):LOCALi%,j%:got$="got-shape"+STR$current%
 1810FORi%=1TOnumber%:grid%(turnx%(i%),turny%(i%))=28:NEXT
 1820GCOL0TINT0:FORi%=0TO128STEP4
 1830WAIT:FORj%=1TOnumber%:x%=turnx%(j%):y%=turny%(j%)
 1840IFi%<68 THEN
 1850RECTANGLEx%*128-64-i%,y%*128+128-i%,2*i%-4,2*i%-4
 1860ELSE
 1870k%=i%-64
 1880PROCscale(got$,x%*128-64-k%,y%*128+128-k%,x%*128-64+k%,y%*128+128+k%)
 1890ENDIF
 1900NEXT:NEXT:ENDPROC
 1910
 1920DEFPROCgame:PROCmouseoff:OSCLI"FX112,2":score%()=0:tries%()=0
 1930shapes%()=0:current%=1:left%=50:ONERRORIFERR=17:PROCtitle:ELSE:PROCend
 1940PROCboard:MOUSERECTANGLE0,192,1279,636:gotit%=FALSE:OSCLI"FX112,1"
 1950CALLclear:VDU19,0,24,0,0,0:PROCptr(1):REPEAT:PROCnb
 1960MOUSECOLOUR1,240,0,0:MOUSECOLOUR3,160,0,0:col%=1
 1970IFcurrent%=2:MOUSECOLOUR1,0,0,240:MOUSECOLOUR3,0,0,160:col%=4
 1980PROCslab(0,832,1276,60):tries%(current%)+=1
 1990PROCtext(name$(current%)+": please choose first square",-1,36,col%)
 2000REPEAT:REPEAT:MOUSE xx%,yy%,button%:j%=INKEY(0)
 2010IFj%>47ANDj%<53:tune%=j%-48:PROCloadtune
 2020UNTILbutton%:xx%=xx%DIV4*4:yy%=yy%DIV4*4:hf%=xx%/128+1
 2030vf%=(yy%-192)/128+1:UNTILgrid%(hf%,vf%)<26:PROCreveal(hf%,vf%)
 2040PROCslab(0,832,1276,60)
 2050PROCtext(name$(current%)+": please choose second square",-1,36,col%)
 2060REPEAT:REPEAT:MOUSE xx%,yy%,button%:j%=INKEY(0)
 2070IFj%>47ANDj%<53:tune%=j%-48:PROCloadtune
 2080UNTILbutton%:xx%=xx%DIV4*4:yy%=yy%DIV4*4:hs%=xx%/128+1:vs%=(yy%-192)/128+1
 2090UNTILgrid%(hs%,vs%)<26 AND NOT(hs%=hf% AND vs%=vf%)
 2100PROCreveal(hs%,vs%):wild%=FALSE
 2110IF(grid%(hf%,vf%)=25ORgrid%(hs%,vs%)=25)AND(grid%(hf%,vf%)<>grid%(hs%,vs%))THEN
 2120wild%=TRUE:PROCslab(0,832,1276,60)
 2130PROCtext("You've found a wild card!",-1,36,col%)
 2140scx%=hf%:scy%=vf%:IFgrid%(hf%,vf%)=25:scx%=hs%:scy%=vs%
 2150found%=FALSE:PROCw(80):FORsx%=1TO10:FORsy%=1TO5
 2160IFgrid%(sx%,sy%)=grid%(scx%,scy%) AND NOT(scx%=sx% AND scy%=sy%) AND found%=FALSE:PROCreveal(sx%,sy%):wx%=sx%:wy%=sy%:found%=TRUE
 2170NEXT:NEXT
 2180ENDIF:IF wild% OR grid%(hs%,vs%)=grid%(hf%,vf%) THEN
 2190PROCptr(3):PROCslab(0,832,1276,60)
 2200PROCtext("Well done "+name$(current%)+"! A matching pair!",-1,36,col%)
 2210score%(current%)+=1:PROCw(80):number%=2
 2220IFwild%:number%=3:changex%(2)=wx%:changey%(2)=wy%
 2230changex%(0)=hs%:changey%(0)=vs%:changex%(1)=hf%:changey%(1)=vf%
 2240PROCgot(number%):PROCcheckshape
 2250PROCptr(1):PROCscores:tiles%(current%)+=2:IFwild%:tiles%(current%)+=1
 2260IFplayers%=2:PROCguessword(current%):ELSE:PROCguessword(1)
 2270ELSE:PROCw(80):PROCclose(hs%,vs%):PROCclose(hf%,vf%)
 2280IFplayers%=2:current%=3-current%
 2290PROCscores
 2300ENDIF:UNTILleft%<4 OR gotit%
 2310IFgotit% THEN
 2320PROCmouseoff
 2330percentage%=tiles%(current%)*(100/(tiles%(current%)+tiles%(3-current%)))
 2340bonus%=((3-wordtype%)*skill%*percentage%*left%)DIV50
 2350score%(current%)+=bonus%
 2360OSCLI"FX112,2":PROCscores:OSCLI"FX112,1":PROCscores
 2370ENDIF:PROCcongrats:ENDPROC
 2380
 2390DEFPROCw(i%):j%=INKEY(i%):ENDPROC
 2400
 2410DEFPROCguessword(pl%):PROCmouseoff:OSCLI"FX112,2":CLS
 2420PROCgametitle
 2430PROCscores:PROCshowword(pl%):PROCslab(0,832,1276,60)
 2440OSCLI"FX15":tc%=1:OSCLI"FX15":IFcurrent%=2:tc%=4
 2450PROCtext("What's the word? Enter guess:           ",-1,36,tc%)
 2460OSCLI"FX112,1":CALLclear:guess$=LEFT$((FNgetstring("What's the word? Enter guess: ",36,tc%,5,"U",10))+"     ",5)
 2470IFguess$=user$(pl%):gotit%=TRUE:ELSE:IFguess$<>"     "ANDa%=13:PROCslab(0,832,1276,60):PROCtext("Sorry! That's not it.",-1,36,8)
 2480PROCw(80):IFNOTgotit%:CALLclear
 2490ENDPROC
 2500
 2510DEF FNgetstring(text$,y%,col%,len%,allow$,time%):LOCALxx%,yy%,ip$,caps%
 2520ls%=FNwidth(text$)
 2530xx%=160-ls%/2-4*len%:yy%=1020-y%*4:ip$="":delay%=TIME
 2540PROCtext(text$,xx%,y%,col%):PROCds:caps%=TRUE
 2550IFtime%>0:MOUSEON1
 2560REPEAT:REPEAT:a%=INKEY(0)
 2570IFtime%=0:delay%=TIME+100
 2580IFtime%>0:SYS&2E,36+256,spr%,"ptr_count"+STR$(10-(TIME-delay%)DIV100),1
 2590UNTILa%>0ORTIME>=delay%+time%*100
 2600IFa%=127 AND LEN(ip$)>0 THEN
 2610ip$=LEFT$(ip$,LENip$-1):PROCds:IFcaps%=TRUE:caps%=FALSE
 2620IFRIGHT$(ip$,1)=" "ORip$="":caps%=TRUE
 2630ENDIF:IF LEN(ip$)<len% THEN
 2640CASE allow$ OF
 2650WHEN "U"
 2660IFa%>96 AND a%<123:ip$+=CHR$(a%-32):PROCds
 2670IFa%>64 AND a%<91:ip$+=CHR$(a%):PROCds
 2680WHEN "A"
 2690IFcaps% THEN
 2700IFa%>96 AND a%<123:ip$+=CHR$(a%-32):PROCds:caps%=FALSE
 2710IFa%>64 AND a%<91:ip$+=CHR$(a%):PROCds:caps%=FALSE
 2720ELSE:IFa%=32:caps%=TRUE:ip$+=CHR$(a%):PROCds
 2730IFa%>96 AND a%<123:ip$+=CHR$(a%):PROCds
 2740IFa%>64 AND a%<91:ip$+=CHR$(a%+32):PROCds
 2750ENDIF
 2760WHEN "YN"
 2770IF (a%=89 OR a%=121) AND LENip$=0:ip$+="Y":PROCds
 2780IF (a%=78 OR a%=110) AND LENip$=0:ip$+="N":PROCds
 2790IF (a%=69 OR a%=101) AND LENip$=1 AND LEFT$(ip$,1)="Y":ip$+="e":PROCds
 2800IF (a%=79 OR a%=110) AND LENip$=1 AND LEFT$(ip$,1)="N":ip$+="o":PROCds
 2810IF (a%=83 OR a%=115) AND LENip$=2 AND LEFT$(ip$,1)="Y":ip$+="s":PROCds
 2820ENDCASE
 2830ENDIF
 2840IFtime%>0:SYS&2E,36+256,spr%,"ptr_count"+STR$(10-(TIME-delay%)DIV100),1
 2850UNTILa%=13 OR TIME>=delay%+time%*100
 2860GCOL42TINT0:RECTANGLEFILLxx%*4+ls%*4-4,yy%-32,len%*32+32,36
 2870PROCtext(ip$,xx%+ls%,y%,col%):IFtime%>0:PROCptr(1)
 2880IFallow$="YN":=LEFT$(ip$,1)
 2890=ip$
 2900
 2910DEFPROCds:GCOL42TINT0:RECTANGLEFILLxx%*4+ls%*4-4,yy%-32,len%*36+32,36
 2920PROCtext(ip$,xx%+ls%,y%,col%)
 2930PROCtext("_",xx%+ls%+FNwidth(ip$),y%,7):ENDPROC
 2940REM Procedure For Text width call to Module.
 2950DEFFNwidth(text$):IFtext$="":=0
 2960LOCALlen%,i%,w%:len%=0:FORi%=1TOLENtext$
 2970SYS"TextFX_GetWidth",ASCMID$(text$,i%,1) TO w%:len%+=w%:NEXT:=len%
 2980
 2990DEFPROCgetnames:ONERRORIFERR=17:PROCtitle:ELSE:PROCend
 3000PROCslab(0,0,1276,136):LOCALn$:PROCmouseoff:*FX15
 3010name$(1)=FNgetstring("Player one, please enter name: ",226,1,11,"A",0):*FX15
 3020IFplayers%=2:name$(2)=FNgetstring("Player two, please enter name: ",243,4,11,"A",0)
 3030IFname$(1)="":name$(1)="Player One"
 3040IFname$(2)="":name$(2)="Player Two"
 3050IFcomwords% THEN
 3060A%=RND(-VALMID$(TIME$,23,2)):user$(1)=word$(RND(maxword%))
 3070IFplayers%=2:REPEAT:A%=RND(-VALMID$(TIME$,23,2)):user$(2)=word$(RND(maxword%)):UNTILuser$(1)<>user$(2)
 3080ELSE
 3090REPEAT
 3100REPEAT:yn$="Y":PROCslab(0,0,1276,136)
 3110PROCtext(name$(1)+", please enter your word.",-1,226,1):*FX15
 3120user$(2)=FNgetstring(name$(2)+" look away. Word is: ",243,1,5,"U",0)
 3130IFLENuser$(2)<5 THEN
 3140PROCslab(0,0,1276,136):*FX15
 3150yn$=FNgetstring("Are you sure that's right? ",234,1,3,"YN",0)
 3160ENDIF:user$(2)=LEFT$(user$(2)+"     ",5)
 3170UNTILyn$="Y"
 3180IFNOTFNiswordgood(user$(2)) THEN
 3190PROCslab(0,0,1276,136):PROCtext("That's a silly word!",-1,234,1)
 3200I%=INKEY(500)
 3210ENDIF
 3220UNTILFNiswordgood(user$(2))
 3230REPEAT
 3240REPEAT:yn$="Y":PROCslab(0,0,1276,136)
 3250PROCtext(name$(2)+", please enter your word.",-1,226,4):*FX15
 3260user$(1)=FNgetstring(name$(1)+" look away. Word is: ",243,4,5,"U",0)
 3270IFLENuser$(1)<5 THEN
 3280PROCslab(0,0,1276,136):*FX15
 3290yn$=FNgetstring("Are you sure that's right? ",234,4,3,"YN",0)
 3300ENDIF:user$(1)=LEFT$(user$(1)+"     ",5)
 3310UNTILyn$="Y"
 3320IFNOTFNiswordgood(user$(1)) THEN
 3330PROCslab(0,0,1276,136):PROCtext("That's a silly word!",-1,234,4)
 3340I%=INKEY(500)
 3350ENDIF
 3360UNTILFNiswordgood(user$(1))
 3370ENDIF:display$(1)=user$(1):display$(2)=user$(2)
 3380IFwordtype%=1 THEN
 3390display$(1)=FNscramble(user$(1))
 3400IFplayers%=2:display$(2)=FNscramble(user$(2))
 3410ENDIF:FORi%=1TO24:pic%(i%)=i%:NEXT
 3420IFskill%<5 THEN
 3430PROCslab(0,0,1276,136)
 3440yn$=FNgetstring("Would you like to choose your own pictures? ",234,5,3,"YN",0)
 3450IFyn$="Y" THEN PROCchoosepics
 3460ENDIF
 3470PROCchooseshape:ENDPROC
 3480
 3490DEF FNiswordgood(word$):lastchar%=0:numsame%=0:FORI%=1TO5
 3500char%=ASCMID$(word$,I%,1):IFchar%=lastchar%:numsame%+=1
 3510lastchar%=char%:NEXT:IFnumsame%<4:=TRUE
 3520=FALSE
 3530
 3540DEFPROCht(n%):LOCAL c%,v%:CASE n% OF
 3550WHEN1:IFplayers%=1 THEN
 3560PROCtext("One Player Game",-3,39,2)
 3570PROCtext("Two Player Game",-3,50,11)
 3580ELSE:PROCtext("One Player Game",-3,39,11)
 3590PROCtext("Two Player Game",-3,50,2)
 3600ENDIF
 3610WHEN2:IFcomwords%=TRUE THEN
 3620PROCtext("Computer Words",-3,84,2)
 3630PROCtext("User Words",-3,95,11)
 3640ELSE:PROCtext("Computer Words",-3,84,11)
 3650PROCtext("User Words",-3,95,2)
 3660ENDIF
 3670WHEN3:IFwordtype%=1 THEN
 3680PROCtext("Scrambled Words",-3,106,2)
 3690PROCtext("Normal Words",-3,117,11)
 3700ELSE:PROCtext("Scrambled Words",-3,106,11)
 3710PROCtext("Normal Words",-3,117,2)
 3720ENDIF
 3730WHEN4:FORv%=1TO5:c%=11:IFskill%=v%:c%=2
 3740CASE v% OF
 3750WHEN1:PROCtext("Mega Easy",-3,182,c%)
 3760WHEN2:PROCtext("Very Easy",-3,193,c%)
 3770WHEN3:PROCtext("Simple",-3,204,c%)
 3780WHEN4:PROCtext("Tuff (ish)",-3,215,c%)
 3790WHEN5:PROCtext("Mega Tuff",-3,226,c%)
 3800ENDCASE:NEXT
 3810ENDCASE:ENDPROC
 3820
 3830DEFFNscramble(scr$):LOCALfinal$:scr$=LEFT$(scr$+"     ",5):REPEAT
 3840final$="     ":FORi%=1TO5:REPEAT:x%=RND(5)
 3850UNTILMID$(final$,x%,1)=" ":MID$(final$,x%,1)=MID$(scr$,i%,1):NEXT
 3860UNTILfinal$<>scr$:=FNrspace(final$)
 3870
 3880DEFPROCnb:LOCALx%,y%,z%:MOUSESTEP0,0:REPEAT:MOUSEx%,y%,z%:UNTILz%=0
 3890MOUSESTEP2,2:ENDPROC
 3900
 3910DEFPROCloadtable:file%=OPENIN("<WordPair$Dir>.HighScores")
 3920FORname%=1TO10:INPUT#file%,high$(name%),high%(name%):NEXT:CLOSE#file%
 3930ENDPROC
 3940
 3950DEFPROCsavetable:IFNOTsavetab%:ENDPROC
 3960file%=OPENOUT("<WordPair$Dir>.HighScores")
 3970FORname%=1TO10:PRINT#file%,high$(name%),high%(name%):NEXT:CLOSE#file%
 3980ENDPROC
 3990
 4000DEFPROCnewwords:LOCAL xx%,yy%,button%,time%,print$,oldfile%,newfile%,n$
 4010PROCslab(0,820,636,64):PROCtext("Load Words:",-2,39,6)
 4020PROCslab(0,140,636,676):MOUSERECTANGLE0,140,636,676
 4030FORi%=1TOwordfiles%
 4040PROCtext(fname$(i%),8,45+i%*11,11)
 4050PROCtext("("+STR$words%(i%)+")",1152-8*LENn$,45+i%*11,11)
 4060NEXT:MOUSExx%,yy%,button%:xx%=xx%DIV4*4:yy%=yy%DIV4*4
 4070of%=(806-yy%)/44+1:IFof%>wordfiles%:of%=wordfiles%
 4080IFof%<1:of%=1
 4090GCOL21TINT64:RECTANGLEFILL12,848-of%*44,612,-40
 4100PROCtext(fname$(of%),8,45+of%*11,2)
 4110PROCtext("("+STR$words%(of%)+")",1152,45+of%*11,2)
 4120PROCnb:REPEAT:MOUSExx%,yy%,button%:PROCscroll
 4130newfile%=(806-yy%)/44+1:IFnewfile%>wordfiles%:newfile%=wordfiles%
 4140IFnewfile%<1:newfile%=1
 4150IFnewfile%<>of% THEN
 4160GCOL42TINT0:RECTANGLEFILL12,848-of%*44,612,-40
 4170PROCtext(fname$(of%),8,45+of%*11,11)
 4180PROCtext("("+STR$words%(of%)+")",1152,45+of%*11,11)
 4190of%=newfile%
 4200GCOL21TINT64:RECTANGLEFILL12,848-of%*44,612,-40
 4210PROCtext(fname$(of%),8,45+of%*11,2)
 4220PROCtext("("+STR$words%(of%)+")",1152,45+of%*11,2)
 4230ENDIF
 4240UNTILbutton%
 4250wordfile$=fname$(newfile%):PROCloadwords
 4260GCOL42TINT0:RECTANGLEFILL652,456,612,40
 4270PROCtext("File: '"+wordfile$+"`",-3,133,6)
 4280PROCslab(0,820,636,64):PROCtext("High Scores:",-2,39,6)
 4290PROCslab(0,140,636,676)
 4300FORtime%=1TO10
 4310IFup1%<>time% AND up2%<>time% THEN
 4320PROCtext(high$(time%),8,39+time%*17,6)
 4330PROCtext(STR$high%(time%),1152,39+time%*17,6)
 4340ELSE
 4350PROCtext(high$(time%),8,39+time%*17,7)
 4360PROCtext(STR$high%(time%),1152,39+time%*17,7)
 4370ENDIF:NEXT:MOUSERECTANGLE0,0,1276,1020:ENDPROC
 4380
 4390DEFPROCtitle:up%=0:up1%=0:up2%=0:scrx%=32:scrstx%=0:sccol%=63
 4400VDU19,0,24,0,0,0:COLOUR128TINT0:paused%=FALSE:flash%=FALSE:scrstep%=4
 4410OSCLI"FX113,1":OSCLI"FX112,1":ONERRORIFERR=17:PROCesc:ELSE:PROCend
 4420PROCmouseoff:IFscore%(1)>high%(10):PROCenter(1):up1%=up%
 4430IFscore%(2)>high%(10):PROCenter(2):up2%=up%
 4440score%()=0:MOUSERECTANGLE0,0,1276,1020:OSCLI"FX112,2":CLS
 4450WAIT:OSCLI"FX113,1"
 4460SYS&2E,34+256,spr%,"menutitle",0,888,0
 4470SYS&2E,16+256,spr%,"scrback",0,20,20,1260,48
 4480PROCslab(0,820,636,64):PROCtext("High Scores:",-2,39,6)
 4490PROCslab(0,72,636,64):PROCtext("Start Game",-2,226,3)
 4500PROCslab(0,140,636,676):clickstart%=FALSE:PROCslab(640,888,636,64)
 4510PROCslab(640,956,636,64):PROCslab(0,0,1276,68):GCOL0
 4520RECTANGLEFILL16,16,1244,36
 4530IFtunes%>0 THEN
 4540PROCtext("Tune:",200,5,6):PROCtune(tune%)
 4550ELSE
 4560PROCtext("by Kev & Graham",-3,5,6)
 4570ENDIF:PROCoutput:PROCslab(640,888,636,64):PROCslab(640,776,636,108)
 4580PROCslab(640,708,636,64):PROCtext("Words:",-3,67,6)
 4590PROCslab(640,384,636,320)
 4600PROCtext("File: '"+wordfile$+"`",-3,133,6)
 4610PROCtext("Load New Words",-3,148,3)
 4620PROCslab(640,316,636,64):PROCslab(640,72,636,240)
 4630PROCtext("Players:",-3,22,6):PROCtext("Skill Level:",-3,165,6)
 4640FORtime%=1TO10
 4650IFup1%<>time% AND up2%<>time% THEN
 4660PROCtext(high$(time%),8,39+time%*17,6)
 4670PROCtext(STR$high%(time%),1152,39+time%*17,6)
 4680ELSE
 4690PROCtext(high$(time%),8,39+time%*17,7)
 4700PROCtext(STR$high%(time%),1152,39+time%*17,7)
 4710ENDIF:NEXT:FORi%=1TO4:PROCht(i%):NEXT:PROCptr(1)
 4720MOUSECOLOUR1,120,0,240:MOUSECOLOUR3,80,0,160:WAIT:OSCLI"FX112,1":CALLclear
 4730REPEAT:REPEAT:MOUSExx%,yy%,button%:PROCscroll:UNTILbutton%:xx%=xx%DIV4*4
 4740yy%=yy%DIV4*4:IF xx%>636 THEN
 4750IF yy%<=872 AND yy%>=832 AND comwords%:players%=1:PROCht(1)
 4760IF yy%<=828 AND yy%>=788:players%=2:PROCht(1)
 4770IF yy%<=692 AND yy%>=652:comwords%=TRUE:PROCht(2)
 4780IF yy%<=648 AND yy%>=608 AND players%=2:comwords%=FALSE:PROCht(2)
 4790IF yy%<=604 AND yy%>=564:wordtype%=1:PROCht(3)
 4800IF yy%<=560 AND yy%>=520:wordtype%=2:PROCht(3)
 4810IF yy%<=436 AND yy%>=396:PROCnewwords
 4820IF yy%<=300 AND yy%>=260:skill%=1:PROCht(4)
 4830IF yy%<=256 AND yy%>=216:skill%=2:PROCht(4)
 4840IF yy%<=212 AND yy%>=172:skill%=3:PROCht(4)
 4850IF yy%<=168 AND yy%>=128:skill%=4:PROCht(4)
 4860IF yy%<=124 AND yy%>=84:skill%=5:PROCht(4)
 4870ELSE:IFyy%<=124ANDyy%>=84:clickstart%=TRUE
 4880ENDIF:IFyy%<=1004ANDyy%>=972 THEN
 4890IF xx%>954 AND xx%<1116:t%=(xx%-954)/32:IFtunes%>0 AND t%<=tunes%:PROCtune(t%)
 4900IF xx%>1180AND xx%<1216:speak%=3-speak%:PROCoutput
 4910ENDIF:PROCnb:UNTILclickstart%:PROCgetnames:PROCinitgrid:PROCgame
 4920ENDPROC
 4930
 4940DEFPROCsmid(sp$,sy%,gc%):LOCALw%:SYS &2E,40+256,spr%,sp$ TO ,,,w%
 4950SYS &2E,34+256,spr%,sp$,(1276-w%*4)/2,sy%,gc%:ENDPROC
 4960
 4970DEFPROCcongrats:OSCLI"FX112,2":PROCslab(0,832,1276,60):IFgotit% THEN
 4980CASE current% OF
 4990WHEN1:PROCtext("Well done "+name$(1)+"! (Bonus "+STR$bonus%+")",-1,36,1)
 5000WHEN2:PROCtext("Well done "+name$(2)+"! (Bonus "+STR$bonus%+")",-1,36,4)
 5010ENDCASE:OSCLI"FX112,1":FORi%=316TO0STEP-4
 5020PROCscale("wow!",i%,192+i%,1280-i%,832-i%):NEXT:i%=INKEY(200)
 5030OSCLI"FX112,2"
 5040ELSE:PROCtext("Tough buns! You didn't get it.",-1,36,7)
 5050ENDIF:FORx%=0TO9:FORy%=0TO4:tile$="picture-"+STR$grid2%(x%+1,y%+1)
 5060IFtile$="picture-25":tile$="wild-card"
 5070SYS&2E,34+256,spr%,tile$,x%*128,y%*128+192,0
 5080NEXT:NEXT:CALLclear:CLS
 5090PROCgametitle
 5100PROCscores:OSCLI"FX113,1":MOUSECOLOUR1,120,0,240:MOUSECOLOUR3,80,0,160
 5110PROCptr(4):PROCmouseon
 5120REPEAT:OSCLI"FX112,2":GCOL0TINT0:RECTANGLEFILL0,192,1276,636
 5130PROCprintword(display$(current%)):PROCslab(0,832,1276,60)
 5140IFplayers%=2 THEN
 5150CASE current% OF
 5160WHEN1:PROCtext(name$(1)+"'s word to guess was",-1,36,1)
 5170WHEN2:PROCtext(name$(2)+"'s word to guess was",-1,36,4)
 5180ENDCASE
 5190ELSE:PROCtext("Your word to guess was",-1,36,1)
 5200ENDIF:i%=INKEY(380):CALLclear:OSCLI"FX112,1":CASE wordtype% OF
 5210WHEN2:i%=INKEY(400)
 5220WHEN1:i%=INKEY(200)
 5230PROCprintword(user$(current%)):i%=INKEY(300)
 5240ENDCASE:IFplayers%=2:current%=3-current%
 5250CALLclear:UNTIL0:ENDPROC
 5260
 5270DEFPROCend:OSCLI"FX113,1":OSCLI"FX112,2":VDU4:COLOUR128TINT0
 5280OSCLI"FX13,4":COLOUR128:CLS:CALLclear
 5290IFERR=17 THEN
 5300*IF "<Tracker$>"="Yes" THEN RMKILL TrackerModule
 5310OSCLI"Unset Tracker$"
 5320OSCLI"RMKILL AnimatedHourglass"
 5330OSCLI"RMKILL TextFX":*Alphabet Latin1
 5340OSCLI"Desktop"
 5350ENDIF
 5360WAIT:MODE0:OSCLI"FX4":REPORT:PRINT" at line ";ERL:END
 5370
 5380DEFPROCenter(n%):FORi%=10TO1STEP-1:IFscore%(n%)>high%(i%):up%=i%
 5390NEXT:IFup%<10 THEN
 5400FORi%=10TOup%STEP-1:high%(i%)=high%(i%-1):high$(i%)=high$(i%-1):NEXT
 5410ENDIF:PROCslab(0,832,1276,60):PROCins(name$(n%))
 5420high$(up%)=FNgetstring("Player "+STR$n%+" enter name: ",36,5,14,"A",0)
 5430high%(up%)=score%(n%):PROCsavetable:ENDPROC
 5440
 5450DEFPROCins(ins$):FORi%=1TOLENins$
 5460OSCLI("FX138,0,"+STR$ASCMID$(ins$,i%,1)):NEXT:ENDPROC
 5470
 5480DEFPROCinittunes
 5490tunes%=0
 5500SYS"OS_File",5,"<WordPair$Dir>.Tune1" TO e%:IF e%:tunes%=1
 5510SYS"OS_File",5,"<WordPair$Dir>.Tune2" TO e%:IF e%:tunes%=2
 5520SYS"OS_File",5,"<WordPair$Dir>.Tune3" TO e%:IF e%:tunes%=3
 5530SYS"OS_File",5,"<WordPair$Dir>.Tune4" TO e%:IF e%:tunes%=4
 5540tuneloaded%=1
 5550ENDPROC
 5560
 5570DEFPROCtune(j%):IFtunes%=0:ENDPROC
 5580PROCtext("�"+LEFT$("����",tunes%),240,5,11)
 5590PROCtext(CHR$(247+j%),240+8*j%,5,2):tune%=j%:PROCloadtune:ENDPROC
 5600
 5610DEFPROCloadtune:IFtuneloaded%=tune%:ENDPROC
 5620IFtune%>tunes%:ENDPROC
 5630IFtune%=0:OSCLI"PlayKill":tuneloaded%=0:ENDPROC
 5640PROCptr(2):OSCLI"FX200,3":OSCLI("PlayInit <WordPair$Dir>.Tune"+STR$tune%)
 5650OSCLI"FX200":tuneloaded%=tune%:PROCptr(1):ENDPROC
 5660
 5670DEFPROCoutput:IFspeak%=1 THEN
 5680OSCLI"Speaker On":PROCtext("�",296,5,2)
 5690ELSE
 5700OSCLI"Speaker Off":PROCtext("�",296,5,11)
 5710ENDIF:ENDPROC
 5720
 5730DEF FNrspace(right$):LOCALfinal$:final$=""
 5740FORi%=1TOLENright$:IFMID$(right$,i%,1)<>" ":final$+=MID$(right$,i%,1)
 5750NEXT:final$=LEFT$(final$+"     ",5):=final$
 5760
 5770DEFPROCesc:PROCmouseoff:OSCLI"FX4":clear%=FALSE
 5780IFINKEY(-1)ANDINKEY(-2):clear%=TRUE
 5790OSCLI"Set Dummy Yes"
 5800OSCLI"RMEnsure TrackerModule 000 Set Dummy No"
 5810OSCLI("If Dummy="+CHR$34+"Yes"+CHR$34+" THEN PlayKill")
 5820OSCLI"Unset Dummy"
 5830IFNOTclear%:PROCend
 5840OSCLI"FX113,1"
 5850OSCLI"FX112,2":VDU4:COLOUR170TINT0:CLS:CALLclear:VDU19,0,24,130,130,130
 5860OSCLI"FX112,2":OSCLI"FX113,2":VDU4:COLOUR170TINT0:CLS:VDU5
 5870IFFNgetstring("Clear high-scores. Are you sure? ",124,5,3,"YN",0)="Y" THEN
 5880high%()=0:high$()="":PROCsavetable
 5890OSCLI"FX112,1":COLOUR170TINT0:CLS
 5900PROCtext("High score table is now empty.",-1,124,7):CALLclear
 5910I%=INKEY(500)
 5920ENDIF:PROCend:ENDPROC
 5930
 5940DEFPROCscroll:IFscrstx%=scrollmax%:scrstx%=1
 5950IFNOTflash%:SYS&2E,34+256,spr%,"scrback",16,20,0
 5960VDU5,24,26;12;1260;52;
 5970GCOL0TINT0:WAIT:MOVEscrx%+1232-scrstep%,48:PRINT"�"
 5980IF CHR$(scrolladdr%?(scrstx%-1))="\" THEN
 5990sccol%=VAL(CHR$(scrolladdr%?(scrstx%))+CHR$(scrolladdr%?(scrstx%+1)))
 6000scrstx%+=3
 6010ENDIF:IF CHR$(scrolladdr%?(scrstx%-1))="|" THEN
 6020paused%=TRUE:endtime%=VALCHR$(scrolladdr%?(scrstx%))*100+TIME
 6030IFCHR$(scrolladdr%?(scrstx%+1))="]" THEN
 6040flash%=TRUE:VDU26
 6050SYS&2E,16+256,spr%,"scrback",0,16,20,1256,48
 6060VDU24,26;12;1260;52;
 6070ENDIF:scrstx%+=3
 6080ENDIF:IF CHR$(scrolladdr%?(scrstx%-1))="{":scrstep%=16:scrstx%+=1
 6090IF CHR$(scrolladdr%?(scrstx%-1))="}":scrstep%=8:scrstx%+=1
 6100IF NOT paused% THEN
 6110GCOLsccol%TINT192:MOVEscrx%+1232-scrstep%-4,48
 6120
 6140char_to_print = scrolladdr%?(scrstx%-1)
 6190VDU char_to_print
 6200
 6210scrx%-=scrstep%:IFscrx%=0:scrx%=32:scrstx%+=1
 6220VDU4,26
 6230SYS&2E,16+256,spr%,"scrback",0,16+scrstep%,20,1260,48
 6240ELSE:IFTIME>endtime%:paused%=FALSE:flash%=FALSE
 6250IFflash% THEN
 6260WAIT:CASE (endtime%-TIME)DIV50 OF
 6270WHEN 1,3,5:VDU26:GCOL0TINT0:RECTANGLEFILL16,16,1244,36
 6280WHEN 0,2,4:VDU26:SYS&2E,34+256,spr%,"scrback",16,20,0
 6290ENDCASE
 6300ENDIF:VDU4,26
 6310ENDIF:ENDPROC
 6320
 6330DEFPROCsetupscroll:LOCALi%,j%,scroll$:scrollmax%=0
 6340file%=OPENIN"<WordPair$Dir>.Message":REPEAT
 6350scroll$=GET$#file%:IFLEFT$(scroll$,1)<>"/" THEN
 6360IFscroll$="@":scroll$=STRING$(38," ")
 6370scrollmax%+=LENscroll$+1
 6380ENDIF:UNTILEOF#file%
 6390DIM scrolladdr% scrollmax%:i%=0:PTR#file%=0:REPEAT
 6400scroll$=GET$#file%:IFLEFT$(scroll$,1)<>"/" THEN
 6410IFscroll$="@":scroll$=STRING$(38," ")
 6420FORj%=1TOLENscroll$:scrolladdr%?(i%+j%-1)=ASCMID$(scroll$,j%,1):NEXT
 6430scrolladdr%?(i%+j%-1)=32:i%+=j%
 6440ENDIF:UNTILEOF#file%:CLOSE#file%:ENDPROC
 6450
 6460DEFPROCchoosepics:OSCLI"FX112,2":COLOUR170TINT0:CLS:PROCmouseoff
 6470MOUSECOLOUR1,120,0,240:MOUSECOLOUR3,80,0,160:CASE skill% OF
 6480WHEN 1:numpics%=4
 6490WHEN 2:numpics%=6
 6500WHEN 3:numpics%=8
 6510WHEN 4:numpics%=12
 6520ENDCASE
 6530PROCtext("Left button...",64,208,2)
 6540PROCtext("Right button...",64,220,2)
 6550PROCtext("Middle button...",64,232,2)
 6560PROCtext("selects picture",1256,208,6)
 6570PROCtext("deselects picture",1256,220,6)
 6580PROCtext("ends choice",1256,232,6)
 6590PROCtext("Choose "+STR$numpics%+" pictures.",-1,40,5)
 6600MOUSERECTANGLE96,392,1076,396
 6610totalpics%=0:chosen%()=0:PROCindicatepics:FORx%=1TO8:FORy%=1TO3
 6620SYS&2E,34+256,spr%,"picture-"+STR$(x%+(y%-1)*8),(x%-1)*136+96,y%*136+256
 6630NEXT:NEXT:pic%()=0:OSCLI"FX112,1":VDU19,0,24,130,130,130:CALLclear
 6640PROCptr(1):REPEAT:REPEAT:MOUSExx%,yy%,button%
 6650UNTILbutton%:xx%=xx%DIV4*4:yy%=yy%DIV4*4:px%=(xx%-96)/136+1
 6660py%=(yy%-256)/136:CASE button% OF
 6670WHEN4:IFtotalpics%<numpics% AND chosen%(px%,py%)=0:chosen%(px%,py%)=1:totalpics%+=1:PROCindicatepics
 6680WHEN1:IFtotalpics%>0 AND chosen%(px%,py%)=1:chosen%(px%,py%)=0:totalpics%-=1:PROCindicatepics
 6690ENDCASE:UNTILbutton%=2ANDtotalpics%=numpics%
 6700counter%=1:FORx%=1TO8:FORy%=1TO3
 6710IFchosen%(x%,y%)=1:pic%(counter%)=x%+(y%-1)*8:counter%+=1
 6720NEXT:NEXT:ENDPROC
 6730
 6740DEFPROCindicatepics:FORx%=1TO8:FORy%=1TO3:GCOL12TINT192
 6750IFchosen%(x%,y%)=0:GCOL42TINT0
 6760RECTANGLE(x%-1)*136+92,y%*136+252,132,132:NEXT:NEXT
 6770GCOL42TINT0:RECTANGLEFILL0,316,1276,64
 6780text$="You've chosen "+STR$totalpics%+" picture"
 6790IFtotalpics%<>1:text$+="s"
 6800PROCtext(text$,-1,168,5):ENDPROC
 6810
 6820DEFPROCchooseshape:PROCmouseoff:OSCLI"FX112,2":COLOUR170TINT0:CLS
 6830LOCALx%,y%,gx%,gy%,xx%,yy%,blank%
 6840PROCtext("THE BONUS SHAPE",-1,8,5)
 6850PROCtext("(Leave it blank if you",-1,20,6)
 6860PROCtext("don't want to use it)",-1,32,6)
 6870PROCtext("Left button...",64,220,2)
 6880PROCtext("Right button...",64,232,2)
 6890PROCtext("Middle button...",64,244,2)
 6900PROCtext("sets square",1256,220,6)
 6910PROCtext("unsets square",1256,232,6)
 6920PROCtext("starts game",1256,244,6)
 6930MOUSECOLOUR1,120,0,240:MOUSECOLOUR3,80,0,160
 6940FORx%=0TO4:FORy%=0TO4:tile$="choose-"+STR$shapegrid%(x%,y%)
 6950SYS&2E,34+256,spr%,tile$,320+x%*128,704-y%*128,0:NEXT:NEXT
 6960OSCLI"FX112,1":GCOL0TINT0:RECTANGLE316,188,644,644
 6970MOUSERECTANGLE320,192,636,636:VDU19,0,24,130,130,130:CALLclear:PROCptr(1)
 6980PROCmouseon
 6990REPEAT:REPEAT:MOUSExx%,yy%,button%:UNTILbutton%:gx%=(xx%-320)/128
 7000gy%=(700-yy%)/128+1:CASE button% OF
 7010WHEN 1:IFshapegrid%(gx%,gy%)=1 THEN
 7020shapegrid%(gx%,gy%)=0
 7030SYS&2E,34+256,spr%,"choose-0",320+gx%*128,704-gy%*128,0
 7040ENDIF
 7050WHEN 4:IFshapegrid%(gx%,gy%)=0 THEN
 7060shapegrid%(gx%,gy%)=1
 7070SYS&2E,34+256,spr%,"choose-1",320+gx%*128,704-gy%*128,0
 7080ENDIF
 7090ENDCASE:UNTILbutton%=2:shapes%=FALSE:FORx%=0TO4:FORy%=0TO4
 7100IFshapegrid%(x%,y%)=1:shapes%=TRUE
 7110NEXT:NEXT:COLOUR128:IF NOT shapes%:VDU23,252,0;0;0;0;:ENDPROC
 7120REPEAT:blank%=TRUE:FORy%=0TO4:IFshapegrid%(0,y%)=1:blank%=FALSE
 7130NEXT:IFblank%=TRUE THEN
 7140FORx%=1TO4:FORy%=0TO4:shapegrid%(x%-1,y%)=shapegrid%(x%,y%):NEXT:NEXT
 7150FORy%=0TO4:shapegrid%(4,y%)=0:NEXT
 7160ENDIF:UNTILblank%=FALSE
 7170REPEAT:blank%=TRUE:FORx%=0TO4:IFshapegrid%(x%,0)=1:blank%=FALSE
 7180NEXT:IFblank%=TRUE THEN
 7190FORy%=1TO4:FORx%=0TO4:shapegrid%(x%,y%-1)=shapegrid%(x%,y%):NEXT:NEXT
 7200FORx%=0TO4:shapegrid%(x%,4)=0:NEXT
 7210ENDIF:UNTILblank%=FALSE
 7220VDU23,252:FORy%=0TO4
 7230line$="000":FORx%=0TO4:line$+=STR$shapegrid%(x%,y%):NEXT
 7240VDUEVAL("%"+line$):NEXT:VDU0,0,0
 7250x%=4:REPEAT:blank%=TRUE:FORy%=0TO4:IFshapegrid%(x%,y%)=1:blank%=FALSE
 7260NEXT:x%-=1:UNTILblank%=FALSE OR x%=-1
 7270shapew%=x%+2
 7280y%=4:REPEAT:blank%=TRUE:FORx%=0TO4:IFshapegrid%(x%,y%)=1:blank%=FALSE
 7290NEXT:y%-=1:UNTILblank%=FALSE OR y%=-1
 7300shapeh%=y%+2
 7310ENDPROC
 7320
 7330DEFPROCshowword(pl%):LOCALx%,y%,letter$,partx%,party%,type$
 7340FORx%=0TO9:FORy%=0TO4:IFgrid%(x%+1,y%+1)<26 THEN
 7350SYS&2E,34+256,spr%,"grid-slab",x%*128,y%*128+192,0
 7360ELSE:letter$=MID$(display$(pl%),x%DIV2+1,1):partx%=x%MOD2:party%=4-y%
 7370IFletter$>" " THEN
 7380type$="letterp-"+STR$alphpart%(partx%,party%,ASC(letter$)-65)
 7390SYS&2E,34+256,spr%,type$,x%*128,y%*128+192,0
 7400ELSE:SYS&2E,34+256,spr%,"letterp-0",x%*128,y%*128+192,0
 7410ENDIF
 7420ENDIF:NEXT:NEXT:ENDPROC
 7430
 7440DEFPROCinitletters:RESTORE8030:LOCALi%,x%,y%
 7450DIMalphpart%(1,4,25)
 7460FORi%=0TO25:FORy%=0TO4:FORx%=0TO1:READalphpart%(x%,y%,i%):NEXTx%:NEXTy%
 7470NEXTi%:ENDPROC
 7480
 7490DEFPROCprintword(word$):LOCALx%,y%,letter$,partx%,party%,type$
 7500FORx%=0TO9:FORy%=0TO4
 7510letter$=MID$(word$,x%DIV2+1,1):partx%=x%MOD2:party%=4-y%
 7520IFletter$>" " THEN
 7530type$="letterp-"+STR$alphpart%(partx%,party%,ASC(letter$)-65)
 7540SYS&2E,34+256,spr%,type$,x%*128,y%*128+192,0
 7550ELSE:SYS&2E,34+256,spr%,"letterp-0",type$,x%*128,y%*128+192,0
 7560ENDIF:NEXT:NEXT:ENDPROC
 7570
 7580DEFPROCcheckshape:IF NOT shapes%:ENDPROC
 7590LOCALxx%,yy%,x%,y%,h%,v%,yes%,col%,bonus%,number%,num%:number%=0
 7600FORxx%=1TO11-shapew%:FORyy%=1TO6-shapeh%
 7610yes%=TRUE:FORx%=0TOshapew%-1:FORy%=0TOshapeh%-1
 7620IFgrid%(xx%+x%,yy%+y%)<>25+current%ANDshapegrid%(x%,shapeh%-y%-1)=1:yes%=FALSE
 7630NEXT:NEXT:IF yes% THEN
 7640h%=xx%:v%=yy%:number%+=1
 7650num%=0:FORx%=0TOshapew%-1:FORy%=0TOshapeh%-1
 7660IFshapegrid%(x%,shapeh%-y%-1)=1:num%+=1:turnx%(num%)=xx%+x%:turny%(num%)=yy%+y%
 7670NEXT:NEXT:PROCturnover(num%):shapes%(current%)+=1:I%=INKEY(10)
 7680ENDIF:NEXT:NEXT:IFnumber%>0 THEN
 7690text$="You've made "+STR$number%+" shape":IFnumber%>1:text$+="s"
 7700bonus%=2*num%-1:text$+="! (bonus "+STR$(number%*bonus%)+")"
 7710score%(current%)+=number%*bonus%
 7720col%=1:IFcurrent%=2:col%=4
 7730PROCslab(0,832,1276,60):PROCtext(text$,-1,36,col%)
 7740I%=INKEY(200)
 7750ENDIF:ENDPROC
 7760
 7770DEFPROCtext(text$,x%,y%,col%):LOCALi%
 7780RESTORE+(11+col%):FORi%=0TO7:READshades%?i%:NEXT
 7790
 7800IFx%<0 OR x%>1000 THEN
 7810len%=FNwidth(text$)
 7820CASE x% OF
 7830WHEN -1:x%=160-len%/2
 7840WHEN -2:x%=80-len%/2
 7850WHEN -3:x%=240-len%/2
 7860ENDCASE
 7870IFx%>1000:x%=(x%-1000)-len%
 7880ENDIF
 7890SYS"TextFX_PrintText",1,text$,x%,y%,shades%,0:ENDPROC:REM Call to Mod
 7900
 7910DATA 16,17,18,19,60,61,62,63:REM         Red
 7920DATA 64,65,66,67,108,109,110,111:REM     Green
 7930DATA 80,81,82,83,124,125,126,127:REM     Yellow
 7940DATA 128,129,130,131,172,173,174,175:REM Blue
 7950DATA 144,145,146,147,188,189,190,191:REM Magenta
 7960DATA 192,193,194,195,236,237,238,239:REM Cyan
 7970DATA 208,209,210,211,252,253,254,255:REM White
 7980DATA 132,133,134,135,184,185,186,187:REM Purple
 7990:
 8000:
 8010DATA 208,208,208,208,208,208,208,208:REM Uniform grey
 8020
 8030DATA 1,2,7,10,16,17,7,10,8,11:REM      A
 8040DATA 5,2,7,10,16,39,7,10,6,4:REM       B
 8050DATA 1,2,7,11,7,0,7,12,3,4:REM         C
 8060DATA 5,2,7,10,7,10,7,10,6,4:REM        D
 8070DATA 5,13,7,0,16,15,7,0,6,14:REM       E
 8080DATA 5,13,7,0,16,15,7,0,8,0:REM        F
 8090DATA 1,2,7,11,7,18,7,10,3,4:REM        G
 8100DATA 9,12,7,10,16,17,7,10,8,11:REM     H
 8110DATA 31,32,33,34,33,34,33,34,35,36:REM I
 8120DATA 0,12,0,10,0,10,9,10,3,4:REM       J
 8130DATA 9,45,21,30,25,29,7,27,8,11:REM    K
 8140DATA 9,0,7,0,7,0,7,0,6,14:REM          L
 8150DATA 23,24,25,26,7,10,7,10,8,11:REM    M
 8160DATA 9,12,41,10,25,22,7,42,8,11:REM    N
 8170DATA 1,2,7,10,7,10,7,10,3,4:REM        O
 8180DATA 5,2,7,10,40,4,7,0,8,0:REM         P
 8190DATA 1,2,7,10,7,10,7,10,3,43:REM       Q
 8200DATA 5,2,7,10,16,39,7,10,8,11:REM      R
 8210DATA 1,2,50,11,51,52,9,53,3,4:REM      S
 8220DATA 31,32,33,34,33,34,33,34,37,38:REM T
 8230DATA 9,12,7,10,7,10,7,10,3,4:REM       U
 8240DATA 9,12,7,10,7,10,48,61,49,62:REM    V
 8250DATA 9,12,7,10,7,10,21,22,19,20:REM    W
 8260DATA 44,45,46,47,33,34,54,55,59,60:REM X
 8270DATA 44,45,46,47,33,34,33,34,37,38:REM Y
 8280DATA 56,57,0,61,58,62,28,0,6,14:REM    Z
 8290
 8300DEFPROCmouseon:OSCLI"Animate On":ENDPROC
 8310
 8320DEFPROCmouseoff:OSCLI"Animate Off":MOUSE OFF:ENDPROC
 8330
 8340DEFPROCptr(type%):PROCmouseoff:FORp%=1TO4:CASE type% OF
 8350WHEN 1:SYS&2E,36+256,spr%,"ptr_pairs"+STR$p%,p%,0,0
 8360WHEN 2:SYS&2E,36+256,spr%,"ptr_loading"+STR$p%,p%,13,8
 8370WHEN 3:SYS&2E,36+256,spr%,"ptr_congrat"+STR$p%,p%,8,8
 8380WHEN 4:SYS&2E,36+256,spr%,"ptr_efm"+STR$p%,p%,16,12
 8390ENDCASE:MOUSEOFF:NEXT:PROCmouseon:ENDPROC
 8400
 8410DEF PROCarmcode:LOCAL dispace%,i%,pass%,code%
 8420DIM dispace% 80*64:time%=32:FORi%=0TO80*64:dispace%?i%=RND(time%):NEXT
 8430DIMcode% 512:FORpass%=0TO2STEP2:P%=code%:[OPT pass%
 8440.scr1 EQUD &1FD8000:.scr2 EQUD &1FEC000:.diss EQUD dispace%
 8450.clear:STMFD R13!,{R0-R12,R14}:MOV R12,#320:LDR R0,scr1:LDR R1,scr2
 8460LDR R2,diss:MOV R3,#time%:.loop1:MOV R4,#79:.loop2:MOV R5,#63:.loop3
 8470ADD R6,R4,R5,LSL #6:LDRB R6,[R2,R6]:CMP R6,R3:BNE next
 8480MLA R7,R5,R12,R4:ADD R8,R7,R0:ADD R9,R7,R1
 8490STMFD R13!,{R0-R4}:ADR R4,offsets
 8500]:FORi%=1TO4:[OPT pass%
 8510LDMIA R4!,{R0-R3}
 8520LDRB R10,[R9,R0]:LDRB R11,[R8,R0]:STRB R10,[R8,R0]:STRB R11,[R9,R0]
 8530LDRB R10,[R9,R1]:LDRB R11,[R8,R1]:STRB R10,[R8,R1]:STRB R11,[R9,R1]
 8540LDRB R10,[R9,R2]:LDRB R11,[R8,R2]:STRB R10,[R8,R2]:STRB R11,[R9,R2]
 8550LDRB R10,[R9,R3]:LDRB R11,[R8,R3]:STRB R10,[R8,R3]:STRB R11,[R9,R3]
 8560]:NEXT:[OPT pass%
 8570LDMFD R13!,{R0-R4}
 8580.next:SUBS R5,R5,#1:BPL loop3:SUBS R4,R4,#1:BPL loop2
 8590SUBS R3,R3,#1:BNE loop1:LDMFD R13!,{R0-R12,PC}
 8600.offsets
 8610EQUD 0:EQUD 80:EQUD 160:EQUD 240
 8620EQUD 320*64:EQUD 320*64+80:EQUD 320*64+160:EQUD 320*64+240
 8630EQUD 320*128:EQUD 320*128+80:EQUD 320*128+160:EQUD 320*128+240
 8640EQUD 320*192:EQUD 320*192+80:EQUD 320*192+160:EQUD 320*192+240
 8650]NEXT
 8660MODE 13+128:OFF
 8670DIM kev 16:!kev=149:kev!4=-1:SYS6,112,1:SYS6,113,1:SYS&31,kev,kev+8:!scr1=kev!8
 8680           !kev=149:kev!4=-1:SYS6,112,2:SYS6,113,2:SYS&31,kev,kev+8:!scr2=kev!8
 8690SYS6,112,2:SYS6,113,1
 8700MODE 13 : OFF
 8710ENDPROC
 8720
 8730DEF FNreadfiles(dir$,filetype%):LOCAL curfile%,file%,name$,name%,number%
 8740curfile%=1:fname$()="":file%=0:REPEAT
 8750SYS"OS_GBPB",10,dir$,block%,1,file%,63,"*" TO ,,,number%
 8760name$="":name%=&14
 8770WHILE block%?name%<>0
 8780name$+=CHR$(block%?name%):name%+=1
 8790ENDWHILE
 8800IF((!block% >>> 8)AND &FFF)=filetype%:fname$(curfile%)=name$:curfile%+=1
 8810file%+=1:UNTILnumber%<>1:=curfile%-2

#� >!RunImage (!WordPairs v4.00)
-� Brought to you by Archimedes World 1994
� � Archimedes World 1994
(4� Code amendments by Kevin J Swinton & G.Stanley
2� 13+128
<
F � kevs_font_data 8*224
P9 � "Load <WordPair$Dir>.WordFont " + �~kevs_font_data
Z' ș "OS_Module",18,"TextFX" � ,,,r3
d r3!&94 = kevs_font_data
e( o = kevs_font_data : � i = 32 � 255
fB �23,i,?(o+0),?(o+1),?(o+2),?(o+3),?(o+4),?(o+5),?(o+6),?(o+7)
g o += 8 : �
n
x�:savetab%=�:�tV@
�!file%=�"<WordPair$Dir>.Dummy"
�5�#file%:�"Delete <WordPair$Dir>.Dummy":savetab%=�
�%�:�0:�:�:�" at line ";�:ȗ�4,4:�
�C�init:*IF "<Tracker$>"="Yes" THEN PlayInit <WordPair$Dir>.Tune1
�%�"Hourglass Off":ȗ�3:�c%=15�0�-1
�!ȗ�1,(140/15)*c%,(80/15)*c%,0
�"ȗ�2,(180/15)*c%,(120/15)*c%,0
�,ȗ�3,(180/15)*c%,(180/15)*c%,(180/15)*c%
�Ȗ:�:ȗ�:ȗ�640,512
��"FX112,2":�:�clear:ș&36
�ȗ�2,2:�title:�
�
���loadsprites:� file%,rrom%
6ș"OS_File",5,"<WordPair$Dir>.Sprites" � ,,,,room%
I�spr% room%+32,scale% 16:!spr%=room%+32:spr%!4=0:spr%!8=16:spr%!12=16
0ș&2E,10+256,spr%,"<WordPair$Dir>.Sprites":�
"
,0��countwords:�i%,file%:words%()=0:maxword%=0
6�i%=1�wordfiles%
@/file%=�("<WordPair$Dir>.Words."+fname$(i%))
J �:� �#file%=10:words%(i%)+=1
T=��#file%:�#file%:�words%(i%)>maxword%:maxword%=words%(i%)
^�:�
h
r0��loadwords:� file%,i%,j%,string$:maxword%=0
|0�i%=1�wordfiles%:�wordfile$=fname$(i%):j%=i%
�0�:file%=�("<WordPair$Dir>.Words."+wordfile$)
�1maxword%=words%(j%):�i%=1�maxword%:string$=""
�.�:byte%=�#file%:�byte%<>10:string$+=�byte%
�5�byte%=10:word$(i%)=�string$+"     ",5):�:�#file%
��
�
�.��init:�line$,x%,y%:wordfile$="5LetterMix"
�-�i%=32�255:ș"TextFX_CalculateWidth",i%:�
�4ș"TextFX_SetWidth",32,4 :� "FX20":� Call to Mod
�/�"FX4,1":players%=1:comwords%=�:wordtype%=1
�6skill%=1:tune%=1:ș&40143 � speak%:speak%=3-speak%
��block% 64,fname$(25)
�6wordfiles%=�readfiles("<WordPair$Dir>.Words",&FFF)
,�words%(25):�countwords:�word$(maxword%)
H�score%(2),tries%(2),tiles%(2),str%(8),grid%(10,5),name$(2),user$(2)
G�display$(2),high$(10),high%(10),grid2%(10,5),pic%(24),chosen%(8,3)
&A�shapes%(2),shapegrid%(4,4),changex%(2),changey%(2),shades% 8
0�turnx%(25),turny%(25)
:3�loadsprites:�loadwords:�loadtable:�initletters
D8�inittunes:�setupscroll:�armcode:shapew%=2:shapeh%=2
N ��DvB:�y%=0�4:�line$:�x%=0�4
X+shapegrid%(x%,y%)=��line$,x%+1,1):�:�:�
b
l� Default bonus shape
v� 11000
�� 11000
�� 00000
�� 00000
�� 00000
�
�0��initgrid:grid%()=0:�a%,b%,x%,y%,ma%,mb%,A%
�!A%=�(-���$,23,2)):Ȏ skill% �
��1:ma%=4:mb%=12
��2:ma%=6:mb%=8
��3:ma%=8:mb%=6
��4:ma%=12:mb%=4
��5:ma%=24:mb%=2
�,�:�a%=1�ma%:�b%=1�mb%:�:x%=�(10):y%=�(5)
7�grid%(x%,y%)=0:grid%(x%,y%)=pic%(a%):�:�:�a%=1�2:�
6x%=�(10):y%=�(5):�grid%(x%,y%)=0:grid%(x%,y%)=25:�
grid2%()=grid%():�
 
*.��slab(x%,y%,w%,h%):�42Ȝ0:ȓȐx%,y%,w%,h%
42�63Ȝ0:�x%,y%+h%:�x%+8,y%+h%-8:�85,x%+w%,y%+h%
>8�85,x%+w%-8,y%+h%-8:�42Ȝ128:�x%,y%+h%:�x%+8,y%+h%-8
H4�85,x%,y%:�85,x%+8,y%+8:�21Ȝ0:�x%,y%:�x%+8,y%+8
R4�85,x%+w%,y%:�85,x%+w%-8,y%+8:�21Ȝ128:�x%+w%,y%
\7�x%+w%-8,y%+8:�85,x%+w%,y%+h%:�85,x%+w%-8,y%+h%-8:�
f
p��board:�:�x%=0�9:�y%=0�4
z9ș&2E,34+256,spr%,"grid-slab",x%*128,y%*128+192,0:�:�
��gametitle
�
�scores:�
�
���gametitle
�)ș&2E,34+256,spr%,"gametitle",0,896,0
��slab(640,896,636,124)
�)ș&2E,34+256,spr%,"pinkblock",656,920
�)ș&2E,34+256,spr%,"pinkblock",656,968
�+�text("Press ESCAPE for menu",175,18,8)
��tunes%=0 �
�,�text("Recoded By Kev & Graham",175,6,8)
��
�5�text("Press 0-"+�tunes%+" for new tune",175,6,8)
�

�scores:�

$8��scores:�slab(0,0,636,188):�text(name$(1),16,213,1)
.9ș&2E,34+256,spr%,"player1-"+�(-(current%=1)),16,16,8
8;�text("Score...",16,224,1):�text(�score%(1),1152,224,1)
B=�text("Shapes...",16,234,1):�text(�shapes%(1),1152,234,1)
L;�text("Tries...",16,244,1):�text(�tries%(1),1152,244,1)
V�text(�252,144,213,1)
`�slab(640,0,636,188)
j�players%=2 �
t�text(name$(2),176,213,4)
~:ș&2E,34+256,spr%,"player2-"+�(-(current%=2)),656,16,8
�<�text("Score...",176,224,4):�text(�score%(2),1312,224,4)
�>�text("Shapes...",176,234,4):�text(�shapes%(2),1312,234,4)
�<�text("Tries...",176,244,4):�text(�tries%(2),1312,244,4)
��text(�252,304,213,4)
��
� �text("Game Info:",-3,213,1)
�#�text("Word type...",168,224,7)
�%�text("Skill level...",168,234,7)
�$�text("Tiles left...",168,244,7)
�Ȏ wordtype% �
�%� 1:�text("Scrambled",1312,224,7)
�"� 2:�text("Normal",1312,224,7)
�

Ȏ skill% �
� 1:skill$="Mega Easy"
� 2:skill$="Very Easy"
(� 3:skill$="Simple"
2� 4:skill$="Tuff (ish)"
<� 5:skill$="Mega Tuff"
F�
P�text(skill$,1312,234,7)
Z�text(�left%,1312,244,7)
d�:�
n
xC��scale(t$,x%,y%,x1%,y1%):�w%,h%:!scale%=x1%-x%:scale%!4=y1%-y%
�@ș&2E,40+256,spr%,t$ � ,,,w%,h%:scale%!8=w%*4:scale%!12=h%*4
�,ș&2E,52+256,spr%,t$,x%,y%,0,scale%,-1:�
�
�%��reveal(x%,y%):�0Ȝ0:�i%=64�0�-8
�E�scale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
�7Ȗ:�x%*128-128,y%*128+124+i%,x%*128-4,y%*128+124+i%
�8�x%*128-128,y%*128+124+i%-4,x%*128-4,y%*128+124+i%-4
�4�x%*128-128,y%*128+128-i%,x%*128-4,y%*128+128-i%
�:�x%*128-128,y%*128+128-i%+4,x%*128-4,y%*128+128-i%+4:�
�Htile$="picture-"+�grid%(x%,y%):�tile$="picture-25":tile$="wild-card"
��i%=0�64�8:Ȗ
�A�scale(tile$,x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%):�
��

1��close(x%,y%):tile$="picture-"+�grid%(x%,y%)
)�tile$="picture-25":tile$="wild-card"
"�0Ȝ0:�i%=64�0�-8
,B�scale(tile$,x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%):Ȗ
64�x%*128-128,y%*128+124+i%,x%*128-4,y%*128+124+i%
@4�x%*128-128,y%*128+120+i%,x%*128-4,y%*128+120+i%
J4�x%*128-128,y%*128+128-i%,x%*128-4,y%*128+128-i%
T6�x%*128-128,y%*128+132-i%,x%*128-4,y%*128+132-i%:�
^�i%=0�64�8:Ȗ
hE�scale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
r�:�
|
�7��got(number%):� i%,tile$,got$,x%,y%:left%-=number%
�%�0Ȝ0:�i%=4�64�4:Ȗ:�j%=1�number%
�'x%=changex%(j%-1):y%=changey%(j%-1)
�Htile$="picture-"+�grid%(x%,y%):�tile$="picture-25":tile$="wild-card"
�D�scale(tile$,x%*128-128+i%,y%*128+64+i%,x%*128-i%,y%*128+192-i%)
�2ȓx%*128-132+i%,y%*128+60+i%,132-i%*2,132-i%*2
�!�:�:got$="got-slab"+�current%
� �i%=64�0�-4:Ȗ:�j%=1�number%
�'x%=changex%(j%-1):y%=changey%(j%-1)
�C�scale(got$,x%*128-128+i%,y%*128+64+i%,x%*128-i%,y%*128+192-i%)
�D�:�:�i%=0�number%-1:grid%(changex%(i%),changey%(i%))=25+current%
��:�
�
9��turnover(number%):�i%,j%:got$="got-shape"+�current%
3�i%=1�number%:grid%(turnx%(i%),turny%(i%))=28:�
�0Ȝ0:�i%=0�128�4
&0Ȗ:�j%=1�number%:x%=turnx%(j%):y%=turny%(j%)
0�i%<68 �
:.ȓx%*128-64-i%,y%*128+128-i%,2*i%-4,2*i%-4
D�
Nk%=i%-64
XF�scale(got$,x%*128-64-k%,y%*128+128-k%,x%*128-64+k%,y%*128+128+k%)
b�
l	�:�:�
v
�5��game:�mouseoff:�"FX112,2":score%()=0:tries%()=0
�9shapes%()=0:current%=1:left%=50:��=17:�title:�:�end
�1�board:ȗȓ0,192,1279,636:gotit%=�:�"FX112,1"
�'�clear:�19,0,24,0,0,0:�ptr(1):�:�nb
�$ȗ�1,240,0,0:ȗ�3,160,0,0:col%=1
�0�current%=2:ȗ�1,0,0,240:ȗ�3,0,0,160:col%=4
�,�slab(0,832,1276,60):tries%(current%)+=1
�D�text(name$(current%)+": please choose first square",-1,36,col%)
�"�:�:ȗ xx%,yy%,button%:j%=�(0)
�&�j%>47�j%<53:tune%=j%-48:�loadtune
�2�button%:xx%=xx%�4*4:yy%=yy%�4*4:hf%=xx%/128+1
�;vf%=(yy%-192)/128+1:�grid%(hf%,vf%)<26:�reveal(hf%,vf%)
��slab(0,832,1276,60)
E�text(name$(current%)+": please choose second square",-1,36,col%)
"�:�:ȗ xx%,yy%,button%:j%=�(0)
&�j%>47�j%<53:tune%=j%-48:�loadtune
 F�button%:xx%=xx%�4*4:yy%=yy%�4*4:hs%=xx%/128+1:vs%=(yy%-192)/128+1
*-�grid%(hs%,vs%)<26 � �(hs%=hf% � vs%=vf%)
4�reveal(hs%,vs%):wild%=�
>L�(grid%(hf%,vf%)=25�grid%(hs%,vs%)=25)�(grid%(hf%,vf%)<>grid%(hs%,vs%))�
H wild%=�:�slab(0,832,1276,60)
R1�text("You've found a wild card!",-1,36,col%)
\:scx%=hf%:scy%=vf%:�grid%(hf%,vf%)=25:scx%=hs%:scy%=vs%
f&found%=�:�w(80):�sx%=1�10:�sy%=1�5
pr�grid%(sx%,sy%)=grid%(scx%,scy%) � �(scx%=sx% � scy%=sy%) � found%=�:�reveal(sx%,sy%):wx%=sx%:wy%=sy%:found%=�
z�:�
�/�:� wild% � grid%(hs%,vs%)=grid%(hf%,vf%) �
� �ptr(3):�slab(0,832,1276,60)
�G�text("Well done "+name$(current%)+"! A matching pair!",-1,36,col%)
�(score%(current%)+=1:�w(80):number%=2
�4�wild%:number%=3:changex%(2)=wx%:changey%(2)=wy%
�Cchangex%(0)=hs%:changey%(0)=vs%:changex%(1)=hf%:changey%(1)=vf%
��got(number%):�checkshape
�B�ptr(1):�scores:tiles%(current%)+=2:�wild%:tiles%(current%)+=1
�4�players%=2:�guessword(current%):�:�guessword(1)
�,�:�w(80):�close(hs%,vs%):�close(hf%,vf%)
�#�players%=2:current%=3-current%
��scores
��:�left%<4 � gotit%
	
�gotit% �
	
�mouseoff
	Lpercentage%=tiles%(current%)*(100/(tiles%(current%)+tiles%(3-current%)))
	$6bonus%=((3-wordtype%)*skill%*percentage%*left%)�50
	.score%(current%)+=bonus%
	8)�"FX112,2":�scores:�"FX112,1":�scores
	B�:�congrats:�
	L
	V��w(i%):j%=�(i%):�
	`
	j+��guessword(pl%):�mouseoff:�"FX112,2":�
	t�gametitle
	~/�scores:�showword(pl%):�slab(0,832,1276,60)
	�+�"FX15":tc%=1:�"FX15":�current%=2:tc%=4
	�?�text("What's the word? Enter guess:           ",-1,36,tc%)
	�g�"FX112,1":�clear:guess$=�(�getstring("What's the word? Enter guess: ",36,tc%,5,"U",10))+"     ",5)
	�t�guess$=user$(pl%):gotit%=�:�:�guess$<>"     "�a%=13:�slab(0,832,1276,60):�text("Sorry! That's not it.",-1,36,8)
	��w(80):�gotit%:�clear
	��
	�
	�D� �getstring(text$,y%,col%,len%,allow$,time%):�xx%,yy%,ip$,caps%
	�ls%=�width(text$)
	�6xx%=160-ls%/2-4*len%:yy%=1020-y%*4:ip$="":delay%=�
	�(�text(text$,xx%,y%,col%):�ds:caps%=�
	��time%>0:ȗ�1
�:�:a%=�(0)

�time%=0:delay%=�+100
A�time%>0:ș&2E,36+256,spr%,"ptr_count"+�(10-(�-delay%)�100),1
�a%>0��>=delay%+time%*100
(�a%=127 � �(ip$)>0 �
2)ip$=�ip$,�ip$-1):�ds:�caps%=�:caps%=�
<��ip$,1)=" "�ip$="":caps%=�
F�:� �(ip$)<len% �
PȎ allow$ �
Z	� "U"
d%�a%>96 � a%<123:ip$+=�(a%-32):�ds
n!�a%>64 � a%<91:ip$+=�(a%):�ds
x	� "A"
��caps% �
�-�a%>96 � a%<123:ip$+=�(a%-32):�ds:caps%=�
�)�a%>64 � a%<91:ip$+=�(a%):�ds:caps%=�
�#�:�a%=32:caps%=�:ip$+=�(a%):�ds
�"�a%>96 � a%<123:ip$+=�(a%):�ds
�$�a%>64 � a%<91:ip$+=�(a%+32):�ds
��
�
� "YN"
�,� (a%=89 � a%=121) � �ip$=0:ip$+="Y":�ds
�,� (a%=78 � a%=110) � �ip$=0:ip$+="N":�ds
�:� (a%=69 � a%=101) � �ip$=1 � �ip$,1)="Y":ip$+="e":�ds
�:� (a%=79 � a%=110) � �ip$=1 � �ip$,1)="N":ip$+="o":�ds
�:� (a%=83 � a%=115) � �ip$=2 � �ip$,1)="Y":ip$+="s":�ds
�
�
A�time%>0:ș&2E,36+256,spr%,"ptr_count"+�(10-(�-delay%)�100),1
" �a%=13 � �>=delay%+time%*100
,1�42Ȝ0:ȓȐxx%*4+ls%*4-4,yy%-32,len%*32+32,36
6/�text(ip$,xx%+ls%,y%,col%):�time%>0:�ptr(1)
@�allow$="YN":=�ip$,1)
J=ip$
T
^6��ds:�42Ȝ0:ȓȐxx%*4+ls%*4-4,yy%-32,len%*36+32,36
h�text(ip$,xx%+ls%,y%,col%)
r)�text("_",xx%+ls%+�width(ip$),y%,7):�
|.� Procedure For Text width call to Module.
�ݤwidth(text$):�text$="":=0
�#�len%,i%,w%:len%=0:�i%=1��text$
�;ș"TextFX_GetWidth",��text$,i%,1) � w%:len%+=w%:�:=len%
�
�$��getnames:��=17:�title:�:�end
�+�slab(0,0,1276,136):�n$:�mouseoff:*FX15
�Oname$(1)=�getstring("Player one, please enter name: ",226,1,11,"A",0):*FX15
�U�players%=2:name$(2)=�getstring("Player two, please enter name: ",243,4,11,"A",0)
�&�name$(1)="":name$(1)="Player One"
�&�name$(2)="":name$(2)="Player Two"
��comwords% �
�1A%=�(-���$,23,2)):user$(1)=word$(�(maxword%))
�S�players%=2:�:A%=�(-���$,23,2)):user$(2)=word$(�(maxword%)):�user$(1)<>user$(2)
�
�
!�:yn$="Y":�slab(0,0,1276,136)
&>�text(name$(1)+", please enter your word.",-1,226,1):*FX15
0Guser$(2)=�getstring(name$(2)+" look away. Word is: ",243,1,5,"U",0)
:�user$(2)<5 �
D�slab(0,0,1276,136):*FX15
N@yn$=�getstring("Are you sure that's right? ",234,1,3,"YN",0)
X#�:user$(2)=�user$(2)+"     ",5)
b�yn$="Y"
l笤iswordgood(user$(2)) �
v>�slab(0,0,1276,136):�text("That's a silly word!",-1,234,1)
�
I%=�(500)
��
���iswordgood(user$(2))
��
�!�:yn$="Y":�slab(0,0,1276,136)
�>�text(name$(2)+", please enter your word.",-1,226,4):*FX15
�Guser$(1)=�getstring(name$(1)+" look away. Word is: ",243,4,5,"U",0)
��user$(1)<5 �
��slab(0,0,1276,136):*FX15
�@yn$=�getstring("Are you sure that's right? ",234,4,3,"YN",0)
�#�:user$(1)=�user$(1)+"     ",5)
��yn$="Y"
�笤iswordgood(user$(1)) �

>�slab(0,0,1276,136):�text("That's a silly word!",-1,234,4)


I%=�(500)

�

 ��iswordgood(user$(1))

*/�:display$(1)=user$(1):display$(2)=user$(2)

4�wordtype%=1 �

>#display$(1)=�scramble(user$(1))

H/�players%=2:display$(2)=�scramble(user$(2))

R�:�i%=1�24:pic%(i%)=i%:�

\�skill%<5 �

f�slab(0,0,1276,136)

pQyn$=�getstring("Would you like to choose your own pictures? ",234,5,3,"YN",0)

z�yn$="Y" � �choosepics

��

��chooseshape:�

�

�7� �iswordgood(word$):lastchar%=0:numsame%=0:�I%=1�5

�4char%=��word$,I%,1):�char%=lastchar%:numsame%+=1

�$lastchar%=char%:�:�numsame%<4:=�

�=�

�

���ht(n%):� c%,v%:Ȏ n% �

��1:�players%=1 �

�$�text("One Player Game",-3,39,2)

�%�text("Two Player Game",-3,50,11)

�'�:�text("One Player Game",-3,39,11)
$�text("Two Player Game",-3,50,2)
�
�2:�comwords%=� �
$#�text("Computer Words",-3,84,2)
. �text("User Words",-3,95,11)
8&�:�text("Computer Words",-3,84,11)
B�text("User Words",-3,95,2)
L�
V�3:�wordtype%=1 �
`%�text("Scrambled Words",-3,106,2)
j#�text("Normal Words",-3,117,11)
t(�:�text("Scrambled Words",-3,106,11)
~"�text("Normal Words",-3,117,2)
��
�$�4:�v%=1�5:c%=11:�skill%=v%:c%=2
�Ȏ v% �
�#�1:�text("Mega Easy",-3,182,c%)
�#�2:�text("Very Easy",-3,193,c%)
� �3:�text("Simple",-3,204,c%)
�$�4:�text("Tuff (ish)",-3,215,c%)
�#�5:�text("Mega Tuff",-3,226,c%)
��:�
��:�
�
�4ݤscramble(scr$):�final$:scr$=�scr$+"     ",5):�
$final$="     ":�i%=1�5:�:x%=�(5)

2��final$,x%,1)=" ":�final$,x%,1)=�scr$,i%,1):�
"�final$<>scr$:=�rspace(final$)

(,��nb:�x%,y%,z%:ȗ�0,0:�:ȗx%,y%,z%:�z%=0
2ȗ�2,2:�
<
F4��loadtable:file%=�("<WordPair$Dir>.HighScores")
P;�name%=1�10:�#file%,high$(name%),high%(name%):�:�#file%
Z�
d
n��savetable:�savetab%:�
x(file%=�("<WordPair$Dir>.HighScores")
�;�name%=1�10:�#file%,high$(name%),high%(name%):�:�#file%
��
�
�B��newwords:� xx%,yy%,button%,time%,print$,oldfile%,newfile%,n$
�4�slab(0,820,636,64):�text("Load Words:",-2,39,6)
�*�slab(0,140,636,676):ȗȓ0,140,636,676
��i%=1�wordfiles%
�#�text(fname$(i%),8,45+i%*11,11)
�5�text("("+�words%(i%)+")",1152-8*�n$,45+i%*11,11)
�/�:ȗxx%,yy%,button%:xx%=xx%�4*4:yy%=yy%�4*4
�5of%=(806-yy%)/44+1:�of%>wordfiles%:of%=wordfiles%
��of%<1:of%=1
�%�21Ȝ64:ȓȐ12,848-of%*44,612,-40
$�text(fname$(of%),8,45+of%*11,2)
0�text("("+�words%(of%)+")",1152,45+of%*11,2)
#�nb:�:ȗxx%,yy%,button%:�scroll
"Dnewfile%=(806-yy%)/44+1:�newfile%>wordfiles%:newfile%=wordfiles%
,�newfile%<1:newfile%=1
6�newfile%<>of% �
@$�42Ȝ0:ȓȐ12,848-of%*44,612,-40
J%�text(fname$(of%),8,45+of%*11,11)
T1�text("("+�words%(of%)+")",1152,45+of%*11,11)
^of%=newfile%
h%�21Ȝ64:ȓȐ12,848-of%*44,612,-40
r$�text(fname$(of%),8,45+of%*11,2)
|0�text("("+�words%(of%)+")",1152,45+of%*11,2)
��
��button%
�)wordfile$=fname$(newfile%):�loadwords
��42Ȝ0:ȓȐ652,456,612,40
�+�text("File: '"+wordfile$+"`",-3,133,6)
�5�slab(0,820,636,64):�text("High Scores:",-2,39,6)
��slab(0,140,636,676)
��time%=1�10
� �up1%<>time% � up2%<>time% �
�'�text(high$(time%),8,39+time%*17,6)
�+�text(�high%(time%),1152,39+time%*17,6)
��
�'�text(high$(time%),8,39+time%*17,7)
+�text(�high%(time%),1152,39+time%*17,7)
�:�:ȗȓ0,0,1276,1020:�

&<��title:up%=0:up1%=0:up2%=0:scrx%=32:scrstx%=0:sccol%=63
08�19,0,24,0,0,0:�128Ȝ0:paused%=�:flash%=�:scrstep%=4
:-�"FX113,1":�"FX112,1":��=17:�esc:�:�end
D5�mouseoff:�score%(1)>high%(10):�enter(1):up1%=up%
N+�score%(2)>high%(10):�enter(2):up2%=up%
X-score%()=0:ȗȓ0,0,1276,1020:�"FX112,2":�
bȖ:�"FX113,1"
l)ș&2E,34+256,spr%,"menutitle",0,888,0
v/ș&2E,16+256,spr%,"scrback",0,20,20,1260,48
�5�slab(0,820,636,64):�text("High Scores:",-2,39,6)
�3�slab(0,72,636,64):�text("Start Game",-2,226,3)
�<�slab(0,140,636,676):clickstart%=�:�slab(640,888,636,64)
�/�slab(640,956,636,64):�slab(0,0,1276,68):�0
�ȓȐ16,16,1244,36
��tunes%>0 �
�'�text("Tune:",200,5,6):�tune(tune%)
��
�#�text("by Kev & Graham",-3,5,6)
�:�:�output:�slab(640,888,636,64):�slab(640,776,636,108)
�1�slab(640,708,636,64):�text("Words:",-3,67,6)
��slab(640,384,636,320)
�+�text("File: '"+wordfile$+"`",-3,133,6)
$�text("Load New Words",-3,148,3)
/�slab(640,316,636,64):�slab(640,72,636,240)
<�text("Players:",-3,22,6):�text("Skill Level:",-3,165,6)
 �time%=1�10
* �up1%<>time% � up2%<>time% �
4'�text(high$(time%),8,39+time%*17,6)
>+�text(�high%(time%),1152,39+time%*17,6)
H�
R'�text(high$(time%),8,39+time%*17,7)
\+�text(�high%(time%),1152,39+time%*17,7)
f!�:�:�i%=1�4:�ht(i%):�:�ptr(1)
p5ȗ�1,120,0,240:ȗ�3,80,0,160:Ȗ:�"FX112,1":�clear
z6�:�:ȗxx%,yy%,button%:�scroll:�button%:xx%=xx%�4*4
�yy%=yy%�4*4:� xx%>636 �
�7� yy%<=872 � yy%>=832 � comwords%:players%=1:�ht(1)
�+� yy%<=828 � yy%>=788:players%=2:�ht(1)
�,� yy%<=692 � yy%>=652:comwords%=�:�ht(2)
�9� yy%<=648 � yy%>=608 � players%=2:comwords%=�:�ht(2)
�,� yy%<=604 � yy%>=564:wordtype%=1:�ht(3)
�,� yy%<=560 � yy%>=520:wordtype%=2:�ht(3)
�#� yy%<=436 � yy%>=396:�newwords
�)� yy%<=300 � yy%>=260:skill%=1:�ht(4)
�)� yy%<=256 � yy%>=216:skill%=2:�ht(4)
�)� yy%<=212 � yy%>=172:skill%=3:�ht(4)
�)� yy%<=168 � yy%>=128:skill%=4:�ht(4)
�(� yy%<=124 � yy%>=84:skill%=5:�ht(4)
%�:�yy%<=124�yy%>=84:clickstart%=�
�:�yy%<=1004�yy%>=972 �
I� xx%>954 � xx%<1116:t%=(xx%-954)/32:�tunes%>0 � t%<=tunes%:�tune(t%)
$0� xx%>1180� xx%<1216:speak%=3-speak%:�output
.0�:�nb:�clickstart%:�getnames:�initgrid:�game
8�
B
L:��smid(sp$,sy%,gc%):�w%:ș &2E,40+256,spr%,sp$ � ,,,w%
V2ș &2E,34+256,spr%,sp$,(1276-w%*4)/2,sy%,gc%:�
`
j8��congrats:�"FX112,2":�slab(0,832,1276,60):�gotit% �
tȎ current% �
~C�1:�text("Well done "+name$(1)+"! (Bonus "+�bonus%+")",-1,36,1)
�C�2:�text("Well done "+name$(2)+"! (Bonus "+�bonus%+")",-1,36,4)
��:�"FX112,1":�i%=316�0�-4
�7�scale("wow!",i%,192+i%,1280-i%,832-i%):�:i%=�(200)
��"FX112,2"
�5�:�text("Tough buns! You didn't get it.",-1,36,7)
�9�:�x%=0�9:�y%=0�4:tile$="picture-"+�grid2%(x%+1,y%+1)
�)�tile$="picture-25":tile$="wild-card"
�/ș&2E,34+256,spr%,tile$,x%*128,y%*128+192,0
��:�:�clear:�
��gametitle
�3�scores:�"FX113,1":ȗ�1,120,0,240:ȗ�3,80,0,160
��ptr(4):�mouseon
)�:�"FX112,2":�0Ȝ0:ȓȐ0,192,1276,636

7�printword(display$(current%)):�slab(0,832,1276,60)
�players%=2 �
Ȏ current% �
(5�1:�text(name$(1)+"'s word to guess was",-1,36,1)
25�2:�text(name$(2)+"'s word to guess was",-1,36,4)
<�
F-�:�text("Your word to guess was",-1,36,1)
P0�:i%=�(380):�clear:�"FX112,1":Ȏ wordtype% �
Z�2:i%=�(400)
d�1:i%=�(200)
n)�printword(user$(current%)):i%=�(300)
x%�:�players%=2:current%=3-current%
��clear:�0:�
�
�*��end:�"FX113,1":�"FX112,2":�4:�128Ȝ0
��"FX13,4":�128:�:�clear
��=17 �
�4*IF "<Tracker$>"="Yes" THEN RMKILL TrackerModule
��"Unset Tracker$"
��"RMKILL AnimatedHourglass"
�%�"RMKILL TextFX":*Alphabet Latin1
��"Desktop"
��
�#Ȗ:�0:�"FX4":�:�" at line ";�:�
�
8��enter(n%):�i%=10�1�-1:�score%(n%)>high%(i%):up%=i%
�:�up%<10 �
?�i%=10�up%�-1:high%(i%)=high%(i%-1):high$(i%)=high$(i%-1):�
"*�:�slab(0,832,1276,60):�ins(name$(n%))
,Fhigh$(up%)=�getstring("Player "+�n%+" enter name: ",36,5,14,"A",0)
6&high%(up%)=score%(n%):�savetable:�
@
J��ins(ins$):�i%=1��ins$
T#�("FX138,0,"+�ins$,i%,1)):�:�
^
h��inittunes
rtunes%=0
|;ș"OS_File",5,"<WordPair$Dir>.Tune1" � e%:� e%:tunes%=1
�;ș"OS_File",5,"<WordPair$Dir>.Tune2" � e%:� e%:tunes%=2
�;ș"OS_File",5,"<WordPair$Dir>.Tune3" � e%:� e%:tunes%=3
�;ș"OS_File",5,"<WordPair$Dir>.Tune4" � e%:� e%:tunes%=4
�tuneloaded%=1
��
�
���tune(j%):�tunes%=0:�
�'�text("�"+�"����",tunes%),240,5,11)
�6�text(�(247+j%),240+8*j%,5,2):tune%=j%:�loadtune:�
�
�#��loadtune:�tuneloaded%=tune%:�
��tune%>tunes%:�
�(�tune%=0:�"PlayKill":tuneloaded%=0:�
?�ptr(2):�"FX200,3":�("PlayInit <WordPair$Dir>.Tune"+�tune%)
(�"FX200":tuneloaded%=tune%:�ptr(1):�

&��output:�speak%=1 �
0$�"Speaker On":�text("�",296,5,2)
:�
D&�"Speaker Off":�text("�",296,5,11)
N�:�
X
b'� �rspace(right$):�final$:final$=""
l;�i%=1��right$:�right$,i%,1)<>" ":final$+=�right$,i%,1)
v'�:final$=�final$+"     ",5):=final$
�
�#��esc:�mouseoff:�"FX4":clear%=�
��(-1)��(-2):clear%=�
��"Set Dummy Yes"
�.�"RMEnsure TrackerModule 000 Set Dummy No"
�1�("If Dummy="+�34+"Yes"+�34+" THEN PlayKill")
��"Unset Dummy"
��clear%:�end
��"FX113,1"
�7�"FX112,2":�4:�170Ȝ0:�:�clear:�19,0,24,130,130,130
�)�"FX112,2":�"FX113,2":�4:�170Ȝ0:�:�5
�I�getstring("Clear high-scores. Are you sure? ",124,5,3,"YN",0)="Y" �
�#high%()=0:high$()="":�savetable
�"FX112,1":�170Ȝ0:�
;�text("High score table is now empty.",-1,124,7):�clear

I%=�(500)
 �:�end:�
*
4*��scroll:�scrstx%=scrollmax%:scrstx%=1
>0�flash%:ș&2E,34+256,spr%,"scrback",16,20,0
H�5,24,26;12;1260;52;
R)�0Ȝ0:Ȗ:�scrx%+1232-scrstep%,48:�"�"
\&� �(scrolladdr%?(scrstx%-1))="\" �
fAsccol%=�(�(scrolladdr%?(scrstx%))+�(scrolladdr%?(scrstx%+1)))
pscrstx%+=3
z(�:� �(scrolladdr%?(scrstx%-1))="|" �
�6paused%=�:endtime%=��(scrolladdr%?(scrstx%))*100+�
�%�(scrolladdr%?(scrstx%+1))="]" �
�flash%=�:�26
�/ș&2E,16+256,spr%,"scrback",0,16,20,1256,48
��24,26;12;1260;52;
��:scrstx%+=3
�=�:� �(scrolladdr%?(scrstx%-1))="{":scrstep%=16:scrstx%+=1
�:� �(scrolladdr%?(scrstx%-1))="}":scrstep%=8:scrstx%+=1
�� � paused% �
�*�sccol%Ȝ192:�scrx%+1232-scrstep%-4,48
�
�+char_to_print = scrolladdr%?(scrstx%-1)
.� char_to_print
8
B0scrx%-=scrstep%:�scrx%=0:scrx%=32:scrstx%+=1
L	�4,26
V8ș&2E,16+256,spr%,"scrback",0,16+scrstep%,20,1260,48
`$�:�>endtime%:paused%=�:flash%=�
j
�flash% �
tȖ:Ȏ (endtime%-�)�50 �
~'� 1,3,5:�26:�0Ȝ0:ȓȐ16,16,1244,36
�3� 0,2,4:�26:ș&2E,34+256,spr%,"scrback",16,20,0
��
��:�4,26
��:�
�
�-��setupscroll:�i%,j%,scroll$:scrollmax%=0
�%file%=�"<WordPair$Dir>.Message":�
�'scroll$=�#file%:�scroll$,1)<>"/" �
�!�scroll$="@":scroll$=�38," ")
�scrollmax%+=�scroll$+1
��:��#file%
�-� scrolladdr% scrollmax%:i%=0:�#file%=0:�
'scroll$=�#file%:�scroll$,1)<>"/" �

!�scroll$="@":scroll$=�38," ")
:�j%=1��scroll$:scrolladdr%?(i%+j%-1)=��scroll$,j%,1):�
#scrolladdr%?(i%+j%-1)=32:i%+=j%
(�:��#file%:�#file%:�
2
</��choosepics:�"FX112,2":�170Ȝ0:�:�mouseoff
F,ȗ�1,120,0,240:ȗ�3,80,0,160:Ȏ skill% �
P� 1:numpics%=4
Z� 2:numpics%=6
d� 3:numpics%=8
n� 4:numpics%=12
x�
�$�text("Left button...",64,208,2)
�%�text("Right button...",64,220,2)
�&�text("Middle button...",64,232,2)
�'�text("selects picture",1256,208,6)
�)�text("deselects picture",1256,220,6)
�#�text("ends choice",1256,232,6)
�3�text("Choose "+�numpics%+" pictures.",-1,40,5)
�ȗȓ96,392,1076,396
�:totalpics%=0:chosen%()=0:�indicatepics:�x%=1�8:�y%=1�3
�Hș&2E,34+256,spr%,"picture-"+�(x%+(y%-1)*8),(x%-1)*136+96,y%*136+256
�7�:�:pic%()=0:�"FX112,1":�19,0,24,130,130,130:�clear
�!�ptr(1):�:�:ȗxx%,yy%,button%
�7�button%:xx%=xx%�4*4:yy%=yy%�4*4:px%=(xx%-96)/136+1
"py%=(yy%-256)/136:Ȏ button% �
_�4:�totalpics%<numpics% � chosen%(px%,py%)=0:chosen%(px%,py%)=1:totalpics%+=1:�indicatepics
X�1:�totalpics%>0 � chosen%(px%,py%)=1:chosen%(px%,py%)=0:totalpics%-=1:�indicatepics
"$�:�button%=2�totalpics%=numpics%
,counter%=1:�x%=1�8:�y%=1�3
6<�chosen%(x%,y%)=1:pic%(counter%)=x%+(y%-1)*8:counter%+=1
@	�:�:�
J
T+��indicatepics:�x%=1�8:�y%=1�3:�12Ȝ192
^�chosen%(x%,y%)=0:�42Ȝ0
h*ȓ(x%-1)*136+92,y%*136+252,132,132:�:�
r�42Ȝ0:ȓȐ0,316,1276,64
|1text$="You've chosen "+�totalpics%+" picture"
��totalpics%<>1:text$+="s"
��text(text$,-1,168,5):�
�
�0��chooseshape:�mouseoff:�"FX112,2":�170Ȝ0:�
�!�x%,y%,gx%,gy%,xx%,yy%,blank%
�#�text("THE BONUS SHAPE",-1,8,5)
�+�text("(Leave it blank if you",-1,20,6)
�*�text("don't want to use it)",-1,32,6)
�$�text("Left button...",64,220,2)
�%�text("Right button...",64,232,2)
�&�text("Middle button...",64,244,2)
�#�text("sets square",1256,220,6)
�%�text("unsets square",1256,232,6)
#�text("starts game",1256,244,6)
 ȗ�1,120,0,240:ȗ�3,80,0,160
6�x%=0�4:�y%=0�4:tile$="choose-"+�shapegrid%(x%,y%)
&7ș&2E,34+256,spr%,tile$,320+x%*128,704-y%*128,0:�:�
0&�"FX112,1":�0Ȝ0:ȓ316,188,644,644
:;ȗȓ320,192,636,636:�19,0,24,130,130,130:�clear:�ptr(1)
D�mouseon
N4�:�:ȗxx%,yy%,button%:�button%:gx%=(xx%-320)/128
X$gy%=(700-yy%)/128+1:Ȏ button% �
b � 1:�shapegrid%(gx%,gy%)=1 �
lshapegrid%(gx%,gy%)=0
v:ș&2E,34+256,spr%,"choose-0",320+gx%*128,704-gy%*128,0
��
� � 4:�shapegrid%(gx%,gy%)=0 �
�shapegrid%(gx%,gy%)=1
�:ș&2E,34+256,spr%,"choose-1",320+gx%*128,704-gy%*128,0
��
�*�:�button%=2:shapes%=�:�x%=0�4:�y%=0�4
�"�shapegrid%(x%,y%)=1:shapes%=�
�+�:�:�128:� � shapes%:�23,252,0;0;0;0;:�
�3�:blank%=�:�y%=0�4:�shapegrid%(0,y%)=1:blank%=�
��:�blank%=� �
�=�x%=1�4:�y%=0�4:shapegrid%(x%-1,y%)=shapegrid%(x%,y%):�:�
� �y%=0�4:shapegrid%(4,y%)=0:�
��:�blank%=�
3�:blank%=�:�x%=0�4:�shapegrid%(x%,0)=1:blank%=�
�:�blank%=� �
=�y%=1�4:�x%=0�4:shapegrid%(x%,y%-1)=shapegrid%(x%,y%):�:�
  �x%=0�4:shapegrid%(x%,4)=0:�
*�:�blank%=�
4�23,252:�y%=0�4
>3line$="000":�x%=0�4:line$+=�shapegrid%(x%,y%):�
H�("%"+line$):�:�0,0,0
R9x%=4:�:blank%=�:�y%=0�4:�shapegrid%(x%,y%)=1:blank%=�
\�:x%-=1:�blank%=� � x%=-1
fshapew%=x%+2
p9y%=4:�:blank%=�:�x%=0�4:�shapegrid%(x%,y%)=1:blank%=�
z�:y%-=1:�blank%=� � y%=-1
�shapeh%=y%+2
��
�
�6��showword(pl%):�x%,y%,letter$,partx%,party%,type$
�*�x%=0�9:�y%=0�4:�grid%(x%+1,y%+1)<26 �
�5ș&2E,34+256,spr%,"grid-slab",x%*128,y%*128+192,0
�>�:letter$=�display$(pl%),x%�2+1,1):partx%=x%�2:party%=4-y%
��letter$>" " �
�<type$="letterp-"+�alphpart%(partx%,party%,�(letter$)-65)
�/ș&2E,34+256,spr%,type$,x%*128,y%*128+192,0
�7�:ș&2E,34+256,spr%,"letterp-0",x%*128,y%*128+192,0
��
��:�:�:�

!��initletters:��D^_:�i%,x%,y%
�alphpart%(1,4,25)
$9�i%=0�25:�y%=0�4:�x%=0�1:�alphpart%(x%,y%,i%):�x%:�y%
.	�i%:�
8
B9��printword(word$):�x%,y%,letter$,partx%,party%,type$
L�x%=0�9:�y%=0�4
V4letter$=�word$,x%�2+1,1):partx%=x%�2:party%=4-y%
`�letter$>" " �
j<type$="letterp-"+�alphpart%(partx%,party%,�(letter$)-65)
t/ș&2E,34+256,spr%,type$,x%*128,y%*128+192,0
~=�:ș&2E,34+256,spr%,"letterp-0",type$,x%*128,y%*128+192,0
��:�:�:�
�
���checkshape:� � shapes%:�
�@�xx%,yy%,x%,y%,h%,v%,yes%,col%,bonus%,number%,num%:number%=0
�&�xx%=1�11-shapew%:�yy%=1�6-shapeh%
�*yes%=�:�x%=0�shapew%-1:�y%=0�shapeh%-1
�K�grid%(xx%+x%,yy%+y%)<>25+current%�shapegrid%(x%,shapeh%-y%-1)=1:yes%=�
��:�:� yes% �
�h%=xx%:v%=yy%:number%+=1
�*num%=0:�x%=0�shapew%-1:�y%=0�shapeh%-1
�R�shapegrid%(x%,shapeh%-y%-1)=1:num%+=1:turnx%(num%)=xx%+x%:turny%(num%)=yy%+y%
�5�:�:�turnover(num%):shapes%(current%)+=1:I%=�(10)
�:�:�:�number%>0 �

@text$="You've made "+�number%+" shape":�number%>1:text$+="s"
<bonus%=2*num%-1:text$+="! (bonus "+�(number%*bonus%)+")"
$score%(current%)+=number%*bonus%
(col%=1:�current%=2:col%=4
20�slab(0,832,1276,60):�text(text$,-1,36,col%)
<
I%=�(200)
F�:�
P
Z ��text(text$,x%,y%,col%):�i%
d%�+(11+col%):�i%=0�7:�shades%?i%:�
n
x�x%<0 � x%>1000 �
�len%=�width(text$)
�Ȏ x% �
�� -1:x%=160-len%/2
�� -2:x%=80-len%/2
�� -3:x%=240-len%/2
��
��x%>1000:x%=(x%-1000)-len%
��
�@ș"TextFX_PrintText",1,text$,x%,y%,shades%,0:�:� Call to Mod
�
�-� 16,17,18,19,60,61,62,63:REM         Red
�/� 64,65,66,67,108,109,110,111:REM     Green
�0� 80,81,82,83,124,125,126,127:REM     Yellow
.� 128,129,130,131,172,173,174,175:REM Blue
1� 144,145,146,147,188,189,190,191:REM Magenta
.� 192,193,194,195,236,237,238,239:REM Cyan
"/� 208,209,210,211,252,253,254,255:REM White
,0� 132,133,134,135,184,185,186,187:REM Purple
6:
@:
J6� 208,208,208,208,208,208,208,208:REM Uniform grey
T
^)� 1,2,7,10,16,17,7,10,8,11:REM      A
h)� 5,2,7,10,16,39,7,10,6,4:REM       B
r)� 1,2,7,11,7,0,7,12,3,4:REM         C
|)� 5,2,7,10,7,10,7,10,6,4:REM        D
�)� 5,13,7,0,16,15,7,0,6,14:REM       E
�)� 5,13,7,0,16,15,7,0,8,0:REM        F
�)� 1,2,7,11,7,18,7,10,3,4:REM        G
�)� 9,12,7,10,16,17,7,10,8,11:REM     H
�)� 31,32,33,34,33,34,33,34,35,36:REM I
�)� 0,12,0,10,0,10,9,10,3,4:REM       J
�)� 9,45,21,30,25,29,7,27,8,11:REM    K
�)� 9,0,7,0,7,0,7,0,6,14:REM          L
�)� 23,24,25,26,7,10,7,10,8,11:REM    M
�)� 9,12,41,10,25,22,7,42,8,11:REM    N
�)� 1,2,7,10,7,10,7,10,3,4:REM        O
�)� 5,2,7,10,40,4,7,0,8,0:REM         P
�)� 1,2,7,10,7,10,7,10,3,43:REM       Q
 )� 5,2,7,10,16,39,7,10,8,11:REM      R
 )� 1,2,50,11,51,52,9,53,3,4:REM      S
 )� 31,32,33,34,33,34,33,34,37,38:REM T
 &)� 9,12,7,10,7,10,7,10,3,4:REM       U
 0)� 9,12,7,10,7,10,48,61,49,62:REM    V
 :)� 9,12,7,10,7,10,21,22,19,20:REM    W
 D)� 44,45,46,47,33,34,54,55,59,60:REM X
 N)� 44,45,46,47,33,34,33,34,37,38:REM Y
 X)� 56,57,0,61,58,62,28,0,6,14:REM    Z
 b
 l��mouseon:�"Animate On":�
 v
 �$��mouseoff:�"Animate Off":ȗ �:�
 �
 �-��ptr(type%):�mouseoff:�p%=1�4:Ȏ type% �
 �0� 1:ș&2E,36+256,spr%,"ptr_pairs"+�p%,p%,0,0
 �3� 2:ș&2E,36+256,spr%,"ptr_loading"+�p%,p%,13,8
 �2� 3:ș&2E,36+256,spr%,"ptr_congrat"+�p%,p%,8,8
 �0� 4:ș&2E,36+256,spr%,"ptr_efm"+�p%,p%,16,12
 ��:ȗ�:�:�mouseon:�
 �
 �(� �armcode:� dispace%,i%,pass%,code%
 �@� dispace% 80*64:time%=32:�i%=0�80*64:dispace%?i%=�(time%):�
 �/�code% 512:�pass%=0�2�2:P%=code%:[OPT pass%
 �?.scr1 EQUD &1FD8000:.scr2 EQUD &1FEC000:.diss EQUD dispace%
!G.clear:STMFD R13!,{R0-R12,R14}:MOV R12,#320:LDR R0,scr1:LDR R1,scr2
!HLDR R2,diss:MOV R3,#time%:.loop1:MOV R4,#79:.loop2:MOV R5,#63:.loop3
!:ADD R6,R4,R5,LSL #6:LDRB R6,[R2,R6]:CMP R6,R3:BNE next
! .MLA R7,R5,R12,R4:ADD R8,R7,R0:ADD R9,R7,R1
!*%STMFD R13!,{R0-R4}:ADR R4,offsets
!4]:�i%=1�4:[OPT pass%
!>LDMIA R4!,{R0-R3}
!HGLDRB R10,[R9,R0]:LDRB R11,[R8,R0]:STRB R10,[R8,R0]:STRB R11,[R9,R0]
!RGLDRB R10,[R9,R1]:LDRB R11,[R8,R1]:STRB R10,[R8,R1]:STRB R11,[R9,R1]
!\GLDRB R10,[R9,R2]:LDRB R11,[R8,R2]:STRB R10,[R8,R2]:STRB R11,[R9,R2]
!fGLDRB R10,[R9,R3]:LDRB R11,[R8,R3]:STRB R10,[R8,R3]:STRB R11,[R9,R3]
!p]:�:[OPT pass%
!zLDMFD R13!,{R0-R4}
!�9.next:SUBS R5,R5,#1:BPL loop3:SUBS R4,R4,#1:BPL loop2
!�2SUBS R3,R3,#1:BNE loop1:LDMFD R13!,{R0-R12,PC}
!�.offsets
!�$EQUD 0:EQUD 80:EQUD 160:EQUD 240
!�>EQUD 320*64:EQUD 320*64+80:EQUD 320*64+160:EQUD 320*64+240
!�BEQUD 320*128:EQUD 320*128+80:EQUD 320*128+160:EQUD 320*128+240
!�BEQUD 320*192:EQUD 320*192+80:EQUD 320*192+160:EQUD 320*192+240
!�]�
!�� 13+128:�
!�N� kev 16:!kev=149:kev!4=-1:ș6,112,1:ș6,113,1:ș&31,kev,kev+8:!scr1=kev!8
!�P           !kev=149:kev!4=-1:ș6,112,2:ș6,113,2:ș&31,kev,kev+8:!scr2=kev!8
!�ș6,112,2:ș6,113,1
!�� 13 : �
"�
"
"E� �readfiles(dir$,filetype%):� curfile%,file%,name$,name%,number%
"$$curfile%=1:fname$()="":file%=0:�
".:ș"OS_GBPB",10,dir$,block%,1,file%,63,"*" � ,,,number%
"8name$="":name%=&14
"Bȕ block%?name%<>0
"L#name$+=�(block%?name%):name%+=1
"V�
"`I�((!block% >>> 8)� &FFF)=filetype%:fname$(curfile%)=name$:curfile%+=1
"j$file%+=1:�number%<>1:=curfile%-2
�
00000000  0d 00 0a 23 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |...#. >!RunImage|
00000010  20 28 21 57 6f 72 64 50  61 69 72 73 20 76 34 2e  | (!WordPairs v4.|
00000020  30 30 29 0d 00 14 2d f4  20 42 72 6f 75 67 68 74  |00)...-. Brought|
00000030  20 74 6f 20 79 6f 75 20  62 79 20 41 72 63 68 69  | to you by Archi|
00000040  6d 65 64 65 73 20 57 6f  72 6c 64 20 31 39 39 34  |medes World 1994|
00000050  0d 00 1e 1d f4 20 a9 20  41 72 63 68 69 6d 65 64  |..... . Archimed|
00000060  65 73 20 57 6f 72 6c 64  20 31 39 39 34 0d 00 28  |es World 1994..(|
00000070  34 f4 20 43 6f 64 65 20  61 6d 65 6e 64 6d 65 6e  |4. Code amendmen|
00000080  74 73 20 62 79 20 4b 65  76 69 6e 20 4a 20 53 77  |ts by Kevin J Sw|
00000090  69 6e 74 6f 6e 20 26 20  47 2e 53 74 61 6e 6c 65  |inton & G.Stanle|
000000a0  79 0d 00 32 0c eb 20 31  33 2b 31 32 38 0d 00 3c  |y..2.. 13+128..<|
000000b0  04 0d 00 46 1b 20 de 20  6b 65 76 73 5f 66 6f 6e  |...F. . kevs_fon|
000000c0  74 5f 64 61 74 61 20 38  2a 32 32 34 0d 00 50 39  |t_data 8*224..P9|
000000d0  20 ff 20 22 4c 6f 61 64  20 3c 57 6f 72 64 50 61  | . "Load <WordPa|
000000e0  69 72 24 44 69 72 3e 2e  57 6f 72 64 46 6f 6e 74  |ir$Dir>.WordFont|
000000f0  20 22 20 2b 20 c3 7e 6b  65 76 73 5f 66 6f 6e 74  | " + .~kevs_font|
00000100  5f 64 61 74 61 0d 00 5a  27 20 c8 99 20 22 4f 53  |_data..Z' .. "OS|
00000110  5f 4d 6f 64 75 6c 65 22  2c 31 38 2c 22 54 65 78  |_Module",18,"Tex|
00000120  74 46 58 22 20 b8 20 2c  2c 2c 72 33 0d 00 64 1c  |tFX" . ,,,r3..d.|
00000130  20 72 33 21 26 39 34 20  3d 20 6b 65 76 73 5f 66  | r3!&94 = kevs_f|
00000140  6f 6e 74 5f 64 61 74 61  0d 00 65 28 20 6f 20 3d  |ont_data..e( o =|
00000150  20 6b 65 76 73 5f 66 6f  6e 74 5f 64 61 74 61 20  | kevs_font_data |
00000160  3a 20 e3 20 69 20 3d 20  33 32 20 b8 20 32 35 35  |: . i = 32 . 255|
00000170  0d 00 66 42 20 ef 32 33  2c 69 2c 3f 28 6f 2b 30  |..fB .23,i,?(o+0|
00000180  29 2c 3f 28 6f 2b 31 29  2c 3f 28 6f 2b 32 29 2c  |),?(o+1),?(o+2),|
00000190  3f 28 6f 2b 33 29 2c 3f  28 6f 2b 34 29 2c 3f 28  |?(o+3),?(o+4),?(|
000001a0  6f 2b 35 29 2c 3f 28 6f  2b 36 29 2c 3f 28 6f 2b  |o+5),?(o+6),?(o+|
000001b0  37 29 0d 00 67 0f 20 6f  20 2b 3d 20 38 20 3a 20  |7)..g. o += 8 : |
000001c0  ed 0d 00 6e 04 0d 00 78  17 ee 85 3a 73 61 76 65  |...n...x...:save|
000001d0  74 61 62 25 3d a3 3a e5  8d 74 56 40 0d 00 82 21  |tab%=.:..tV@...!|
000001e0  66 69 6c 65 25 3d ae 22  3c 57 6f 72 64 50 61 69  |file%=."<WordPai|
000001f0  72 24 44 69 72 3e 2e 44  75 6d 6d 79 22 0d 00 8c  |r$Dir>.Dummy"...|
00000200  35 d9 23 66 69 6c 65 25  3a ff 22 44 65 6c 65 74  |5.#file%:."Delet|
00000210  65 20 3c 57 6f 72 64 50  61 69 72 24 44 69 72 3e  |e <WordPair$Dir>|
00000220  2e 44 75 6d 6d 79 22 3a  73 61 76 65 74 61 62 25  |.Dummy":savetab%|
00000230  3d b9 0d 00 96 25 ee 85  3a eb 30 3a 87 3a f6 3a  |=....%..:.0:.:.:|
00000240  f1 22 20 61 74 20 6c 69  6e 65 20 22 3b 9e 3a c8  |." at line ";.:.|
00000250  97 88 34 2c 34 3a e0 0d  00 a0 43 f2 69 6e 69 74  |..4,4:....C.init|
00000260  3a 2a 49 46 20 22 3c 54  72 61 63 6b 65 72 24 3e  |:*IF "<Tracker$>|
00000270  22 3d 22 59 65 73 22 20  54 48 45 4e 20 50 6c 61  |"="Yes" THEN Pla|
00000280  79 49 6e 69 74 20 3c 57  6f 72 64 50 61 69 72 24  |yInit <WordPair$|
00000290  44 69 72 3e 2e 54 75 6e  65 31 0d 00 aa 25 ff 22  |Dir>.Tune1...%."|
000002a0  48 6f 75 72 67 6c 61 73  73 20 4f 66 66 22 3a c8  |Hourglass Off":.|
000002b0  97 ee 33 3a e3 63 25 3d  31 35 b8 30 88 2d 31 0d  |..3:.c%=15.0.-1.|
000002c0  00 b4 21 c8 97 fb 31 2c  28 31 34 30 2f 31 35 29  |..!...1,(140/15)|
000002d0  2a 63 25 2c 28 38 30 2f  31 35 29 2a 63 25 2c 30  |*c%,(80/15)*c%,0|
000002e0  0d 00 be 22 c8 97 fb 32  2c 28 31 38 30 2f 31 35  |..."...2,(180/15|
000002f0  29 2a 63 25 2c 28 31 32  30 2f 31 35 29 2a 63 25  |)*c%,(120/15)*c%|
00000300  2c 30 0d 00 c8 2c c8 97  fb 33 2c 28 31 38 30 2f  |,0...,...3,(180/|
00000310  31 35 29 2a 63 25 2c 28  31 38 30 2f 31 35 29 2a  |15)*c%,(180/15)*|
00000320  63 25 2c 28 31 38 30 2f  31 35 29 2a 63 25 0d 00  |c%,(180/15)*c%..|
00000330  d2 17 c8 96 3a ed 3a c8  97 87 3a c8 97 b8 36 34  |....:.:...:...64|
00000340  30 2c 35 31 32 0d 00 dc  1d ff 22 46 58 31 31 32  |0,512....."FX112|
00000350  2c 32 22 3a db 3a d6 63  6c 65 61 72 3a c8 99 26  |,2":.:.clear:..&|
00000360  33 36 0d 00 e6 13 c8 97  88 32 2c 32 3a f2 74 69  |36.......2,2:.ti|
00000370  74 6c 65 3a e0 0d 00 f0  04 0d 00 fa 1f dd f2 6c  |tle:...........l|
00000380  6f 61 64 73 70 72 69 74  65 73 3a ea 20 66 69 6c  |oadsprites:. fil|
00000390  65 25 2c 72 72 6f 6d 25  0d 01 04 36 c8 99 22 4f  |e%,rrom%...6.."O|
000003a0  53 5f 46 69 6c 65 22 2c  35 2c 22 3c 57 6f 72 64  |S_File",5,"<Word|
000003b0  50 61 69 72 24 44 69 72  3e 2e 53 70 72 69 74 65  |Pair$Dir>.Sprite|
000003c0  73 22 20 b8 20 2c 2c 2c  2c 72 6f 6f 6d 25 0d 01  |s" . ,,,,room%..|
000003d0  0e 49 de 73 70 72 25 20  72 6f 6f 6d 25 2b 33 32  |.I.spr% room%+32|
000003e0  2c 73 63 61 6c 65 25 20  31 36 3a 21 73 70 72 25  |,scale% 16:!spr%|
000003f0  3d 72 6f 6f 6d 25 2b 33  32 3a 73 70 72 25 21 34  |=room%+32:spr%!4|
00000400  3d 30 3a 73 70 72 25 21  38 3d 31 36 3a 73 70 72  |=0:spr%!8=16:spr|
00000410  25 21 31 32 3d 31 36 0d  01 18 30 c8 99 26 32 45  |%!12=16...0..&2E|
00000420  2c 31 30 2b 32 35 36 2c  73 70 72 25 2c 22 3c 57  |,10+256,spr%,"<W|
00000430  6f 72 64 50 61 69 72 24  44 69 72 3e 2e 53 70 72  |ordPair$Dir>.Spr|
00000440  69 74 65 73 22 3a e1 0d  01 22 04 0d 01 2c 30 dd  |ites":..."...,0.|
00000450  f2 63 6f 75 6e 74 77 6f  72 64 73 3a ea 69 25 2c  |.countwords:.i%,|
00000460  66 69 6c 65 25 3a 77 6f  72 64 73 25 28 29 3d 30  |file%:words%()=0|
00000470  3a 6d 61 78 77 6f 72 64  25 3d 30 0d 01 36 14 e3  |:maxword%=0..6..|
00000480  69 25 3d 31 b8 77 6f 72  64 66 69 6c 65 73 25 0d  |i%=1.wordfiles%.|
00000490  01 40 2f 66 69 6c 65 25  3d 8e 28 22 3c 57 6f 72  |.@/file%=.("<Wor|
000004a0  64 50 61 69 72 24 44 69  72 3e 2e 57 6f 72 64 73  |dPair$Dir>.Words|
000004b0  2e 22 2b 66 6e 61 6d 65  24 28 69 25 29 29 0d 01  |."+fname$(i%))..|
000004c0  4a 20 f5 3a e7 20 9a 23  66 69 6c 65 25 3d 31 30  |J .:. .#file%=10|
000004d0  3a 77 6f 72 64 73 25 28  69 25 29 2b 3d 31 0d 01  |:words%(i%)+=1..|
000004e0  54 3d fd c5 23 66 69 6c  65 25 3a d9 23 66 69 6c  |T=..#file%:.#fil|
000004f0  65 25 3a e7 77 6f 72 64  73 25 28 69 25 29 3e 6d  |e%:.words%(i%)>m|
00000500  61 78 77 6f 72 64 25 3a  6d 61 78 77 6f 72 64 25  |axword%:maxword%|
00000510  3d 77 6f 72 64 73 25 28  69 25 29 0d 01 5e 07 ed  |=words%(i%)..^..|
00000520  3a e1 0d 01 68 04 0d 01  72 30 dd f2 6c 6f 61 64  |:...h...r0..load|
00000530  77 6f 72 64 73 3a ea 20  66 69 6c 65 25 2c 69 25  |words:. file%,i%|
00000540  2c 6a 25 2c 73 74 72 69  6e 67 24 3a 6d 61 78 77  |,j%,string$:maxw|
00000550  6f 72 64 25 3d 30 0d 01  7c 30 e3 69 25 3d 31 b8  |ord%=0..|0.i%=1.|
00000560  77 6f 72 64 66 69 6c 65  73 25 3a e7 77 6f 72 64  |wordfiles%:.word|
00000570  66 69 6c 65 24 3d 66 6e  61 6d 65 24 28 69 25 29  |file$=fname$(i%)|
00000580  3a 6a 25 3d 69 25 0d 01  86 30 ed 3a 66 69 6c 65  |:j%=i%...0.:file|
00000590  25 3d 8e 28 22 3c 57 6f  72 64 50 61 69 72 24 44  |%=.("<WordPair$D|
000005a0  69 72 3e 2e 57 6f 72 64  73 2e 22 2b 77 6f 72 64  |ir>.Words."+word|
000005b0  66 69 6c 65 24 29 0d 01  90 31 6d 61 78 77 6f 72  |file$)...1maxwor|
000005c0  64 25 3d 77 6f 72 64 73  25 28 6a 25 29 3a e3 69  |d%=words%(j%):.i|
000005d0  25 3d 31 b8 6d 61 78 77  6f 72 64 25 3a 73 74 72  |%=1.maxword%:str|
000005e0  69 6e 67 24 3d 22 22 0d  01 9a 2e f5 3a 62 79 74  |ing$="".....:byt|
000005f0  65 25 3d 9a 23 66 69 6c  65 25 3a e7 62 79 74 65  |e%=.#file%:.byte|
00000600  25 3c 3e 31 30 3a 73 74  72 69 6e 67 24 2b 3d bd  |%<>10:string$+=.|
00000610  62 79 74 65 25 0d 01 a4  35 fd 62 79 74 65 25 3d  |byte%...5.byte%=|
00000620  31 30 3a 77 6f 72 64 24  28 69 25 29 3d c0 73 74  |10:word$(i%)=.st|
00000630  72 69 6e 67 24 2b 22 20  20 20 20 20 22 2c 35 29  |ring$+"     ",5)|
00000640  3a ed 3a d9 23 66 69 6c  65 25 0d 01 ae 05 e1 0d  |:.:.#file%......|
00000650  01 b8 04 0d 01 c2 2e dd  f2 69 6e 69 74 3a ea 6c  |.........init:.l|
00000660  69 6e 65 24 2c 78 25 2c  79 25 3a 77 6f 72 64 66  |ine$,x%,y%:wordf|
00000670  69 6c 65 24 3d 22 35 4c  65 74 74 65 72 4d 69 78  |ile$="5LetterMix|
00000680  22 0d 01 cc 2d e3 69 25  3d 33 32 b8 32 35 35 3a  |"...-.i%=32.255:|
00000690  c8 99 22 54 65 78 74 46  58 5f 43 61 6c 63 75 6c  |.."TextFX_Calcul|
000006a0  61 74 65 57 69 64 74 68  22 2c 69 25 3a ed 0d 01  |ateWidth",i%:...|
000006b0  d6 34 c8 99 22 54 65 78  74 46 58 5f 53 65 74 57  |.4.."TextFX_SetW|
000006c0  69 64 74 68 22 2c 33 32  2c 34 20 3a ff 20 22 46  |idth",32,4 :. "F|
000006d0  58 32 30 22 3a f4 20 43  61 6c 6c 20 74 6f 20 4d  |X20":. Call to M|
000006e0  6f 64 0d 01 e0 2f ff 22  46 58 34 2c 31 22 3a 70  |od.../."FX4,1":p|
000006f0  6c 61 79 65 72 73 25 3d  31 3a 63 6f 6d 77 6f 72  |layers%=1:comwor|
00000700  64 73 25 3d b9 3a 77 6f  72 64 74 79 70 65 25 3d  |ds%=.:wordtype%=|
00000710  31 0d 01 ea 36 73 6b 69  6c 6c 25 3d 31 3a 74 75  |1...6skill%=1:tu|
00000720  6e 65 25 3d 31 3a c8 99  26 34 30 31 34 33 20 b8  |ne%=1:..&40143 .|
00000730  20 73 70 65 61 6b 25 3a  73 70 65 61 6b 25 3d 33  | speak%:speak%=3|
00000740  2d 73 70 65 61 6b 25 0d  01 f4 19 de 62 6c 6f 63  |-speak%.....bloc|
00000750  6b 25 20 36 34 2c 66 6e  61 6d 65 24 28 32 35 29  |k% 64,fname$(25)|
00000760  0d 01 fe 36 77 6f 72 64  66 69 6c 65 73 25 3d a4  |...6wordfiles%=.|
00000770  72 65 61 64 66 69 6c 65  73 28 22 3c 57 6f 72 64  |readfiles("<Word|
00000780  50 61 69 72 24 44 69 72  3e 2e 57 6f 72 64 73 22  |Pair$Dir>.Words"|
00000790  2c 26 46 46 46 29 0d 02  08 2c de 77 6f 72 64 73  |,&FFF)...,.words|
000007a0  25 28 32 35 29 3a f2 63  6f 75 6e 74 77 6f 72 64  |%(25):.countword|
000007b0  73 3a de 77 6f 72 64 24  28 6d 61 78 77 6f 72 64  |s:.word$(maxword|
000007c0  25 29 0d 02 12 48 de 73  63 6f 72 65 25 28 32 29  |%)...H.score%(2)|
000007d0  2c 74 72 69 65 73 25 28  32 29 2c 74 69 6c 65 73  |,tries%(2),tiles|
000007e0  25 28 32 29 2c 73 74 72  25 28 38 29 2c 67 72 69  |%(2),str%(8),gri|
000007f0  64 25 28 31 30 2c 35 29  2c 6e 61 6d 65 24 28 32  |d%(10,5),name$(2|
00000800  29 2c 75 73 65 72 24 28  32 29 0d 02 1c 47 de 64  |),user$(2)...G.d|
00000810  69 73 70 6c 61 79 24 28  32 29 2c 68 69 67 68 24  |isplay$(2),high$|
00000820  28 31 30 29 2c 68 69 67  68 25 28 31 30 29 2c 67  |(10),high%(10),g|
00000830  72 69 64 32 25 28 31 30  2c 35 29 2c 70 69 63 25  |rid2%(10,5),pic%|
00000840  28 32 34 29 2c 63 68 6f  73 65 6e 25 28 38 2c 33  |(24),chosen%(8,3|
00000850  29 0d 02 26 41 de 73 68  61 70 65 73 25 28 32 29  |)..&A.shapes%(2)|
00000860  2c 73 68 61 70 65 67 72  69 64 25 28 34 2c 34 29  |,shapegrid%(4,4)|
00000870  2c 63 68 61 6e 67 65 78  25 28 32 29 2c 63 68 61  |,changex%(2),cha|
00000880  6e 67 65 79 25 28 32 29  2c 73 68 61 64 65 73 25  |ngey%(2),shades%|
00000890  20 38 0d 02 30 1a de 74  75 72 6e 78 25 28 32 35  | 8..0..turnx%(25|
000008a0  29 2c 74 75 72 6e 79 25  28 32 35 29 0d 02 3a 33  |),turny%(25)..:3|
000008b0  f2 6c 6f 61 64 73 70 72  69 74 65 73 3a f2 6c 6f  |.loadsprites:.lo|
000008c0  61 64 77 6f 72 64 73 3a  f2 6c 6f 61 64 74 61 62  |adwords:.loadtab|
000008d0  6c 65 3a f2 69 6e 69 74  6c 65 74 74 65 72 73 0d  |le:.initletters.|
000008e0  02 44 38 f2 69 6e 69 74  74 75 6e 65 73 3a f2 73  |.D8.inittunes:.s|
000008f0  65 74 75 70 73 63 72 6f  6c 6c 3a f2 61 72 6d 63  |etupscroll:.armc|
00000900  6f 64 65 3a 73 68 61 70  65 77 25 3d 32 3a 73 68  |ode:shapew%=2:sh|
00000910  61 70 65 68 25 3d 32 0d  02 4e 20 f7 8d 44 76 42  |apeh%=2..N ..DvB|
00000920  3a e3 79 25 3d 30 b8 34  3a f3 6c 69 6e 65 24 3a  |:.y%=0.4:.line$:|
00000930  e3 78 25 3d 30 b8 34 0d  02 58 2b 73 68 61 70 65  |.x%=0.4..X+shape|
00000940  67 72 69 64 25 28 78 25  2c 79 25 29 3d bb c1 6c  |grid%(x%,y%)=..l|
00000950  69 6e 65 24 2c 78 25 2b  31 2c 31 29 3a ed 3a ed  |ine$,x%+1,1):.:.|
00000960  3a e1 0d 02 62 04 0d 02  6c 19 f4 20 44 65 66 61  |:...b...l.. Defa|
00000970  75 6c 74 20 62 6f 6e 75  73 20 73 68 61 70 65 0d  |ult bonus shape.|
00000980  02 76 0b dc 20 31 31 30  30 30 0d 02 80 0b dc 20  |.v.. 11000..... |
00000990  31 31 30 30 30 0d 02 8a  0b dc 20 30 30 30 30 30  |11000..... 00000|
000009a0  0d 02 94 0b dc 20 30 30  30 30 30 0d 02 9e 0b dc  |..... 00000.....|
000009b0  20 30 30 30 30 30 0d 02  a8 04 0d 02 b2 30 dd f2  | 00000.......0..|
000009c0  69 6e 69 74 67 72 69 64  3a 67 72 69 64 25 28 29  |initgrid:grid%()|
000009d0  3d 30 3a ea 61 25 2c 62  25 2c 78 25 2c 79 25 2c  |=0:.a%,b%,x%,y%,|
000009e0  6d 61 25 2c 6d 62 25 2c  41 25 0d 02 bc 21 41 25  |ma%,mb%,A%...!A%|
000009f0  3d b3 28 2d bb c1 91 24  2c 32 33 2c 32 29 29 3a  |=.(-...$,23,2)):|
00000a00  c8 8e 20 73 6b 69 6c 6c  25 20 ca 0d 02 c6 13 c9  |.. skill% ......|
00000a10  31 3a 6d 61 25 3d 34 3a  6d 62 25 3d 31 32 0d 02  |1:ma%=4:mb%=12..|
00000a20  d0 12 c9 32 3a 6d 61 25  3d 36 3a 6d 62 25 3d 38  |...2:ma%=6:mb%=8|
00000a30  0d 02 da 12 c9 33 3a 6d  61 25 3d 38 3a 6d 62 25  |.....3:ma%=8:mb%|
00000a40  3d 36 0d 02 e4 13 c9 34  3a 6d 61 25 3d 31 32 3a  |=6.....4:ma%=12:|
00000a50  6d 62 25 3d 34 0d 02 ee  13 c9 35 3a 6d 61 25 3d  |mb%=4.....5:ma%=|
00000a60  32 34 3a 6d 62 25 3d 32  0d 02 f8 2c cb 3a e3 61  |24:mb%=2...,.:.a|
00000a70  25 3d 31 b8 6d 61 25 3a  e3 62 25 3d 31 b8 6d 62  |%=1.ma%:.b%=1.mb|
00000a80  25 3a f5 3a 78 25 3d b3  28 31 30 29 3a 79 25 3d  |%:.:x%=.(10):y%=|
00000a90  b3 28 35 29 0d 03 02 37  fd 67 72 69 64 25 28 78  |.(5)...7.grid%(x|
00000aa0  25 2c 79 25 29 3d 30 3a  67 72 69 64 25 28 78 25  |%,y%)=0:grid%(x%|
00000ab0  2c 79 25 29 3d 70 69 63  25 28 61 25 29 3a ed 3a  |,y%)=pic%(a%):.:|
00000ac0  ed 3a e3 61 25 3d 31 b8  32 3a f5 0d 03 0c 36 78  |.:.a%=1.2:....6x|
00000ad0  25 3d b3 28 31 30 29 3a  79 25 3d b3 28 35 29 3a  |%=.(10):y%=.(5):|
00000ae0  fd 67 72 69 64 25 28 78  25 2c 79 25 29 3d 30 3a  |.grid%(x%,y%)=0:|
00000af0  67 72 69 64 25 28 78 25  2c 79 25 29 3d 32 35 3a  |grid%(x%,y%)=25:|
00000b00  ed 0d 03 16 16 67 72 69  64 32 25 28 29 3d 67 72  |.....grid2%()=gr|
00000b10  69 64 25 28 29 3a e1 0d  03 20 04 0d 03 2a 2e dd  |id%():... ...*..|
00000b20  f2 73 6c 61 62 28 78 25  2c 79 25 2c 77 25 2c 68  |.slab(x%,y%,w%,h|
00000b30  25 29 3a e6 34 32 c8 9c  30 3a c8 93 c8 90 78 25  |%):.42..0:....x%|
00000b40  2c 79 25 2c 77 25 2c 68  25 0d 03 34 32 e6 36 33  |,y%,w%,h%..42.63|
00000b50  c8 9c 30 3a ec 78 25 2c  79 25 2b 68 25 3a ec 78  |..0:.x%,y%+h%:.x|
00000b60  25 2b 38 2c 79 25 2b 68  25 2d 38 3a f0 38 35 2c  |%+8,y%+h%-8:.85,|
00000b70  78 25 2b 77 25 2c 79 25  2b 68 25 0d 03 3e 38 f0  |x%+w%,y%+h%..>8.|
00000b80  38 35 2c 78 25 2b 77 25  2d 38 2c 79 25 2b 68 25  |85,x%+w%-8,y%+h%|
00000b90  2d 38 3a e6 34 32 c8 9c  31 32 38 3a ec 78 25 2c  |-8:.42..128:.x%,|
00000ba0  79 25 2b 68 25 3a ec 78  25 2b 38 2c 79 25 2b 68  |y%+h%:.x%+8,y%+h|
00000bb0  25 2d 38 0d 03 48 34 f0  38 35 2c 78 25 2c 79 25  |%-8..H4.85,x%,y%|
00000bc0  3a f0 38 35 2c 78 25 2b  38 2c 79 25 2b 38 3a e6  |:.85,x%+8,y%+8:.|
00000bd0  32 31 c8 9c 30 3a ec 78  25 2c 79 25 3a ec 78 25  |21..0:.x%,y%:.x%|
00000be0  2b 38 2c 79 25 2b 38 0d  03 52 34 f0 38 35 2c 78  |+8,y%+8..R4.85,x|
00000bf0  25 2b 77 25 2c 79 25 3a  f0 38 35 2c 78 25 2b 77  |%+w%,y%:.85,x%+w|
00000c00  25 2d 38 2c 79 25 2b 38  3a e6 32 31 c8 9c 31 32  |%-8,y%+8:.21..12|
00000c10  38 3a ec 78 25 2b 77 25  2c 79 25 0d 03 5c 37 ec  |8:.x%+w%,y%..\7.|
00000c20  78 25 2b 77 25 2d 38 2c  79 25 2b 38 3a f0 38 35  |x%+w%-8,y%+8:.85|
00000c30  2c 78 25 2b 77 25 2c 79  25 2b 68 25 3a f0 38 35  |,x%+w%,y%+h%:.85|
00000c40  2c 78 25 2b 77 25 2d 38  2c 79 25 2b 68 25 2d 38  |,x%+w%-8,y%+h%-8|
00000c50  3a e1 0d 03 66 04 0d 03  70 1d dd f2 62 6f 61 72  |:...f...p...boar|
00000c60  64 3a db 3a e3 78 25 3d  30 b8 39 3a e3 79 25 3d  |d:.:.x%=0.9:.y%=|
00000c70  30 b8 34 0d 03 7a 39 c8  99 26 32 45 2c 33 34 2b  |0.4..z9..&2E,34+|
00000c80  32 35 36 2c 73 70 72 25  2c 22 67 72 69 64 2d 73  |256,spr%,"grid-s|
00000c90  6c 61 62 22 2c 78 25 2a  31 32 38 2c 79 25 2a 31  |lab",x%*128,y%*1|
00000ca0  32 38 2b 31 39 32 2c 30  3a ed 3a ed 0d 03 84 0e  |28+192,0:.:.....|
00000cb0  f2 67 61 6d 65 74 69 74  6c 65 0d 03 8e 0d f2 73  |.gametitle.....s|
00000cc0  63 6f 72 65 73 3a e1 0d  03 98 04 0d 03 a2 0f dd  |cores:..........|
00000cd0  f2 67 61 6d 65 74 69 74  6c 65 0d 03 ac 29 c8 99  |.gametitle...)..|
00000ce0  26 32 45 2c 33 34 2b 32  35 36 2c 73 70 72 25 2c  |&2E,34+256,spr%,|
00000cf0  22 67 61 6d 65 74 69 74  6c 65 22 2c 30 2c 38 39  |"gametitle",0,89|
00000d00  36 2c 30 0d 03 b6 1a f2  73 6c 61 62 28 36 34 30  |6,0.....slab(640|
00000d10  2c 38 39 36 2c 36 33 36  2c 31 32 34 29 0d 03 c0  |,896,636,124)...|
00000d20  29 c8 99 26 32 45 2c 33  34 2b 32 35 36 2c 73 70  |)..&2E,34+256,sp|
00000d30  72 25 2c 22 70 69 6e 6b  62 6c 6f 63 6b 22 2c 36  |r%,"pinkblock",6|
00000d40  35 36 2c 39 32 30 0d 03  ca 29 c8 99 26 32 45 2c  |56,920...)..&2E,|
00000d50  33 34 2b 32 35 36 2c 73  70 72 25 2c 22 70 69 6e  |34+256,spr%,"pin|
00000d60  6b 62 6c 6f 63 6b 22 2c  36 35 36 2c 39 36 38 0d  |kblock",656,968.|
00000d70  03 d4 2b f2 74 65 78 74  28 22 50 72 65 73 73 20  |..+.text("Press |
00000d80  45 53 43 41 50 45 20 66  6f 72 20 6d 65 6e 75 22  |ESCAPE for menu"|
00000d90  2c 31 37 35 2c 31 38 2c  38 29 0d 03 de 0f e7 74  |,175,18,8).....t|
00000da0  75 6e 65 73 25 3d 30 20  8c 0d 03 e8 2c f2 74 65  |unes%=0 ....,.te|
00000db0  78 74 28 22 52 65 63 6f  64 65 64 20 42 79 20 4b  |xt("Recoded By K|
00000dc0  65 76 20 26 20 47 72 61  68 61 6d 22 2c 31 37 35  |ev & Graham",175|
00000dd0  2c 36 2c 38 29 0d 03 f2  05 cc 0d 03 fc 35 f2 74  |,6,8)........5.t|
00000de0  65 78 74 28 22 50 72 65  73 73 20 30 2d 22 2b c3  |ext("Press 0-"+.|
00000df0  74 75 6e 65 73 25 2b 22  20 66 6f 72 20 6e 65 77  |tunes%+" for new|
00000e00  20 74 75 6e 65 22 2c 31  37 35 2c 36 2c 38 29 0d  | tune",175,6,8).|
00000e10  04 06 05 cd 0d 04 10 0d  f2 73 63 6f 72 65 73 3a  |.........scores:|
00000e20  e1 0d 04 1a 04 0d 04 24  38 dd f2 73 63 6f 72 65  |.......$8..score|
00000e30  73 3a f2 73 6c 61 62 28  30 2c 30 2c 36 33 36 2c  |s:.slab(0,0,636,|
00000e40  31 38 38 29 3a f2 74 65  78 74 28 6e 61 6d 65 24  |188):.text(name$|
00000e50  28 31 29 2c 31 36 2c 32  31 33 2c 31 29 0d 04 2e  |(1),16,213,1)...|
00000e60  39 c8 99 26 32 45 2c 33  34 2b 32 35 36 2c 73 70  |9..&2E,34+256,sp|
00000e70  72 25 2c 22 70 6c 61 79  65 72 31 2d 22 2b c3 28  |r%,"player1-"+.(|
00000e80  2d 28 63 75 72 72 65 6e  74 25 3d 31 29 29 2c 31  |-(current%=1)),1|
00000e90  36 2c 31 36 2c 38 0d 04  38 3b f2 74 65 78 74 28  |6,16,8..8;.text(|
00000ea0  22 53 63 6f 72 65 2e 2e  2e 22 2c 31 36 2c 32 32  |"Score...",16,22|
00000eb0  34 2c 31 29 3a f2 74 65  78 74 28 c3 73 63 6f 72  |4,1):.text(.scor|
00000ec0  65 25 28 31 29 2c 31 31  35 32 2c 32 32 34 2c 31  |e%(1),1152,224,1|
00000ed0  29 0d 04 42 3d f2 74 65  78 74 28 22 53 68 61 70  |)..B=.text("Shap|
00000ee0  65 73 2e 2e 2e 22 2c 31  36 2c 32 33 34 2c 31 29  |es...",16,234,1)|
00000ef0  3a f2 74 65 78 74 28 c3  73 68 61 70 65 73 25 28  |:.text(.shapes%(|
00000f00  31 29 2c 31 31 35 32 2c  32 33 34 2c 31 29 0d 04  |1),1152,234,1)..|
00000f10  4c 3b f2 74 65 78 74 28  22 54 72 69 65 73 2e 2e  |L;.text("Tries..|
00000f20  2e 22 2c 31 36 2c 32 34  34 2c 31 29 3a f2 74 65  |.",16,244,1):.te|
00000f30  78 74 28 c3 74 72 69 65  73 25 28 31 29 2c 31 31  |xt(.tries%(1),11|
00000f40  35 32 2c 32 34 34 2c 31  29 0d 04 56 19 f2 74 65  |52,244,1)..V..te|
00000f50  78 74 28 bd 32 35 32 2c  31 34 34 2c 32 31 33 2c  |xt(.252,144,213,|
00000f60  31 29 0d 04 60 18 f2 73  6c 61 62 28 36 34 30 2c  |1)..`..slab(640,|
00000f70  30 2c 36 33 36 2c 31 38  38 29 0d 04 6a 11 e7 70  |0,636,188)..j..p|
00000f80  6c 61 79 65 72 73 25 3d  32 20 8c 0d 04 74 1d f2  |layers%=2 ...t..|
00000f90  74 65 78 74 28 6e 61 6d  65 24 28 32 29 2c 31 37  |text(name$(2),17|
00000fa0  36 2c 32 31 33 2c 34 29  0d 04 7e 3a c8 99 26 32  |6,213,4)..~:..&2|
00000fb0  45 2c 33 34 2b 32 35 36  2c 73 70 72 25 2c 22 70  |E,34+256,spr%,"p|
00000fc0  6c 61 79 65 72 32 2d 22  2b c3 28 2d 28 63 75 72  |layer2-"+.(-(cur|
00000fd0  72 65 6e 74 25 3d 32 29  29 2c 36 35 36 2c 31 36  |rent%=2)),656,16|
00000fe0  2c 38 0d 04 88 3c f2 74  65 78 74 28 22 53 63 6f  |,8...<.text("Sco|
00000ff0  72 65 2e 2e 2e 22 2c 31  37 36 2c 32 32 34 2c 34  |re...",176,224,4|
00001000  29 3a f2 74 65 78 74 28  c3 73 63 6f 72 65 25 28  |):.text(.score%(|
00001010  32 29 2c 31 33 31 32 2c  32 32 34 2c 34 29 0d 04  |2),1312,224,4)..|
00001020  92 3e f2 74 65 78 74 28  22 53 68 61 70 65 73 2e  |.>.text("Shapes.|
00001030  2e 2e 22 2c 31 37 36 2c  32 33 34 2c 34 29 3a f2  |..",176,234,4):.|
00001040  74 65 78 74 28 c3 73 68  61 70 65 73 25 28 32 29  |text(.shapes%(2)|
00001050  2c 31 33 31 32 2c 32 33  34 2c 34 29 0d 04 9c 3c  |,1312,234,4)...<|
00001060  f2 74 65 78 74 28 22 54  72 69 65 73 2e 2e 2e 22  |.text("Tries..."|
00001070  2c 31 37 36 2c 32 34 34  2c 34 29 3a f2 74 65 78  |,176,244,4):.tex|
00001080  74 28 c3 74 72 69 65 73  25 28 32 29 2c 31 33 31  |t(.tries%(2),131|
00001090  32 2c 32 34 34 2c 34 29  0d 04 a6 19 f2 74 65 78  |2,244,4).....tex|
000010a0  74 28 bd 32 35 32 2c 33  30 34 2c 32 31 33 2c 34  |t(.252,304,213,4|
000010b0  29 0d 04 b0 05 cc 0d 04  ba 20 f2 74 65 78 74 28  |)........ .text(|
000010c0  22 47 61 6d 65 20 49 6e  66 6f 3a 22 2c 2d 33 2c  |"Game Info:",-3,|
000010d0  32 31 33 2c 31 29 0d 04  c4 23 f2 74 65 78 74 28  |213,1)...#.text(|
000010e0  22 57 6f 72 64 20 74 79  70 65 2e 2e 2e 22 2c 31  |"Word type...",1|
000010f0  36 38 2c 32 32 34 2c 37  29 0d 04 ce 25 f2 74 65  |68,224,7)...%.te|
00001100  78 74 28 22 53 6b 69 6c  6c 20 6c 65 76 65 6c 2e  |xt("Skill level.|
00001110  2e 2e 22 2c 31 36 38 2c  32 33 34 2c 37 29 0d 04  |..",168,234,7)..|
00001120  d8 24 f2 74 65 78 74 28  22 54 69 6c 65 73 20 6c  |.$.text("Tiles l|
00001130  65 66 74 2e 2e 2e 22 2c  31 36 38 2c 32 34 34 2c  |eft...",168,244,|
00001140  37 29 0d 04 e2 12 c8 8e  20 77 6f 72 64 74 79 70  |7)...... wordtyp|
00001150  65 25 20 ca 0d 04 ec 25  c9 20 31 3a f2 74 65 78  |e% ....%. 1:.tex|
00001160  74 28 22 53 63 72 61 6d  62 6c 65 64 22 2c 31 33  |t("Scrambled",13|
00001170  31 32 2c 32 32 34 2c 37  29 0d 04 f6 22 c9 20 32  |12,224,7)...". 2|
00001180  3a f2 74 65 78 74 28 22  4e 6f 72 6d 61 6c 22 2c  |:.text("Normal",|
00001190  31 33 31 32 2c 32 32 34  2c 37 29 0d 05 00 05 cb  |1312,224,7).....|
000011a0  0d 05 0a 0f c8 8e 20 73  6b 69 6c 6c 25 20 ca 0d  |...... skill% ..|
000011b0  05 14 1a c9 20 31 3a 73  6b 69 6c 6c 24 3d 22 4d  |.... 1:skill$="M|
000011c0  65 67 61 20 45 61 73 79  22 0d 05 1e 1a c9 20 32  |ega Easy"..... 2|
000011d0  3a 73 6b 69 6c 6c 24 3d  22 56 65 72 79 20 45 61  |:skill$="Very Ea|
000011e0  73 79 22 0d 05 28 17 c9  20 33 3a 73 6b 69 6c 6c  |sy"..(.. 3:skill|
000011f0  24 3d 22 53 69 6d 70 6c  65 22 0d 05 32 1b c9 20  |$="Simple"..2.. |
00001200  34 3a 73 6b 69 6c 6c 24  3d 22 54 75 66 66 20 28  |4:skill$="Tuff (|
00001210  69 73 68 29 22 0d 05 3c  1a c9 20 35 3a 73 6b 69  |ish)"..<.. 5:ski|
00001220  6c 6c 24 3d 22 4d 65 67  61 20 54 75 66 66 22 0d  |ll$="Mega Tuff".|
00001230  05 46 05 cb 0d 05 50 1c  f2 74 65 78 74 28 73 6b  |.F....P..text(sk|
00001240  69 6c 6c 24 2c 31 33 31  32 2c 32 33 34 2c 37 29  |ill$,1312,234,7)|
00001250  0d 05 5a 1c f2 74 65 78  74 28 c3 6c 65 66 74 25  |..Z..text(.left%|
00001260  2c 31 33 31 32 2c 32 34  34 2c 37 29 0d 05 64 07  |,1312,244,7)..d.|
00001270  cd 3a e1 0d 05 6e 04 0d  05 78 43 dd f2 73 63 61  |.:...n...xC..sca|
00001280  6c 65 28 74 24 2c 78 25  2c 79 25 2c 78 31 25 2c  |le(t$,x%,y%,x1%,|
00001290  79 31 25 29 3a ea 77 25  2c 68 25 3a 21 73 63 61  |y1%):.w%,h%:!sca|
000012a0  6c 65 25 3d 78 31 25 2d  78 25 3a 73 63 61 6c 65  |le%=x1%-x%:scale|
000012b0  25 21 34 3d 79 31 25 2d  79 25 0d 05 82 40 c8 99  |%!4=y1%-y%...@..|
000012c0  26 32 45 2c 34 30 2b 32  35 36 2c 73 70 72 25 2c  |&2E,40+256,spr%,|
000012d0  74 24 20 b8 20 2c 2c 2c  77 25 2c 68 25 3a 73 63  |t$ . ,,,w%,h%:sc|
000012e0  61 6c 65 25 21 38 3d 77  25 2a 34 3a 73 63 61 6c  |ale%!8=w%*4:scal|
000012f0  65 25 21 31 32 3d 68 25  2a 34 0d 05 8c 2c c8 99  |e%!12=h%*4...,..|
00001300  26 32 45 2c 35 32 2b 32  35 36 2c 73 70 72 25 2c  |&2E,52+256,spr%,|
00001310  74 24 2c 78 25 2c 79 25  2c 30 2c 73 63 61 6c 65  |t$,x%,y%,0,scale|
00001320  25 2c 2d 31 3a e1 0d 05  96 04 0d 05 a0 25 dd f2  |%,-1:........%..|
00001330  72 65 76 65 61 6c 28 78  25 2c 79 25 29 3a e6 30  |reveal(x%,y%):.0|
00001340  c8 9c 30 3a e3 69 25 3d  36 34 b8 30 88 2d 38 0d  |..0:.i%=64.0.-8.|
00001350  05 aa 45 f2 73 63 61 6c  65 28 22 67 72 69 64 2d  |..E.scale("grid-|
00001360  73 6c 61 62 22 2c 78 25  2a 31 32 38 2d 31 32 38  |slab",x%*128-128|
00001370  2c 79 25 2a 31 32 38 2b  31 32 38 2d 69 25 2c 78  |,y%*128+128-i%,x|
00001380  25 2a 31 32 38 2c 79 25  2a 31 32 38 2b 31 32 38  |%*128,y%*128+128|
00001390  2b 69 25 29 0d 05 b4 37  c8 96 3a 86 78 25 2a 31  |+i%)...7..:.x%*1|
000013a0  32 38 2d 31 32 38 2c 79  25 2a 31 32 38 2b 31 32  |28-128,y%*128+12|
000013b0  34 2b 69 25 2c 78 25 2a  31 32 38 2d 34 2c 79 25  |4+i%,x%*128-4,y%|
000013c0  2a 31 32 38 2b 31 32 34  2b 69 25 0d 05 be 38 86  |*128+124+i%...8.|
000013d0  78 25 2a 31 32 38 2d 31  32 38 2c 79 25 2a 31 32  |x%*128-128,y%*12|
000013e0  38 2b 31 32 34 2b 69 25  2d 34 2c 78 25 2a 31 32  |8+124+i%-4,x%*12|
000013f0  38 2d 34 2c 79 25 2a 31  32 38 2b 31 32 34 2b 69  |8-4,y%*128+124+i|
00001400  25 2d 34 0d 05 c8 34 86  78 25 2a 31 32 38 2d 31  |%-4...4.x%*128-1|
00001410  32 38 2c 79 25 2a 31 32  38 2b 31 32 38 2d 69 25  |28,y%*128+128-i%|
00001420  2c 78 25 2a 31 32 38 2d  34 2c 79 25 2a 31 32 38  |,x%*128-4,y%*128|
00001430  2b 31 32 38 2d 69 25 0d  05 d2 3a 86 78 25 2a 31  |+128-i%...:.x%*1|
00001440  32 38 2d 31 32 38 2c 79  25 2a 31 32 38 2b 31 32  |28-128,y%*128+12|
00001450  38 2d 69 25 2b 34 2c 78  25 2a 31 32 38 2d 34 2c  |8-i%+4,x%*128-4,|
00001460  79 25 2a 31 32 38 2b 31  32 38 2d 69 25 2b 34 3a  |y%*128+128-i%+4:|
00001470  ed 0d 05 dc 48 74 69 6c  65 24 3d 22 70 69 63 74  |....Htile$="pict|
00001480  75 72 65 2d 22 2b c3 67  72 69 64 25 28 78 25 2c  |ure-"+.grid%(x%,|
00001490  79 25 29 3a e7 74 69 6c  65 24 3d 22 70 69 63 74  |y%):.tile$="pict|
000014a0  75 72 65 2d 32 35 22 3a  74 69 6c 65 24 3d 22 77  |ure-25":tile$="w|
000014b0  69 6c 64 2d 63 61 72 64  22 0d 05 e6 11 e3 69 25  |ild-card".....i%|
000014c0  3d 30 b8 36 34 88 38 3a  c8 96 0d 05 f0 41 f2 73  |=0.64.8:.....A.s|
000014d0  63 61 6c 65 28 74 69 6c  65 24 2c 78 25 2a 31 32  |cale(tile$,x%*12|
000014e0  38 2d 31 32 38 2c 79 25  2a 31 32 38 2b 31 32 38  |8-128,y%*128+128|
000014f0  2d 69 25 2c 78 25 2a 31  32 38 2c 79 25 2a 31 32  |-i%,x%*128,y%*12|
00001500  38 2b 31 32 38 2b 69 25  29 3a ed 0d 05 fa 05 e1  |8+128+i%):......|
00001510  0d 06 04 04 0d 06 0e 31  dd f2 63 6c 6f 73 65 28  |.......1..close(|
00001520  78 25 2c 79 25 29 3a 74  69 6c 65 24 3d 22 70 69  |x%,y%):tile$="pi|
00001530  63 74 75 72 65 2d 22 2b  c3 67 72 69 64 25 28 78  |cture-"+.grid%(x|
00001540  25 2c 79 25 29 0d 06 18  29 e7 74 69 6c 65 24 3d  |%,y%)...).tile$=|
00001550  22 70 69 63 74 75 72 65  2d 32 35 22 3a 74 69 6c  |"picture-25":til|
00001560  65 24 3d 22 77 69 6c 64  2d 63 61 72 64 22 0d 06  |e$="wild-card"..|
00001570  22 15 e6 30 c8 9c 30 3a  e3 69 25 3d 36 34 b8 30  |"..0..0:.i%=64.0|
00001580  88 2d 38 0d 06 2c 42 f2  73 63 61 6c 65 28 74 69  |.-8..,B.scale(ti|
00001590  6c 65 24 2c 78 25 2a 31  32 38 2d 31 32 38 2c 79  |le$,x%*128-128,y|
000015a0  25 2a 31 32 38 2b 31 32  38 2d 69 25 2c 78 25 2a  |%*128+128-i%,x%*|
000015b0  31 32 38 2c 79 25 2a 31  32 38 2b 31 32 38 2b 69  |128,y%*128+128+i|
000015c0  25 29 3a c8 96 0d 06 36  34 86 78 25 2a 31 32 38  |%):....64.x%*128|
000015d0  2d 31 32 38 2c 79 25 2a  31 32 38 2b 31 32 34 2b  |-128,y%*128+124+|
000015e0  69 25 2c 78 25 2a 31 32  38 2d 34 2c 79 25 2a 31  |i%,x%*128-4,y%*1|
000015f0  32 38 2b 31 32 34 2b 69  25 0d 06 40 34 86 78 25  |28+124+i%..@4.x%|
00001600  2a 31 32 38 2d 31 32 38  2c 79 25 2a 31 32 38 2b  |*128-128,y%*128+|
00001610  31 32 30 2b 69 25 2c 78  25 2a 31 32 38 2d 34 2c  |120+i%,x%*128-4,|
00001620  79 25 2a 31 32 38 2b 31  32 30 2b 69 25 0d 06 4a  |y%*128+120+i%..J|
00001630  34 86 78 25 2a 31 32 38  2d 31 32 38 2c 79 25 2a  |4.x%*128-128,y%*|
00001640  31 32 38 2b 31 32 38 2d  69 25 2c 78 25 2a 31 32  |128+128-i%,x%*12|
00001650  38 2d 34 2c 79 25 2a 31  32 38 2b 31 32 38 2d 69  |8-4,y%*128+128-i|
00001660  25 0d 06 54 36 86 78 25  2a 31 32 38 2d 31 32 38  |%..T6.x%*128-128|
00001670  2c 79 25 2a 31 32 38 2b  31 33 32 2d 69 25 2c 78  |,y%*128+132-i%,x|
00001680  25 2a 31 32 38 2d 34 2c  79 25 2a 31 32 38 2b 31  |%*128-4,y%*128+1|
00001690  33 32 2d 69 25 3a ed 0d  06 5e 11 e3 69 25 3d 30  |32-i%:...^..i%=0|
000016a0  b8 36 34 88 38 3a c8 96  0d 06 68 45 f2 73 63 61  |.64.8:....hE.sca|
000016b0  6c 65 28 22 67 72 69 64  2d 73 6c 61 62 22 2c 78  |le("grid-slab",x|
000016c0  25 2a 31 32 38 2d 31 32  38 2c 79 25 2a 31 32 38  |%*128-128,y%*128|
000016d0  2b 31 32 38 2d 69 25 2c  78 25 2a 31 32 38 2c 79  |+128-i%,x%*128,y|
000016e0  25 2a 31 32 38 2b 31 32  38 2b 69 25 29 0d 06 72  |%*128+128+i%)..r|
000016f0  07 ed 3a e1 0d 06 7c 04  0d 06 86 37 dd f2 67 6f  |..:...|....7..go|
00001700  74 28 6e 75 6d 62 65 72  25 29 3a ea 20 69 25 2c  |t(number%):. i%,|
00001710  74 69 6c 65 24 2c 67 6f  74 24 2c 78 25 2c 79 25  |tile$,got$,x%,y%|
00001720  3a 6c 65 66 74 25 2d 3d  6e 75 6d 62 65 72 25 0d  |:left%-=number%.|
00001730  06 90 25 e6 30 c8 9c 30  3a e3 69 25 3d 34 b8 36  |..%.0..0:.i%=4.6|
00001740  34 88 34 3a c8 96 3a e3  6a 25 3d 31 b8 6e 75 6d  |4.4:..:.j%=1.num|
00001750  62 65 72 25 0d 06 9a 27  78 25 3d 63 68 61 6e 67  |ber%...'x%=chang|
00001760  65 78 25 28 6a 25 2d 31  29 3a 79 25 3d 63 68 61  |ex%(j%-1):y%=cha|
00001770  6e 67 65 79 25 28 6a 25  2d 31 29 0d 06 a4 48 74  |ngey%(j%-1)...Ht|
00001780  69 6c 65 24 3d 22 70 69  63 74 75 72 65 2d 22 2b  |ile$="picture-"+|
00001790  c3 67 72 69 64 25 28 78  25 2c 79 25 29 3a e7 74  |.grid%(x%,y%):.t|
000017a0  69 6c 65 24 3d 22 70 69  63 74 75 72 65 2d 32 35  |ile$="picture-25|
000017b0  22 3a 74 69 6c 65 24 3d  22 77 69 6c 64 2d 63 61  |":tile$="wild-ca|
000017c0  72 64 22 0d 06 ae 44 f2  73 63 61 6c 65 28 74 69  |rd"...D.scale(ti|
000017d0  6c 65 24 2c 78 25 2a 31  32 38 2d 31 32 38 2b 69  |le$,x%*128-128+i|
000017e0  25 2c 79 25 2a 31 32 38  2b 36 34 2b 69 25 2c 78  |%,y%*128+64+i%,x|
000017f0  25 2a 31 32 38 2d 69 25  2c 79 25 2a 31 32 38 2b  |%*128-i%,y%*128+|
00001800  31 39 32 2d 69 25 29 0d  06 b8 32 c8 93 78 25 2a  |192-i%)...2..x%*|
00001810  31 32 38 2d 31 33 32 2b  69 25 2c 79 25 2a 31 32  |128-132+i%,y%*12|
00001820  38 2b 36 30 2b 69 25 2c  31 33 32 2d 69 25 2a 32  |8+60+i%,132-i%*2|
00001830  2c 31 33 32 2d 69 25 2a  32 0d 06 c2 21 ed 3a ed  |,132-i%*2...!.:.|
00001840  3a 67 6f 74 24 3d 22 67  6f 74 2d 73 6c 61 62 22  |:got$="got-slab"|
00001850  2b c3 63 75 72 72 65 6e  74 25 0d 06 cc 20 e3 69  |+.current%... .i|
00001860  25 3d 36 34 b8 30 88 2d  34 3a c8 96 3a e3 6a 25  |%=64.0.-4:..:.j%|
00001870  3d 31 b8 6e 75 6d 62 65  72 25 0d 06 d6 27 78 25  |=1.number%...'x%|
00001880  3d 63 68 61 6e 67 65 78  25 28 6a 25 2d 31 29 3a  |=changex%(j%-1):|
00001890  79 25 3d 63 68 61 6e 67  65 79 25 28 6a 25 2d 31  |y%=changey%(j%-1|
000018a0  29 0d 06 e0 43 f2 73 63  61 6c 65 28 67 6f 74 24  |)...C.scale(got$|
000018b0  2c 78 25 2a 31 32 38 2d  31 32 38 2b 69 25 2c 79  |,x%*128-128+i%,y|
000018c0  25 2a 31 32 38 2b 36 34  2b 69 25 2c 78 25 2a 31  |%*128+64+i%,x%*1|
000018d0  32 38 2d 69 25 2c 79 25  2a 31 32 38 2b 31 39 32  |28-i%,y%*128+192|
000018e0  2d 69 25 29 0d 06 ea 44  ed 3a ed 3a e3 69 25 3d  |-i%)...D.:.:.i%=|
000018f0  30 b8 6e 75 6d 62 65 72  25 2d 31 3a 67 72 69 64  |0.number%-1:grid|
00001900  25 28 63 68 61 6e 67 65  78 25 28 69 25 29 2c 63  |%(changex%(i%),c|
00001910  68 61 6e 67 65 79 25 28  69 25 29 29 3d 32 35 2b  |hangey%(i%))=25+|
00001920  63 75 72 72 65 6e 74 25  0d 06 f4 07 ed 3a e1 0d  |current%.....:..|
00001930  06 fe 04 0d 07 08 39 dd  f2 74 75 72 6e 6f 76 65  |......9..turnove|
00001940  72 28 6e 75 6d 62 65 72  25 29 3a ea 69 25 2c 6a  |r(number%):.i%,j|
00001950  25 3a 67 6f 74 24 3d 22  67 6f 74 2d 73 68 61 70  |%:got$="got-shap|
00001960  65 22 2b c3 63 75 72 72  65 6e 74 25 0d 07 12 33  |e"+.current%...3|
00001970  e3 69 25 3d 31 b8 6e 75  6d 62 65 72 25 3a 67 72  |.i%=1.number%:gr|
00001980  69 64 25 28 74 75 72 6e  78 25 28 69 25 29 2c 74  |id%(turnx%(i%),t|
00001990  75 72 6e 79 25 28 69 25  29 29 3d 32 38 3a ed 0d  |urny%(i%))=28:..|
000019a0  07 1c 15 e6 30 c8 9c 30  3a e3 69 25 3d 30 b8 31  |....0..0:.i%=0.1|
000019b0  32 38 88 34 0d 07 26 30  c8 96 3a e3 6a 25 3d 31  |28.4..&0..:.j%=1|
000019c0  b8 6e 75 6d 62 65 72 25  3a 78 25 3d 74 75 72 6e  |.number%:x%=turn|
000019d0  78 25 28 6a 25 29 3a 79  25 3d 74 75 72 6e 79 25  |x%(j%):y%=turny%|
000019e0  28 6a 25 29 0d 07 30 0c  e7 69 25 3c 36 38 20 8c  |(j%)..0..i%<68 .|
000019f0  0d 07 3a 2e c8 93 78 25  2a 31 32 38 2d 36 34 2d  |..:...x%*128-64-|
00001a00  69 25 2c 79 25 2a 31 32  38 2b 31 32 38 2d 69 25  |i%,y%*128+128-i%|
00001a10  2c 32 2a 69 25 2d 34 2c  32 2a 69 25 2d 34 0d 07  |,2*i%-4,2*i%-4..|
00001a20  44 05 cc 0d 07 4e 0c 6b  25 3d 69 25 2d 36 34 0d  |D....N.k%=i%-64.|
00001a30  07 58 46 f2 73 63 61 6c  65 28 67 6f 74 24 2c 78  |.XF.scale(got$,x|
00001a40  25 2a 31 32 38 2d 36 34  2d 6b 25 2c 79 25 2a 31  |%*128-64-k%,y%*1|
00001a50  32 38 2b 31 32 38 2d 6b  25 2c 78 25 2a 31 32 38  |28+128-k%,x%*128|
00001a60  2d 36 34 2b 6b 25 2c 79  25 2a 31 32 38 2b 31 32  |-64+k%,y%*128+12|
00001a70  38 2b 6b 25 29 0d 07 62  05 cd 0d 07 6c 09 ed 3a  |8+k%)..b....l..:|
00001a80  ed 3a e1 0d 07 76 04 0d  07 80 35 dd f2 67 61 6d  |.:...v....5..gam|
00001a90  65 3a f2 6d 6f 75 73 65  6f 66 66 3a ff 22 46 58  |e:.mouseoff:."FX|
00001aa0  31 31 32 2c 32 22 3a 73  63 6f 72 65 25 28 29 3d  |112,2":score%()=|
00001ab0  30 3a 74 72 69 65 73 25  28 29 3d 30 0d 07 8a 39  |0:tries%()=0...9|
00001ac0  73 68 61 70 65 73 25 28  29 3d 30 3a 63 75 72 72  |shapes%()=0:curr|
00001ad0  65 6e 74 25 3d 31 3a 6c  65 66 74 25 3d 35 30 3a  |ent%=1:left%=50:|
00001ae0  ee 85 e7 9f 3d 31 37 3a  f2 74 69 74 6c 65 3a 8b  |....=17:.title:.|
00001af0  3a f2 65 6e 64 0d 07 94  31 f2 62 6f 61 72 64 3a  |:.end...1.board:|
00001b00  c8 97 c8 93 30 2c 31 39  32 2c 31 32 37 39 2c 36  |....0,192,1279,6|
00001b10  33 36 3a 67 6f 74 69 74  25 3d a3 3a ff 22 46 58  |36:gotit%=.:."FX|
00001b20  31 31 32 2c 31 22 0d 07  9e 27 d6 63 6c 65 61 72  |112,1"...'.clear|
00001b30  3a ef 31 39 2c 30 2c 32  34 2c 30 2c 30 2c 30 3a  |:.19,0,24,0,0,0:|
00001b40  f2 70 74 72 28 31 29 3a  f5 3a f2 6e 62 0d 07 a8  |.ptr(1):.:.nb...|
00001b50  24 c8 97 fb 31 2c 32 34  30 2c 30 2c 30 3a c8 97  |$...1,240,0,0:..|
00001b60  fb 33 2c 31 36 30 2c 30  2c 30 3a 63 6f 6c 25 3d  |.3,160,0,0:col%=|
00001b70  31 0d 07 b2 30 e7 63 75  72 72 65 6e 74 25 3d 32  |1...0.current%=2|
00001b80  3a c8 97 fb 31 2c 30 2c  30 2c 32 34 30 3a c8 97  |:...1,0,0,240:..|
00001b90  fb 33 2c 30 2c 30 2c 31  36 30 3a 63 6f 6c 25 3d  |.3,0,0,160:col%=|
00001ba0  34 0d 07 bc 2c f2 73 6c  61 62 28 30 2c 38 33 32  |4...,.slab(0,832|
00001bb0  2c 31 32 37 36 2c 36 30  29 3a 74 72 69 65 73 25  |,1276,60):tries%|
00001bc0  28 63 75 72 72 65 6e 74  25 29 2b 3d 31 0d 07 c6  |(current%)+=1...|
00001bd0  44 f2 74 65 78 74 28 6e  61 6d 65 24 28 63 75 72  |D.text(name$(cur|
00001be0  72 65 6e 74 25 29 2b 22  3a 20 70 6c 65 61 73 65  |rent%)+": please|
00001bf0  20 63 68 6f 6f 73 65 20  66 69 72 73 74 20 73 71  | choose first sq|
00001c00  75 61 72 65 22 2c 2d 31  2c 33 36 2c 63 6f 6c 25  |uare",-1,36,col%|
00001c10  29 0d 07 d0 22 f5 3a f5  3a c8 97 20 78 78 25 2c  |)...".:.:.. xx%,|
00001c20  79 79 25 2c 62 75 74 74  6f 6e 25 3a 6a 25 3d a6  |yy%,button%:j%=.|
00001c30  28 30 29 0d 07 da 26 e7  6a 25 3e 34 37 80 6a 25  |(0)...&.j%>47.j%|
00001c40  3c 35 33 3a 74 75 6e 65  25 3d 6a 25 2d 34 38 3a  |<53:tune%=j%-48:|
00001c50  f2 6c 6f 61 64 74 75 6e  65 0d 07 e4 32 fd 62 75  |.loadtune...2.bu|
00001c60  74 74 6f 6e 25 3a 78 78  25 3d 78 78 25 81 34 2a  |tton%:xx%=xx%.4*|
00001c70  34 3a 79 79 25 3d 79 79  25 81 34 2a 34 3a 68 66  |4:yy%=yy%.4*4:hf|
00001c80  25 3d 78 78 25 2f 31 32  38 2b 31 0d 07 ee 3b 76  |%=xx%/128+1...;v|
00001c90  66 25 3d 28 79 79 25 2d  31 39 32 29 2f 31 32 38  |f%=(yy%-192)/128|
00001ca0  2b 31 3a fd 67 72 69 64  25 28 68 66 25 2c 76 66  |+1:.grid%(hf%,vf|
00001cb0  25 29 3c 32 36 3a f2 72  65 76 65 61 6c 28 68 66  |%)<26:.reveal(hf|
00001cc0  25 2c 76 66 25 29 0d 07  f8 18 f2 73 6c 61 62 28  |%,vf%).....slab(|
00001cd0  30 2c 38 33 32 2c 31 32  37 36 2c 36 30 29 0d 08  |0,832,1276,60)..|
00001ce0  02 45 f2 74 65 78 74 28  6e 61 6d 65 24 28 63 75  |.E.text(name$(cu|
00001cf0  72 72 65 6e 74 25 29 2b  22 3a 20 70 6c 65 61 73  |rrent%)+": pleas|
00001d00  65 20 63 68 6f 6f 73 65  20 73 65 63 6f 6e 64 20  |e choose second |
00001d10  73 71 75 61 72 65 22 2c  2d 31 2c 33 36 2c 63 6f  |square",-1,36,co|
00001d20  6c 25 29 0d 08 0c 22 f5  3a f5 3a c8 97 20 78 78  |l%)...".:.:.. xx|
00001d30  25 2c 79 79 25 2c 62 75  74 74 6f 6e 25 3a 6a 25  |%,yy%,button%:j%|
00001d40  3d a6 28 30 29 0d 08 16  26 e7 6a 25 3e 34 37 80  |=.(0)...&.j%>47.|
00001d50  6a 25 3c 35 33 3a 74 75  6e 65 25 3d 6a 25 2d 34  |j%<53:tune%=j%-4|
00001d60  38 3a f2 6c 6f 61 64 74  75 6e 65 0d 08 20 46 fd  |8:.loadtune.. F.|
00001d70  62 75 74 74 6f 6e 25 3a  78 78 25 3d 78 78 25 81  |button%:xx%=xx%.|
00001d80  34 2a 34 3a 79 79 25 3d  79 79 25 81 34 2a 34 3a  |4*4:yy%=yy%.4*4:|
00001d90  68 73 25 3d 78 78 25 2f  31 32 38 2b 31 3a 76 73  |hs%=xx%/128+1:vs|
00001da0  25 3d 28 79 79 25 2d 31  39 32 29 2f 31 32 38 2b  |%=(yy%-192)/128+|
00001db0  31 0d 08 2a 2d fd 67 72  69 64 25 28 68 73 25 2c  |1..*-.grid%(hs%,|
00001dc0  76 73 25 29 3c 32 36 20  80 20 ac 28 68 73 25 3d  |vs%)<26 . .(hs%=|
00001dd0  68 66 25 20 80 20 76 73  25 3d 76 66 25 29 0d 08  |hf% . vs%=vf%)..|
00001de0  34 1c f2 72 65 76 65 61  6c 28 68 73 25 2c 76 73  |4..reveal(hs%,vs|
00001df0  25 29 3a 77 69 6c 64 25  3d a3 0d 08 3e 4c e7 28  |%):wild%=...>L.(|
00001e00  67 72 69 64 25 28 68 66  25 2c 76 66 25 29 3d 32  |grid%(hf%,vf%)=2|
00001e10  35 84 67 72 69 64 25 28  68 73 25 2c 76 73 25 29  |5.grid%(hs%,vs%)|
00001e20  3d 32 35 29 80 28 67 72  69 64 25 28 68 66 25 2c  |=25).(grid%(hf%,|
00001e30  76 66 25 29 3c 3e 67 72  69 64 25 28 68 73 25 2c  |vf%)<>grid%(hs%,|
00001e40  76 73 25 29 29 8c 0d 08  48 20 77 69 6c 64 25 3d  |vs%))...H wild%=|
00001e50  b9 3a f2 73 6c 61 62 28  30 2c 38 33 32 2c 31 32  |.:.slab(0,832,12|
00001e60  37 36 2c 36 30 29 0d 08  52 31 f2 74 65 78 74 28  |76,60)..R1.text(|
00001e70  22 59 6f 75 27 76 65 20  66 6f 75 6e 64 20 61 20  |"You've found a |
00001e80  77 69 6c 64 20 63 61 72  64 21 22 2c 2d 31 2c 33  |wild card!",-1,3|
00001e90  36 2c 63 6f 6c 25 29 0d  08 5c 3a 73 63 78 25 3d  |6,col%)..\:scx%=|
00001ea0  68 66 25 3a 73 63 79 25  3d 76 66 25 3a e7 67 72  |hf%:scy%=vf%:.gr|
00001eb0  69 64 25 28 68 66 25 2c  76 66 25 29 3d 32 35 3a  |id%(hf%,vf%)=25:|
00001ec0  73 63 78 25 3d 68 73 25  3a 73 63 79 25 3d 76 73  |scx%=hs%:scy%=vs|
00001ed0  25 0d 08 66 26 66 6f 75  6e 64 25 3d a3 3a f2 77  |%..f&found%=.:.w|
00001ee0  28 38 30 29 3a e3 73 78  25 3d 31 b8 31 30 3a e3  |(80):.sx%=1.10:.|
00001ef0  73 79 25 3d 31 b8 35 0d  08 70 72 e7 67 72 69 64  |sy%=1.5..pr.grid|
00001f00  25 28 73 78 25 2c 73 79  25 29 3d 67 72 69 64 25  |%(sx%,sy%)=grid%|
00001f10  28 73 63 78 25 2c 73 63  79 25 29 20 80 20 ac 28  |(scx%,scy%) . .(|
00001f20  73 63 78 25 3d 73 78 25  20 80 20 73 63 79 25 3d  |scx%=sx% . scy%=|
00001f30  73 79 25 29 20 80 20 66  6f 75 6e 64 25 3d a3 3a  |sy%) . found%=.:|
00001f40  f2 72 65 76 65 61 6c 28  73 78 25 2c 73 79 25 29  |.reveal(sx%,sy%)|
00001f50  3a 77 78 25 3d 73 78 25  3a 77 79 25 3d 73 79 25  |:wx%=sx%:wy%=sy%|
00001f60  3a 66 6f 75 6e 64 25 3d  b9 0d 08 7a 07 ed 3a ed  |:found%=...z..:.|
00001f70  0d 08 84 2f cd 3a e7 20  77 69 6c 64 25 20 84 20  |.../.:. wild% . |
00001f80  67 72 69 64 25 28 68 73  25 2c 76 73 25 29 3d 67  |grid%(hs%,vs%)=g|
00001f90  72 69 64 25 28 68 66 25  2c 76 66 25 29 20 8c 0d  |rid%(hf%,vf%) ..|
00001fa0  08 8e 20 f2 70 74 72 28  33 29 3a f2 73 6c 61 62  |.. .ptr(3):.slab|
00001fb0  28 30 2c 38 33 32 2c 31  32 37 36 2c 36 30 29 0d  |(0,832,1276,60).|
00001fc0  08 98 47 f2 74 65 78 74  28 22 57 65 6c 6c 20 64  |..G.text("Well d|
00001fd0  6f 6e 65 20 22 2b 6e 61  6d 65 24 28 63 75 72 72  |one "+name$(curr|
00001fe0  65 6e 74 25 29 2b 22 21  20 41 20 6d 61 74 63 68  |ent%)+"! A match|
00001ff0  69 6e 67 20 70 61 69 72  21 22 2c 2d 31 2c 33 36  |ing pair!",-1,36|
00002000  2c 63 6f 6c 25 29 0d 08  a2 28 73 63 6f 72 65 25  |,col%)...(score%|
00002010  28 63 75 72 72 65 6e 74  25 29 2b 3d 31 3a f2 77  |(current%)+=1:.w|
00002020  28 38 30 29 3a 6e 75 6d  62 65 72 25 3d 32 0d 08  |(80):number%=2..|
00002030  ac 34 e7 77 69 6c 64 25  3a 6e 75 6d 62 65 72 25  |.4.wild%:number%|
00002040  3d 33 3a 63 68 61 6e 67  65 78 25 28 32 29 3d 77  |=3:changex%(2)=w|
00002050  78 25 3a 63 68 61 6e 67  65 79 25 28 32 29 3d 77  |x%:changey%(2)=w|
00002060  79 25 0d 08 b6 43 63 68  61 6e 67 65 78 25 28 30  |y%...Cchangex%(0|
00002070  29 3d 68 73 25 3a 63 68  61 6e 67 65 79 25 28 30  |)=hs%:changey%(0|
00002080  29 3d 76 73 25 3a 63 68  61 6e 67 65 78 25 28 31  |)=vs%:changex%(1|
00002090  29 3d 68 66 25 3a 63 68  61 6e 67 65 79 25 28 31  |)=hf%:changey%(1|
000020a0  29 3d 76 66 25 0d 08 c0  1d f2 67 6f 74 28 6e 75  |)=vf%.....got(nu|
000020b0  6d 62 65 72 25 29 3a f2  63 68 65 63 6b 73 68 61  |mber%):.checksha|
000020c0  70 65 0d 08 ca 42 f2 70  74 72 28 31 29 3a f2 73  |pe...B.ptr(1):.s|
000020d0  63 6f 72 65 73 3a 74 69  6c 65 73 25 28 63 75 72  |cores:tiles%(cur|
000020e0  72 65 6e 74 25 29 2b 3d  32 3a e7 77 69 6c 64 25  |rent%)+=2:.wild%|
000020f0  3a 74 69 6c 65 73 25 28  63 75 72 72 65 6e 74 25  |:tiles%(current%|
00002100  29 2b 3d 31 0d 08 d4 34  e7 70 6c 61 79 65 72 73  |)+=1...4.players|
00002110  25 3d 32 3a f2 67 75 65  73 73 77 6f 72 64 28 63  |%=2:.guessword(c|
00002120  75 72 72 65 6e 74 25 29  3a 8b 3a f2 67 75 65 73  |urrent%):.:.gues|
00002130  73 77 6f 72 64 28 31 29  0d 08 de 2c cc 3a f2 77  |sword(1)...,.:.w|
00002140  28 38 30 29 3a f2 63 6c  6f 73 65 28 68 73 25 2c  |(80):.close(hs%,|
00002150  76 73 25 29 3a f2 63 6c  6f 73 65 28 68 66 25 2c  |vs%):.close(hf%,|
00002160  76 66 25 29 0d 08 e8 23  e7 70 6c 61 79 65 72 73  |vf%)...#.players|
00002170  25 3d 32 3a 63 75 72 72  65 6e 74 25 3d 33 2d 63  |%=2:current%=3-c|
00002180  75 72 72 65 6e 74 25 0d  08 f2 0b f2 73 63 6f 72  |urrent%.....scor|
00002190  65 73 0d 08 fc 17 cd 3a  fd 6c 65 66 74 25 3c 34  |es.....:.left%<4|
000021a0  20 84 20 67 6f 74 69 74  25 0d 09 06 0d e7 67 6f  | . gotit%.....go|
000021b0  74 69 74 25 20 8c 0d 09  10 0d f2 6d 6f 75 73 65  |tit% ......mouse|
000021c0  6f 66 66 0d 09 1a 4c 70  65 72 63 65 6e 74 61 67  |off...Lpercentag|
000021d0  65 25 3d 74 69 6c 65 73  25 28 63 75 72 72 65 6e  |e%=tiles%(curren|
000021e0  74 25 29 2a 28 31 30 30  2f 28 74 69 6c 65 73 25  |t%)*(100/(tiles%|
000021f0  28 63 75 72 72 65 6e 74  25 29 2b 74 69 6c 65 73  |(current%)+tiles|
00002200  25 28 33 2d 63 75 72 72  65 6e 74 25 29 29 29 0d  |%(3-current%))).|
00002210  09 24 36 62 6f 6e 75 73  25 3d 28 28 33 2d 77 6f  |.$6bonus%=((3-wo|
00002220  72 64 74 79 70 65 25 29  2a 73 6b 69 6c 6c 25 2a  |rdtype%)*skill%*|
00002230  70 65 72 63 65 6e 74 61  67 65 25 2a 6c 65 66 74  |percentage%*left|
00002240  25 29 81 35 30 0d 09 2e  1c 73 63 6f 72 65 25 28  |%).50....score%(|
00002250  63 75 72 72 65 6e 74 25  29 2b 3d 62 6f 6e 75 73  |current%)+=bonus|
00002260  25 0d 09 38 29 ff 22 46  58 31 31 32 2c 32 22 3a  |%..8)."FX112,2":|
00002270  f2 73 63 6f 72 65 73 3a  ff 22 46 58 31 31 32 2c  |.scores:."FX112,|
00002280  31 22 3a f2 73 63 6f 72  65 73 0d 09 42 11 cd 3a  |1":.scores..B..:|
00002290  f2 63 6f 6e 67 72 61 74  73 3a e1 0d 09 4c 04 0d  |.congrats:...L..|
000022a0  09 56 16 dd f2 77 28 69  25 29 3a 6a 25 3d a6 28  |.V...w(i%):j%=.(|
000022b0  69 25 29 3a e1 0d 09 60  04 0d 09 6a 2b dd f2 67  |i%):...`...j+..g|
000022c0  75 65 73 73 77 6f 72 64  28 70 6c 25 29 3a f2 6d  |uessword(pl%):.m|
000022d0  6f 75 73 65 6f 66 66 3a  ff 22 46 58 31 31 32 2c  |ouseoff:."FX112,|
000022e0  32 22 3a db 0d 09 74 0e  f2 67 61 6d 65 74 69 74  |2":...t..gametit|
000022f0  6c 65 0d 09 7e 2f f2 73  63 6f 72 65 73 3a f2 73  |le..~/.scores:.s|
00002300  68 6f 77 77 6f 72 64 28  70 6c 25 29 3a f2 73 6c  |howword(pl%):.sl|
00002310  61 62 28 30 2c 38 33 32  2c 31 32 37 36 2c 36 30  |ab(0,832,1276,60|
00002320  29 0d 09 88 2b ff 22 46  58 31 35 22 3a 74 63 25  |)...+."FX15":tc%|
00002330  3d 31 3a ff 22 46 58 31  35 22 3a e7 63 75 72 72  |=1:."FX15":.curr|
00002340  65 6e 74 25 3d 32 3a 74  63 25 3d 34 0d 09 92 3f  |ent%=2:tc%=4...?|
00002350  f2 74 65 78 74 28 22 57  68 61 74 27 73 20 74 68  |.text("What's th|
00002360  65 20 77 6f 72 64 3f 20  45 6e 74 65 72 20 67 75  |e word? Enter gu|
00002370  65 73 73 3a 20 20 20 20  20 20 20 20 20 20 20 22  |ess:           "|
00002380  2c 2d 31 2c 33 36 2c 74  63 25 29 0d 09 9c 67 ff  |,-1,36,tc%)...g.|
00002390  22 46 58 31 31 32 2c 31  22 3a d6 63 6c 65 61 72  |"FX112,1":.clear|
000023a0  3a 67 75 65 73 73 24 3d  c0 28 a4 67 65 74 73 74  |:guess$=.(.getst|
000023b0  72 69 6e 67 28 22 57 68  61 74 27 73 20 74 68 65  |ring("What's the|
000023c0  20 77 6f 72 64 3f 20 45  6e 74 65 72 20 67 75 65  | word? Enter gue|
000023d0  73 73 3a 20 22 2c 33 36  2c 74 63 25 2c 35 2c 22  |ss: ",36,tc%,5,"|
000023e0  55 22 2c 31 30 29 29 2b  22 20 20 20 20 20 22 2c  |U",10))+"     ",|
000023f0  35 29 0d 09 a6 74 e7 67  75 65 73 73 24 3d 75 73  |5)...t.guess$=us|
00002400  65 72 24 28 70 6c 25 29  3a 67 6f 74 69 74 25 3d  |er$(pl%):gotit%=|
00002410  b9 3a 8b 3a e7 67 75 65  73 73 24 3c 3e 22 20 20  |.:.:.guess$<>"  |
00002420  20 20 20 22 80 61 25 3d  31 33 3a f2 73 6c 61 62  |   ".a%=13:.slab|
00002430  28 30 2c 38 33 32 2c 31  32 37 36 2c 36 30 29 3a  |(0,832,1276,60):|
00002440  f2 74 65 78 74 28 22 53  6f 72 72 79 21 20 54 68  |.text("Sorry! Th|
00002450  61 74 27 73 20 6e 6f 74  20 69 74 2e 22 2c 2d 31  |at's not it.",-1|
00002460  2c 33 36 2c 38 29 0d 09  b0 1a f2 77 28 38 30 29  |,36,8).....w(80)|
00002470  3a e7 ac 67 6f 74 69 74  25 3a d6 63 6c 65 61 72  |:..gotit%:.clear|
00002480  0d 09 ba 05 e1 0d 09 c4  04 0d 09 ce 44 dd 20 a4  |............D. .|
00002490  67 65 74 73 74 72 69 6e  67 28 74 65 78 74 24 2c  |getstring(text$,|
000024a0  79 25 2c 63 6f 6c 25 2c  6c 65 6e 25 2c 61 6c 6c  |y%,col%,len%,all|
000024b0  6f 77 24 2c 74 69 6d 65  25 29 3a ea 78 78 25 2c  |ow$,time%):.xx%,|
000024c0  79 79 25 2c 69 70 24 2c  63 61 70 73 25 0d 09 d8  |yy%,ip$,caps%...|
000024d0  15 6c 73 25 3d a4 77 69  64 74 68 28 74 65 78 74  |.ls%=.width(text|
000024e0  24 29 0d 09 e2 36 78 78  25 3d 31 36 30 2d 6c 73  |$)...6xx%=160-ls|
000024f0  25 2f 32 2d 34 2a 6c 65  6e 25 3a 79 79 25 3d 31  |%/2-4*len%:yy%=1|
00002500  30 32 30 2d 79 25 2a 34  3a 69 70 24 3d 22 22 3a  |020-y%*4:ip$="":|
00002510  64 65 6c 61 79 25 3d 91  0d 09 ec 28 f2 74 65 78  |delay%=....(.tex|
00002520  74 28 74 65 78 74 24 2c  78 78 25 2c 79 25 2c 63  |t(text$,xx%,y%,c|
00002530  6f 6c 25 29 3a f2 64 73  3a 63 61 70 73 25 3d b9  |ol%):.ds:caps%=.|
00002540  0d 09 f6 11 e7 74 69 6d  65 25 3e 30 3a c8 97 ee  |.....time%>0:...|
00002550  31 0d 0a 00 0f f5 3a f5  3a 61 25 3d a6 28 30 29  |1.....:.:a%=.(0)|
00002560  0d 0a 0a 19 e7 74 69 6d  65 25 3d 30 3a 64 65 6c  |.....time%=0:del|
00002570  61 79 25 3d 91 2b 31 30  30 0d 0a 14 41 e7 74 69  |ay%=.+100...A.ti|
00002580  6d 65 25 3e 30 3a c8 99  26 32 45 2c 33 36 2b 32  |me%>0:..&2E,36+2|
00002590  35 36 2c 73 70 72 25 2c  22 70 74 72 5f 63 6f 75  |56,spr%,"ptr_cou|
000025a0  6e 74 22 2b c3 28 31 30  2d 28 91 2d 64 65 6c 61  |nt"+.(10-(.-dela|
000025b0  79 25 29 81 31 30 30 29  2c 31 0d 0a 1e 1d fd 61  |y%).100),1.....a|
000025c0  25 3e 30 84 91 3e 3d 64  65 6c 61 79 25 2b 74 69  |%>0..>=delay%+ti|
000025d0  6d 65 25 2a 31 30 30 0d  0a 28 18 e7 61 25 3d 31  |me%*100..(..a%=1|
000025e0  32 37 20 80 20 a9 28 69  70 24 29 3e 30 20 8c 0d  |27 . .(ip$)>0 ..|
000025f0  0a 32 29 69 70 24 3d c0  69 70 24 2c a9 69 70 24  |.2)ip$=.ip$,.ip$|
00002600  2d 31 29 3a f2 64 73 3a  e7 63 61 70 73 25 3d b9  |-1):.ds:.caps%=.|
00002610  3a 63 61 70 73 25 3d a3  0d 0a 3c 1f e7 c2 69 70  |:caps%=...<...ip|
00002620  24 2c 31 29 3d 22 20 22  84 69 70 24 3d 22 22 3a  |$,1)=" ".ip$="":|
00002630  63 61 70 73 25 3d b9 0d  0a 46 15 cd 3a e7 20 a9  |caps%=...F..:. .|
00002640  28 69 70 24 29 3c 6c 65  6e 25 20 8c 0d 0a 50 0f  |(ip$)<len% ...P.|
00002650  c8 8e 20 61 6c 6c 6f 77  24 20 ca 0d 0a 5a 09 c9  |.. allow$ ...Z..|
00002660  20 22 55 22 0d 0a 64 25  e7 61 25 3e 39 36 20 80  | "U"..d%.a%>96 .|
00002670  20 61 25 3c 31 32 33 3a  69 70 24 2b 3d bd 28 61  | a%<123:ip$+=.(a|
00002680  25 2d 33 32 29 3a f2 64  73 0d 0a 6e 21 e7 61 25  |%-32):.ds..n!.a%|
00002690  3e 36 34 20 80 20 61 25  3c 39 31 3a 69 70 24 2b  |>64 . a%<91:ip$+|
000026a0  3d bd 28 61 25 29 3a f2  64 73 0d 0a 78 09 c9 20  |=.(a%):.ds..x.. |
000026b0  22 41 22 0d 0a 82 0c e7  63 61 70 73 25 20 8c 0d  |"A".....caps% ..|
000026c0  0a 8c 2d e7 61 25 3e 39  36 20 80 20 61 25 3c 31  |..-.a%>96 . a%<1|
000026d0  32 33 3a 69 70 24 2b 3d  bd 28 61 25 2d 33 32 29  |23:ip$+=.(a%-32)|
000026e0  3a f2 64 73 3a 63 61 70  73 25 3d a3 0d 0a 96 29  |:.ds:caps%=....)|
000026f0  e7 61 25 3e 36 34 20 80  20 61 25 3c 39 31 3a 69  |.a%>64 . a%<91:i|
00002700  70 24 2b 3d bd 28 61 25  29 3a f2 64 73 3a 63 61  |p$+=.(a%):.ds:ca|
00002710  70 73 25 3d a3 0d 0a a0  23 cc 3a e7 61 25 3d 33  |ps%=....#.:.a%=3|
00002720  32 3a 63 61 70 73 25 3d  b9 3a 69 70 24 2b 3d bd  |2:caps%=.:ip$+=.|
00002730  28 61 25 29 3a f2 64 73  0d 0a aa 22 e7 61 25 3e  |(a%):.ds...".a%>|
00002740  39 36 20 80 20 61 25 3c  31 32 33 3a 69 70 24 2b  |96 . a%<123:ip$+|
00002750  3d bd 28 61 25 29 3a f2  64 73 0d 0a b4 24 e7 61  |=.(a%):.ds...$.a|
00002760  25 3e 36 34 20 80 20 61  25 3c 39 31 3a 69 70 24  |%>64 . a%<91:ip$|
00002770  2b 3d bd 28 61 25 2b 33  32 29 3a f2 64 73 0d 0a  |+=.(a%+32):.ds..|
00002780  be 05 cd 0d 0a c8 0a c9  20 22 59 4e 22 0d 0a d2  |........ "YN"...|
00002790  2c e7 20 28 61 25 3d 38  39 20 84 20 61 25 3d 31  |,. (a%=89 . a%=1|
000027a0  32 31 29 20 80 20 a9 69  70 24 3d 30 3a 69 70 24  |21) . .ip$=0:ip$|
000027b0  2b 3d 22 59 22 3a f2 64  73 0d 0a dc 2c e7 20 28  |+="Y":.ds...,. (|
000027c0  61 25 3d 37 38 20 84 20  61 25 3d 31 31 30 29 20  |a%=78 . a%=110) |
000027d0  80 20 a9 69 70 24 3d 30  3a 69 70 24 2b 3d 22 4e  |. .ip$=0:ip$+="N|
000027e0  22 3a f2 64 73 0d 0a e6  3a e7 20 28 61 25 3d 36  |":.ds...:. (a%=6|
000027f0  39 20 84 20 61 25 3d 31  30 31 29 20 80 20 a9 69  |9 . a%=101) . .i|
00002800  70 24 3d 31 20 80 20 c0  69 70 24 2c 31 29 3d 22  |p$=1 . .ip$,1)="|
00002810  59 22 3a 69 70 24 2b 3d  22 65 22 3a f2 64 73 0d  |Y":ip$+="e":.ds.|
00002820  0a f0 3a e7 20 28 61 25  3d 37 39 20 84 20 61 25  |..:. (a%=79 . a%|
00002830  3d 31 31 30 29 20 80 20  a9 69 70 24 3d 31 20 80  |=110) . .ip$=1 .|
00002840  20 c0 69 70 24 2c 31 29  3d 22 4e 22 3a 69 70 24  | .ip$,1)="N":ip$|
00002850  2b 3d 22 6f 22 3a f2 64  73 0d 0a fa 3a e7 20 28  |+="o":.ds...:. (|
00002860  61 25 3d 38 33 20 84 20  61 25 3d 31 31 35 29 20  |a%=83 . a%=115) |
00002870  80 20 a9 69 70 24 3d 32  20 80 20 c0 69 70 24 2c  |. .ip$=2 . .ip$,|
00002880  31 29 3d 22 59 22 3a 69  70 24 2b 3d 22 73 22 3a  |1)="Y":ip$+="s":|
00002890  f2 64 73 0d 0b 04 05 cb  0d 0b 0e 05 cd 0d 0b 18  |.ds.............|
000028a0  41 e7 74 69 6d 65 25 3e  30 3a c8 99 26 32 45 2c  |A.time%>0:..&2E,|
000028b0  33 36 2b 32 35 36 2c 73  70 72 25 2c 22 70 74 72  |36+256,spr%,"ptr|
000028c0  5f 63 6f 75 6e 74 22 2b  c3 28 31 30 2d 28 91 2d  |_count"+.(10-(.-|
000028d0  64 65 6c 61 79 25 29 81  31 30 30 29 2c 31 0d 0b  |delay%).100),1..|
000028e0  22 20 fd 61 25 3d 31 33  20 84 20 91 3e 3d 64 65  |" .a%=13 . .>=de|
000028f0  6c 61 79 25 2b 74 69 6d  65 25 2a 31 30 30 0d 0b  |lay%+time%*100..|
00002900  2c 31 e6 34 32 c8 9c 30  3a c8 93 c8 90 78 78 25  |,1.42..0:....xx%|
00002910  2a 34 2b 6c 73 25 2a 34  2d 34 2c 79 79 25 2d 33  |*4+ls%*4-4,yy%-3|
00002920  32 2c 6c 65 6e 25 2a 33  32 2b 33 32 2c 33 36 0d  |2,len%*32+32,36.|
00002930  0b 36 2f f2 74 65 78 74  28 69 70 24 2c 78 78 25  |.6/.text(ip$,xx%|
00002940  2b 6c 73 25 2c 79 25 2c  63 6f 6c 25 29 3a e7 74  |+ls%,y%,col%):.t|
00002950  69 6d 65 25 3e 30 3a f2  70 74 72 28 31 29 0d 0b  |ime%>0:.ptr(1)..|
00002960  40 19 e7 61 6c 6c 6f 77  24 3d 22 59 4e 22 3a 3d  |@..allow$="YN":=|
00002970  c0 69 70 24 2c 31 29 0d  0b 4a 08 3d 69 70 24 0d  |.ip$,1)..J.=ip$.|
00002980  0b 54 04 0d 0b 5e 36 dd  f2 64 73 3a e6 34 32 c8  |.T...^6..ds:.42.|
00002990  9c 30 3a c8 93 c8 90 78  78 25 2a 34 2b 6c 73 25  |.0:....xx%*4+ls%|
000029a0  2a 34 2d 34 2c 79 79 25  2d 33 32 2c 6c 65 6e 25  |*4-4,yy%-32,len%|
000029b0  2a 33 36 2b 33 32 2c 33  36 0d 0b 68 1e f2 74 65  |*36+32,36..h..te|
000029c0  78 74 28 69 70 24 2c 78  78 25 2b 6c 73 25 2c 79  |xt(ip$,xx%+ls%,y|
000029d0  25 2c 63 6f 6c 25 29 0d  0b 72 29 f2 74 65 78 74  |%,col%)..r).text|
000029e0  28 22 5f 22 2c 78 78 25  2b 6c 73 25 2b a4 77 69  |("_",xx%+ls%+.wi|
000029f0  64 74 68 28 69 70 24 29  2c 79 25 2c 37 29 3a e1  |dth(ip$),y%,7):.|
00002a00  0d 0b 7c 2e f4 20 50 72  6f 63 65 64 75 72 65 20  |..|.. Procedure |
00002a10  46 6f 72 20 54 65 78 74  20 77 69 64 74 68 20 63  |For Text width c|
00002a20  61 6c 6c 20 74 6f 20 4d  6f 64 75 6c 65 2e 0d 0b  |all to Module...|
00002a30  86 1f dd a4 77 69 64 74  68 28 74 65 78 74 24 29  |....width(text$)|
00002a40  3a e7 74 65 78 74 24 3d  22 22 3a 3d 30 0d 0b 90  |:.text$="":=0...|
00002a50  23 ea 6c 65 6e 25 2c 69  25 2c 77 25 3a 6c 65 6e  |#.len%,i%,w%:len|
00002a60  25 3d 30 3a e3 69 25 3d  31 b8 a9 74 65 78 74 24  |%=0:.i%=1..text$|
00002a70  0d 0b 9a 3b c8 99 22 54  65 78 74 46 58 5f 47 65  |...;.."TextFX_Ge|
00002a80  74 57 69 64 74 68 22 2c  97 c1 74 65 78 74 24 2c  |tWidth",..text$,|
00002a90  69 25 2c 31 29 20 b8 20  77 25 3a 6c 65 6e 25 2b  |i%,1) . w%:len%+|
00002aa0  3d 77 25 3a ed 3a 3d 6c  65 6e 25 0d 0b a4 04 0d  |=w%:.:=len%.....|
00002ab0  0b ae 24 dd f2 67 65 74  6e 61 6d 65 73 3a ee 85  |..$..getnames:..|
00002ac0  e7 9f 3d 31 37 3a f2 74  69 74 6c 65 3a 8b 3a f2  |..=17:.title:.:.|
00002ad0  65 6e 64 0d 0b b8 2b f2  73 6c 61 62 28 30 2c 30  |end...+.slab(0,0|
00002ae0  2c 31 32 37 36 2c 31 33  36 29 3a ea 6e 24 3a f2  |,1276,136):.n$:.|
00002af0  6d 6f 75 73 65 6f 66 66  3a 2a 46 58 31 35 0d 0b  |mouseoff:*FX15..|
00002b00  c2 4f 6e 61 6d 65 24 28  31 29 3d a4 67 65 74 73  |.Oname$(1)=.gets|
00002b10  74 72 69 6e 67 28 22 50  6c 61 79 65 72 20 6f 6e  |tring("Player on|
00002b20  65 2c 20 70 6c 65 61 73  65 20 65 6e 74 65 72 20  |e, please enter |
00002b30  6e 61 6d 65 3a 20 22 2c  32 32 36 2c 31 2c 31 31  |name: ",226,1,11|
00002b40  2c 22 41 22 2c 30 29 3a  2a 46 58 31 35 0d 0b cc  |,"A",0):*FX15...|
00002b50  55 e7 70 6c 61 79 65 72  73 25 3d 32 3a 6e 61 6d  |U.players%=2:nam|
00002b60  65 24 28 32 29 3d a4 67  65 74 73 74 72 69 6e 67  |e$(2)=.getstring|
00002b70  28 22 50 6c 61 79 65 72  20 74 77 6f 2c 20 70 6c  |("Player two, pl|
00002b80  65 61 73 65 20 65 6e 74  65 72 20 6e 61 6d 65 3a  |ease enter name:|
00002b90  20 22 2c 32 34 33 2c 34  2c 31 31 2c 22 41 22 2c  | ",243,4,11,"A",|
00002ba0  30 29 0d 0b d6 26 e7 6e  61 6d 65 24 28 31 29 3d  |0)...&.name$(1)=|
00002bb0  22 22 3a 6e 61 6d 65 24  28 31 29 3d 22 50 6c 61  |"":name$(1)="Pla|
00002bc0  79 65 72 20 4f 6e 65 22  0d 0b e0 26 e7 6e 61 6d  |yer One"...&.nam|
00002bd0  65 24 28 32 29 3d 22 22  3a 6e 61 6d 65 24 28 32  |e$(2)="":name$(2|
00002be0  29 3d 22 50 6c 61 79 65  72 20 54 77 6f 22 0d 0b  |)="Player Two"..|
00002bf0  ea 10 e7 63 6f 6d 77 6f  72 64 73 25 20 8c 0d 0b  |...comwords% ...|
00002c00  f4 31 41 25 3d b3 28 2d  bb c1 91 24 2c 32 33 2c  |.1A%=.(-...$,23,|
00002c10  32 29 29 3a 75 73 65 72  24 28 31 29 3d 77 6f 72  |2)):user$(1)=wor|
00002c20  64 24 28 b3 28 6d 61 78  77 6f 72 64 25 29 29 0d  |d$(.(maxword%)).|
00002c30  0b fe 53 e7 70 6c 61 79  65 72 73 25 3d 32 3a f5  |..S.players%=2:.|
00002c40  3a 41 25 3d b3 28 2d bb  c1 91 24 2c 32 33 2c 32  |:A%=.(-...$,23,2|
00002c50  29 29 3a 75 73 65 72 24  28 32 29 3d 77 6f 72 64  |)):user$(2)=word|
00002c60  24 28 b3 28 6d 61 78 77  6f 72 64 25 29 29 3a fd  |$(.(maxword%)):.|
00002c70  75 73 65 72 24 28 31 29  3c 3e 75 73 65 72 24 28  |user$(1)<>user$(|
00002c80  32 29 0d 0c 08 05 cc 0d  0c 12 05 f5 0d 0c 1c 21  |2).............!|
00002c90  f5 3a 79 6e 24 3d 22 59  22 3a f2 73 6c 61 62 28  |.:yn$="Y":.slab(|
00002ca0  30 2c 30 2c 31 32 37 36  2c 31 33 36 29 0d 0c 26  |0,0,1276,136)..&|
00002cb0  3e f2 74 65 78 74 28 6e  61 6d 65 24 28 31 29 2b  |>.text(name$(1)+|
00002cc0  22 2c 20 70 6c 65 61 73  65 20 65 6e 74 65 72 20  |", please enter |
00002cd0  79 6f 75 72 20 77 6f 72  64 2e 22 2c 2d 31 2c 32  |your word.",-1,2|
00002ce0  32 36 2c 31 29 3a 2a 46  58 31 35 0d 0c 30 47 75  |26,1):*FX15..0Gu|
00002cf0  73 65 72 24 28 32 29 3d  a4 67 65 74 73 74 72 69  |ser$(2)=.getstri|
00002d00  6e 67 28 6e 61 6d 65 24  28 32 29 2b 22 20 6c 6f  |ng(name$(2)+" lo|
00002d10  6f 6b 20 61 77 61 79 2e  20 57 6f 72 64 20 69 73  |ok away. Word is|
00002d20  3a 20 22 2c 32 34 33 2c  31 2c 35 2c 22 55 22 2c  |: ",243,1,5,"U",|
00002d30  30 29 0d 0c 3a 12 e7 a9  75 73 65 72 24 28 32 29  |0)..:...user$(2)|
00002d40  3c 35 20 8c 0d 0c 44 1d  f2 73 6c 61 62 28 30 2c  |<5 ...D..slab(0,|
00002d50  30 2c 31 32 37 36 2c 31  33 36 29 3a 2a 46 58 31  |0,1276,136):*FX1|
00002d60  35 0d 0c 4e 40 79 6e 24  3d a4 67 65 74 73 74 72  |5..N@yn$=.getstr|
00002d70  69 6e 67 28 22 41 72 65  20 79 6f 75 20 73 75 72  |ing("Are you sur|
00002d80  65 20 74 68 61 74 27 73  20 72 69 67 68 74 3f 20  |e that's right? |
00002d90  22 2c 32 33 34 2c 31 2c  33 2c 22 59 4e 22 2c 30  |",234,1,3,"YN",0|
00002da0  29 0d 0c 58 23 cd 3a 75  73 65 72 24 28 32 29 3d  |)..X#.:user$(2)=|
00002db0  c0 75 73 65 72 24 28 32  29 2b 22 20 20 20 20 20  |.user$(2)+"     |
00002dc0  22 2c 35 29 0d 0c 62 0c  fd 79 6e 24 3d 22 59 22  |",5)..b..yn$="Y"|
00002dd0  0d 0c 6c 1d e7 ac a4 69  73 77 6f 72 64 67 6f 6f  |..l....iswordgoo|
00002de0  64 28 75 73 65 72 24 28  32 29 29 20 8c 0d 0c 76  |d(user$(2)) ...v|
00002df0  3e f2 73 6c 61 62 28 30  2c 30 2c 31 32 37 36 2c  |>.slab(0,0,1276,|
00002e00  31 33 36 29 3a f2 74 65  78 74 28 22 54 68 61 74  |136):.text("That|
00002e10  27 73 20 61 20 73 69 6c  6c 79 20 77 6f 72 64 21  |'s a silly word!|
00002e20  22 2c 2d 31 2c 32 33 34  2c 31 29 0d 0c 80 0d 49  |",-1,234,1)....I|
00002e30  25 3d a6 28 35 30 30 29  0d 0c 8a 05 cd 0d 0c 94  |%=.(500)........|
00002e40  1a fd a4 69 73 77 6f 72  64 67 6f 6f 64 28 75 73  |...iswordgood(us|
00002e50  65 72 24 28 32 29 29 0d  0c 9e 05 f5 0d 0c a8 21  |er$(2))........!|
00002e60  f5 3a 79 6e 24 3d 22 59  22 3a f2 73 6c 61 62 28  |.:yn$="Y":.slab(|
00002e70  30 2c 30 2c 31 32 37 36  2c 31 33 36 29 0d 0c b2  |0,0,1276,136)...|
00002e80  3e f2 74 65 78 74 28 6e  61 6d 65 24 28 32 29 2b  |>.text(name$(2)+|
00002e90  22 2c 20 70 6c 65 61 73  65 20 65 6e 74 65 72 20  |", please enter |
00002ea0  79 6f 75 72 20 77 6f 72  64 2e 22 2c 2d 31 2c 32  |your word.",-1,2|
00002eb0  32 36 2c 34 29 3a 2a 46  58 31 35 0d 0c bc 47 75  |26,4):*FX15...Gu|
00002ec0  73 65 72 24 28 31 29 3d  a4 67 65 74 73 74 72 69  |ser$(1)=.getstri|
00002ed0  6e 67 28 6e 61 6d 65 24  28 31 29 2b 22 20 6c 6f  |ng(name$(1)+" lo|
00002ee0  6f 6b 20 61 77 61 79 2e  20 57 6f 72 64 20 69 73  |ok away. Word is|
00002ef0  3a 20 22 2c 32 34 33 2c  34 2c 35 2c 22 55 22 2c  |: ",243,4,5,"U",|
00002f00  30 29 0d 0c c6 12 e7 a9  75 73 65 72 24 28 31 29  |0)......user$(1)|
00002f10  3c 35 20 8c 0d 0c d0 1d  f2 73 6c 61 62 28 30 2c  |<5 ......slab(0,|
00002f20  30 2c 31 32 37 36 2c 31  33 36 29 3a 2a 46 58 31  |0,1276,136):*FX1|
00002f30  35 0d 0c da 40 79 6e 24  3d a4 67 65 74 73 74 72  |5...@yn$=.getstr|
00002f40  69 6e 67 28 22 41 72 65  20 79 6f 75 20 73 75 72  |ing("Are you sur|
00002f50  65 20 74 68 61 74 27 73  20 72 69 67 68 74 3f 20  |e that's right? |
00002f60  22 2c 32 33 34 2c 34 2c  33 2c 22 59 4e 22 2c 30  |",234,4,3,"YN",0|
00002f70  29 0d 0c e4 23 cd 3a 75  73 65 72 24 28 31 29 3d  |)...#.:user$(1)=|
00002f80  c0 75 73 65 72 24 28 31  29 2b 22 20 20 20 20 20  |.user$(1)+"     |
00002f90  22 2c 35 29 0d 0c ee 0c  fd 79 6e 24 3d 22 59 22  |",5).....yn$="Y"|
00002fa0  0d 0c f8 1d e7 ac a4 69  73 77 6f 72 64 67 6f 6f  |.......iswordgoo|
00002fb0  64 28 75 73 65 72 24 28  31 29 29 20 8c 0d 0d 02  |d(user$(1)) ....|
00002fc0  3e f2 73 6c 61 62 28 30  2c 30 2c 31 32 37 36 2c  |>.slab(0,0,1276,|
00002fd0  31 33 36 29 3a f2 74 65  78 74 28 22 54 68 61 74  |136):.text("That|
00002fe0  27 73 20 61 20 73 69 6c  6c 79 20 77 6f 72 64 21  |'s a silly word!|
00002ff0  22 2c 2d 31 2c 32 33 34  2c 34 29 0d 0d 0c 0d 49  |",-1,234,4)....I|
00003000  25 3d a6 28 35 30 30 29  0d 0d 16 05 cd 0d 0d 20  |%=.(500)....... |
00003010  1a fd a4 69 73 77 6f 72  64 67 6f 6f 64 28 75 73  |...iswordgood(us|
00003020  65 72 24 28 31 29 29 0d  0d 2a 2f cd 3a 64 69 73  |er$(1))..*/.:dis|
00003030  70 6c 61 79 24 28 31 29  3d 75 73 65 72 24 28 31  |play$(1)=user$(1|
00003040  29 3a 64 69 73 70 6c 61  79 24 28 32 29 3d 75 73  |):display$(2)=us|
00003050  65 72 24 28 32 29 0d 0d  34 12 e7 77 6f 72 64 74  |er$(2)..4..wordt|
00003060  79 70 65 25 3d 31 20 8c  0d 0d 3e 23 64 69 73 70  |ype%=1 ...>#disp|
00003070  6c 61 79 24 28 31 29 3d  a4 73 63 72 61 6d 62 6c  |lay$(1)=.scrambl|
00003080  65 28 75 73 65 72 24 28  31 29 29 0d 0d 48 2f e7  |e(user$(1))..H/.|
00003090  70 6c 61 79 65 72 73 25  3d 32 3a 64 69 73 70 6c  |players%=2:displ|
000030a0  61 79 24 28 32 29 3d a4  73 63 72 61 6d 62 6c 65  |ay$(2)=.scramble|
000030b0  28 75 73 65 72 24 28 32  29 29 0d 0d 52 1c cd 3a  |(user$(2))..R..:|
000030c0  e3 69 25 3d 31 b8 32 34  3a 70 69 63 25 28 69 25  |.i%=1.24:pic%(i%|
000030d0  29 3d 69 25 3a ed 0d 0d  5c 0f e7 73 6b 69 6c 6c  |)=i%:...\..skill|
000030e0  25 3c 35 20 8c 0d 0d 66  17 f2 73 6c 61 62 28 30  |%<5 ...f..slab(0|
000030f0  2c 30 2c 31 32 37 36 2c  31 33 36 29 0d 0d 70 51  |,0,1276,136)..pQ|
00003100  79 6e 24 3d a4 67 65 74  73 74 72 69 6e 67 28 22  |yn$=.getstring("|
00003110  57 6f 75 6c 64 20 79 6f  75 20 6c 69 6b 65 20 74  |Would you like t|
00003120  6f 20 63 68 6f 6f 73 65  20 79 6f 75 72 20 6f 77  |o choose your ow|
00003130  6e 20 70 69 63 74 75 72  65 73 3f 20 22 2c 32 33  |n pictures? ",23|
00003140  34 2c 35 2c 33 2c 22 59  4e 22 2c 30 29 0d 0d 7a  |4,5,3,"YN",0)..z|
00003150  1a e7 79 6e 24 3d 22 59  22 20 8c 20 f2 63 68 6f  |..yn$="Y" . .cho|
00003160  6f 73 65 70 69 63 73 0d  0d 84 05 cd 0d 0d 8e 12  |osepics.........|
00003170  f2 63 68 6f 6f 73 65 73  68 61 70 65 3a e1 0d 0d  |.chooseshape:...|
00003180  98 04 0d 0d a2 37 dd 20  a4 69 73 77 6f 72 64 67  |.....7. .iswordg|
00003190  6f 6f 64 28 77 6f 72 64  24 29 3a 6c 61 73 74 63  |ood(word$):lastc|
000031a0  68 61 72 25 3d 30 3a 6e  75 6d 73 61 6d 65 25 3d  |har%=0:numsame%=|
000031b0  30 3a e3 49 25 3d 31 b8  35 0d 0d ac 34 63 68 61  |0:.I%=1.5...4cha|
000031c0  72 25 3d 97 c1 77 6f 72  64 24 2c 49 25 2c 31 29  |r%=..word$,I%,1)|
000031d0  3a e7 63 68 61 72 25 3d  6c 61 73 74 63 68 61 72  |:.char%=lastchar|
000031e0  25 3a 6e 75 6d 73 61 6d  65 25 2b 3d 31 0d 0d b6  |%:numsame%+=1...|
000031f0  24 6c 61 73 74 63 68 61  72 25 3d 63 68 61 72 25  |$lastchar%=char%|
00003200  3a ed 3a e7 6e 75 6d 73  61 6d 65 25 3c 34 3a 3d  |:.:.numsame%<4:=|
00003210  b9 0d 0d c0 06 3d a3 0d  0d ca 04 0d 0d d4 1c dd  |.....=..........|
00003220  f2 68 74 28 6e 25 29 3a  ea 20 63 25 2c 76 25 3a  |.ht(n%):. c%,v%:|
00003230  c8 8e 20 6e 25 20 ca 0d  0d de 14 c9 31 3a e7 70  |.. n% ......1:.p|
00003240  6c 61 79 65 72 73 25 3d  31 20 8c 0d 0d e8 24 f2  |layers%=1 ....$.|
00003250  74 65 78 74 28 22 4f 6e  65 20 50 6c 61 79 65 72  |text("One Player|
00003260  20 47 61 6d 65 22 2c 2d  33 2c 33 39 2c 32 29 0d  | Game",-3,39,2).|
00003270  0d f2 25 f2 74 65 78 74  28 22 54 77 6f 20 50 6c  |..%.text("Two Pl|
00003280  61 79 65 72 20 47 61 6d  65 22 2c 2d 33 2c 35 30  |ayer Game",-3,50|
00003290  2c 31 31 29 0d 0d fc 27  cc 3a f2 74 65 78 74 28  |,11)...'.:.text(|
000032a0  22 4f 6e 65 20 50 6c 61  79 65 72 20 47 61 6d 65  |"One Player Game|
000032b0  22 2c 2d 33 2c 33 39 2c  31 31 29 0d 0e 06 24 f2  |",-3,39,11)...$.|
000032c0  74 65 78 74 28 22 54 77  6f 20 50 6c 61 79 65 72  |text("Two Player|
000032d0  20 47 61 6d 65 22 2c 2d  33 2c 35 30 2c 32 29 0d  | Game",-3,50,2).|
000032e0  0e 10 05 cd 0d 0e 1a 15  c9 32 3a e7 63 6f 6d 77  |.........2:.comw|
000032f0  6f 72 64 73 25 3d b9 20  8c 0d 0e 24 23 f2 74 65  |ords%=. ...$#.te|
00003300  78 74 28 22 43 6f 6d 70  75 74 65 72 20 57 6f 72  |xt("Computer Wor|
00003310  64 73 22 2c 2d 33 2c 38  34 2c 32 29 0d 0e 2e 20  |ds",-3,84,2)... |
00003320  f2 74 65 78 74 28 22 55  73 65 72 20 57 6f 72 64  |.text("User Word|
00003330  73 22 2c 2d 33 2c 39 35  2c 31 31 29 0d 0e 38 26  |s",-3,95,11)..8&|
00003340  cc 3a f2 74 65 78 74 28  22 43 6f 6d 70 75 74 65  |.:.text("Compute|
00003350  72 20 57 6f 72 64 73 22  2c 2d 33 2c 38 34 2c 31  |r Words",-3,84,1|
00003360  31 29 0d 0e 42 1f f2 74  65 78 74 28 22 55 73 65  |1)..B..text("Use|
00003370  72 20 57 6f 72 64 73 22  2c 2d 33 2c 39 35 2c 32  |r Words",-3,95,2|
00003380  29 0d 0e 4c 05 cd 0d 0e  56 15 c9 33 3a e7 77 6f  |)..L....V..3:.wo|
00003390  72 64 74 79 70 65 25 3d  31 20 8c 0d 0e 60 25 f2  |rdtype%=1 ...`%.|
000033a0  74 65 78 74 28 22 53 63  72 61 6d 62 6c 65 64 20  |text("Scrambled |
000033b0  57 6f 72 64 73 22 2c 2d  33 2c 31 30 36 2c 32 29  |Words",-3,106,2)|
000033c0  0d 0e 6a 23 f2 74 65 78  74 28 22 4e 6f 72 6d 61  |..j#.text("Norma|
000033d0  6c 20 57 6f 72 64 73 22  2c 2d 33 2c 31 31 37 2c  |l Words",-3,117,|
000033e0  31 31 29 0d 0e 74 28 cc  3a f2 74 65 78 74 28 22  |11)..t(.:.text("|
000033f0  53 63 72 61 6d 62 6c 65  64 20 57 6f 72 64 73 22  |Scrambled Words"|
00003400  2c 2d 33 2c 31 30 36 2c  31 31 29 0d 0e 7e 22 f2  |,-3,106,11)..~".|
00003410  74 65 78 74 28 22 4e 6f  72 6d 61 6c 20 57 6f 72  |text("Normal Wor|
00003420  64 73 22 2c 2d 33 2c 31  31 37 2c 32 29 0d 0e 88  |ds",-3,117,2)...|
00003430  05 cd 0d 0e 92 24 c9 34  3a e3 76 25 3d 31 b8 35  |.....$.4:.v%=1.5|
00003440  3a 63 25 3d 31 31 3a e7  73 6b 69 6c 6c 25 3d 76  |:c%=11:.skill%=v|
00003450  25 3a 63 25 3d 32 0d 0e  9c 0b c8 8e 20 76 25 20  |%:c%=2...... v% |
00003460  ca 0d 0e a6 23 c9 31 3a  f2 74 65 78 74 28 22 4d  |....#.1:.text("M|
00003470  65 67 61 20 45 61 73 79  22 2c 2d 33 2c 31 38 32  |ega Easy",-3,182|
00003480  2c 63 25 29 0d 0e b0 23  c9 32 3a f2 74 65 78 74  |,c%)...#.2:.text|
00003490  28 22 56 65 72 79 20 45  61 73 79 22 2c 2d 33 2c  |("Very Easy",-3,|
000034a0  31 39 33 2c 63 25 29 0d  0e ba 20 c9 33 3a f2 74  |193,c%)... .3:.t|
000034b0  65 78 74 28 22 53 69 6d  70 6c 65 22 2c 2d 33 2c  |ext("Simple",-3,|
000034c0  32 30 34 2c 63 25 29 0d  0e c4 24 c9 34 3a f2 74  |204,c%)...$.4:.t|
000034d0  65 78 74 28 22 54 75 66  66 20 28 69 73 68 29 22  |ext("Tuff (ish)"|
000034e0  2c 2d 33 2c 32 31 35 2c  63 25 29 0d 0e ce 23 c9  |,-3,215,c%)...#.|
000034f0  35 3a f2 74 65 78 74 28  22 4d 65 67 61 20 54 75  |5:.text("Mega Tu|
00003500  66 66 22 2c 2d 33 2c 32  32 36 2c 63 25 29 0d 0e  |ff",-3,226,c%)..|
00003510  d8 07 cb 3a ed 0d 0e e2  07 cb 3a e1 0d 0e ec 04  |...:......:.....|
00003520  0d 0e f6 34 dd a4 73 63  72 61 6d 62 6c 65 28 73  |...4..scramble(s|
00003530  63 72 24 29 3a ea 66 69  6e 61 6c 24 3a 73 63 72  |cr$):.final$:scr|
00003540  24 3d c0 73 63 72 24 2b  22 20 20 20 20 20 22 2c  |$=.scr$+"     ",|
00003550  35 29 3a f5 0d 0f 00 24  66 69 6e 61 6c 24 3d 22  |5):....$final$="|
00003560  20 20 20 20 20 22 3a e3  69 25 3d 31 b8 35 3a f5  |     ":.i%=1.5:.|
00003570  3a 78 25 3d b3 28 35 29  0d 0f 0a 32 fd c1 66 69  |:x%=.(5)...2..fi|
00003580  6e 61 6c 24 2c 78 25 2c  31 29 3d 22 20 22 3a c1  |nal$,x%,1)=" ":.|
00003590  66 69 6e 61 6c 24 2c 78  25 2c 31 29 3d c1 73 63  |final$,x%,1)=.sc|
000035a0  72 24 2c 69 25 2c 31 29  3a ed 0d 0f 14 22 fd 66  |r$,i%,1):....".f|
000035b0  69 6e 61 6c 24 3c 3e 73  63 72 24 3a 3d a4 72 73  |inal$<>scr$:=.rs|
000035c0  70 61 63 65 28 66 69 6e  61 6c 24 29 0d 0f 1e 04  |pace(final$)....|
000035d0  0d 0f 28 2c dd f2 6e 62  3a ea 78 25 2c 79 25 2c  |..(,..nb:.x%,y%,|
000035e0  7a 25 3a c8 97 88 30 2c  30 3a f5 3a c8 97 78 25  |z%:...0,0:.:..x%|
000035f0  2c 79 25 2c 7a 25 3a fd  7a 25 3d 30 0d 0f 32 0c  |,y%,z%:.z%=0..2.|
00003600  c8 97 88 32 2c 32 3a e1  0d 0f 3c 04 0d 0f 46 34  |...2,2:...<...F4|
00003610  dd f2 6c 6f 61 64 74 61  62 6c 65 3a 66 69 6c 65  |..loadtable:file|
00003620  25 3d 8e 28 22 3c 57 6f  72 64 50 61 69 72 24 44  |%=.("<WordPair$D|
00003630  69 72 3e 2e 48 69 67 68  53 63 6f 72 65 73 22 29  |ir>.HighScores")|
00003640  0d 0f 50 3b e3 6e 61 6d  65 25 3d 31 b8 31 30 3a  |..P;.name%=1.10:|
00003650  e8 23 66 69 6c 65 25 2c  68 69 67 68 24 28 6e 61  |.#file%,high$(na|
00003660  6d 65 25 29 2c 68 69 67  68 25 28 6e 61 6d 65 25  |me%),high%(name%|
00003670  29 3a ed 3a d9 23 66 69  6c 65 25 0d 0f 5a 05 e1  |):.:.#file%..Z..|
00003680  0d 0f 64 04 0d 0f 6e 1c  dd f2 73 61 76 65 74 61  |..d...n...saveta|
00003690  62 6c 65 3a e7 ac 73 61  76 65 74 61 62 25 3a e1  |ble:..savetab%:.|
000036a0  0d 0f 78 28 66 69 6c 65  25 3d ae 28 22 3c 57 6f  |..x(file%=.("<Wo|
000036b0  72 64 50 61 69 72 24 44  69 72 3e 2e 48 69 67 68  |rdPair$Dir>.High|
000036c0  53 63 6f 72 65 73 22 29  0d 0f 82 3b e3 6e 61 6d  |Scores")...;.nam|
000036d0  65 25 3d 31 b8 31 30 3a  f1 23 66 69 6c 65 25 2c  |e%=1.10:.#file%,|
000036e0  68 69 67 68 24 28 6e 61  6d 65 25 29 2c 68 69 67  |high$(name%),hig|
000036f0  68 25 28 6e 61 6d 65 25  29 3a ed 3a d9 23 66 69  |h%(name%):.:.#fi|
00003700  6c 65 25 0d 0f 8c 05 e1  0d 0f 96 04 0d 0f a0 42  |le%............B|
00003710  dd f2 6e 65 77 77 6f 72  64 73 3a ea 20 78 78 25  |..newwords:. xx%|
00003720  2c 79 79 25 2c 62 75 74  74 6f 6e 25 2c 74 69 6d  |,yy%,button%,tim|
00003730  65 25 2c 70 72 69 6e 74  24 2c 6f 6c 64 66 69 6c  |e%,print$,oldfil|
00003740  65 25 2c 6e 65 77 66 69  6c 65 25 2c 6e 24 0d 0f  |e%,newfile%,n$..|
00003750  aa 34 f2 73 6c 61 62 28  30 2c 38 32 30 2c 36 33  |.4.slab(0,820,63|
00003760  36 2c 36 34 29 3a f2 74  65 78 74 28 22 4c 6f 61  |6,64):.text("Loa|
00003770  64 20 57 6f 72 64 73 3a  22 2c 2d 32 2c 33 39 2c  |d Words:",-2,39,|
00003780  36 29 0d 0f b4 2a f2 73  6c 61 62 28 30 2c 31 34  |6)...*.slab(0,14|
00003790  30 2c 36 33 36 2c 36 37  36 29 3a c8 97 c8 93 30  |0,636,676):....0|
000037a0  2c 31 34 30 2c 36 33 36  2c 36 37 36 0d 0f be 14  |,140,636,676....|
000037b0  e3 69 25 3d 31 b8 77 6f  72 64 66 69 6c 65 73 25  |.i%=1.wordfiles%|
000037c0  0d 0f c8 23 f2 74 65 78  74 28 66 6e 61 6d 65 24  |...#.text(fname$|
000037d0  28 69 25 29 2c 38 2c 34  35 2b 69 25 2a 31 31 2c  |(i%),8,45+i%*11,|
000037e0  31 31 29 0d 0f d2 35 f2  74 65 78 74 28 22 28 22  |11)...5.text("("|
000037f0  2b c3 77 6f 72 64 73 25  28 69 25 29 2b 22 29 22  |+.words%(i%)+")"|
00003800  2c 31 31 35 32 2d 38 2a  a9 6e 24 2c 34 35 2b 69  |,1152-8*.n$,45+i|
00003810  25 2a 31 31 2c 31 31 29  0d 0f dc 2f ed 3a c8 97  |%*11,11).../.:..|
00003820  78 78 25 2c 79 79 25 2c  62 75 74 74 6f 6e 25 3a  |xx%,yy%,button%:|
00003830  78 78 25 3d 78 78 25 81  34 2a 34 3a 79 79 25 3d  |xx%=xx%.4*4:yy%=|
00003840  79 79 25 81 34 2a 34 0d  0f e6 35 6f 66 25 3d 28  |yy%.4*4...5of%=(|
00003850  38 30 36 2d 79 79 25 29  2f 34 34 2b 31 3a e7 6f  |806-yy%)/44+1:.o|
00003860  66 25 3e 77 6f 72 64 66  69 6c 65 73 25 3a 6f 66  |f%>wordfiles%:of|
00003870  25 3d 77 6f 72 64 66 69  6c 65 73 25 0d 0f f0 10  |%=wordfiles%....|
00003880  e7 6f 66 25 3c 31 3a 6f  66 25 3d 31 0d 0f fa 25  |.of%<1:of%=1...%|
00003890  e6 32 31 c8 9c 36 34 3a  c8 93 c8 90 31 32 2c 38  |.21..64:....12,8|
000038a0  34 38 2d 6f 66 25 2a 34  34 2c 36 31 32 2c 2d 34  |48-of%*44,612,-4|
000038b0  30 0d 10 04 24 f2 74 65  78 74 28 66 6e 61 6d 65  |0...$.text(fname|
000038c0  24 28 6f 66 25 29 2c 38  2c 34 35 2b 6f 66 25 2a  |$(of%),8,45+of%*|
000038d0  31 31 2c 32 29 0d 10 0e  30 f2 74 65 78 74 28 22  |11,2)...0.text("|
000038e0  28 22 2b c3 77 6f 72 64  73 25 28 6f 66 25 29 2b  |("+.words%(of%)+|
000038f0  22 29 22 2c 31 31 35 32  2c 34 35 2b 6f 66 25 2a  |")",1152,45+of%*|
00003900  31 31 2c 32 29 0d 10 18  23 f2 6e 62 3a f5 3a c8  |11,2)...#.nb:.:.|
00003910  97 78 78 25 2c 79 79 25  2c 62 75 74 74 6f 6e 25  |.xx%,yy%,button%|
00003920  3a f2 73 63 72 6f 6c 6c  0d 10 22 44 6e 65 77 66  |:.scroll.."Dnewf|
00003930  69 6c 65 25 3d 28 38 30  36 2d 79 79 25 29 2f 34  |ile%=(806-yy%)/4|
00003940  34 2b 31 3a e7 6e 65 77  66 69 6c 65 25 3e 77 6f  |4+1:.newfile%>wo|
00003950  72 64 66 69 6c 65 73 25  3a 6e 65 77 66 69 6c 65  |rdfiles%:newfile|
00003960  25 3d 77 6f 72 64 66 69  6c 65 73 25 0d 10 2c 1a  |%=wordfiles%..,.|
00003970  e7 6e 65 77 66 69 6c 65  25 3c 31 3a 6e 65 77 66  |.newfile%<1:newf|
00003980  69 6c 65 25 3d 31 0d 10  36 14 e7 6e 65 77 66 69  |ile%=1..6..newfi|
00003990  6c 65 25 3c 3e 6f 66 25  20 8c 0d 10 40 24 e6 34  |le%<>of% ...@$.4|
000039a0  32 c8 9c 30 3a c8 93 c8  90 31 32 2c 38 34 38 2d  |2..0:....12,848-|
000039b0  6f 66 25 2a 34 34 2c 36  31 32 2c 2d 34 30 0d 10  |of%*44,612,-40..|
000039c0  4a 25 f2 74 65 78 74 28  66 6e 61 6d 65 24 28 6f  |J%.text(fname$(o|
000039d0  66 25 29 2c 38 2c 34 35  2b 6f 66 25 2a 31 31 2c  |f%),8,45+of%*11,|
000039e0  31 31 29 0d 10 54 31 f2  74 65 78 74 28 22 28 22  |11)..T1.text("("|
000039f0  2b c3 77 6f 72 64 73 25  28 6f 66 25 29 2b 22 29  |+.words%(of%)+")|
00003a00  22 2c 31 31 35 32 2c 34  35 2b 6f 66 25 2a 31 31  |",1152,45+of%*11|
00003a10  2c 31 31 29 0d 10 5e 10  6f 66 25 3d 6e 65 77 66  |,11)..^.of%=newf|
00003a20  69 6c 65 25 0d 10 68 25  e6 32 31 c8 9c 36 34 3a  |ile%..h%.21..64:|
00003a30  c8 93 c8 90 31 32 2c 38  34 38 2d 6f 66 25 2a 34  |....12,848-of%*4|
00003a40  34 2c 36 31 32 2c 2d 34  30 0d 10 72 24 f2 74 65  |4,612,-40..r$.te|
00003a50  78 74 28 66 6e 61 6d 65  24 28 6f 66 25 29 2c 38  |xt(fname$(of%),8|
00003a60  2c 34 35 2b 6f 66 25 2a  31 31 2c 32 29 0d 10 7c  |,45+of%*11,2)..||
00003a70  30 f2 74 65 78 74 28 22  28 22 2b c3 77 6f 72 64  |0.text("("+.word|
00003a80  73 25 28 6f 66 25 29 2b  22 29 22 2c 31 31 35 32  |s%(of%)+")",1152|
00003a90  2c 34 35 2b 6f 66 25 2a  31 31 2c 32 29 0d 10 86  |,45+of%*11,2)...|
00003aa0  05 cd 0d 10 90 0c fd 62  75 74 74 6f 6e 25 0d 10  |.......button%..|
00003ab0  9a 29 77 6f 72 64 66 69  6c 65 24 3d 66 6e 61 6d  |.)wordfile$=fnam|
00003ac0  65 24 28 6e 65 77 66 69  6c 65 25 29 3a f2 6c 6f  |e$(newfile%):.lo|
00003ad0  61 64 77 6f 72 64 73 0d  10 a4 1d e6 34 32 c8 9c  |adwords.....42..|
00003ae0  30 3a c8 93 c8 90 36 35  32 2c 34 35 36 2c 36 31  |0:....652,456,61|
00003af0  32 2c 34 30 0d 10 ae 2b  f2 74 65 78 74 28 22 46  |2,40...+.text("F|
00003b00  69 6c 65 3a 20 27 22 2b  77 6f 72 64 66 69 6c 65  |ile: '"+wordfile|
00003b10  24 2b 22 60 22 2c 2d 33  2c 31 33 33 2c 36 29 0d  |$+"`",-3,133,6).|
00003b20  10 b8 35 f2 73 6c 61 62  28 30 2c 38 32 30 2c 36  |..5.slab(0,820,6|
00003b30  33 36 2c 36 34 29 3a f2  74 65 78 74 28 22 48 69  |36,64):.text("Hi|
00003b40  67 68 20 53 63 6f 72 65  73 3a 22 2c 2d 32 2c 33  |gh Scores:",-2,3|
00003b50  39 2c 36 29 0d 10 c2 18  f2 73 6c 61 62 28 30 2c  |9,6).....slab(0,|
00003b60  31 34 30 2c 36 33 36 2c  36 37 36 29 0d 10 cc 0f  |140,636,676)....|
00003b70  e3 74 69 6d 65 25 3d 31  b8 31 30 0d 10 d6 20 e7  |.time%=1.10... .|
00003b80  75 70 31 25 3c 3e 74 69  6d 65 25 20 80 20 75 70  |up1%<>time% . up|
00003b90  32 25 3c 3e 74 69 6d 65  25 20 8c 0d 10 e0 27 f2  |2%<>time% ....'.|
00003ba0  74 65 78 74 28 68 69 67  68 24 28 74 69 6d 65 25  |text(high$(time%|
00003bb0  29 2c 38 2c 33 39 2b 74  69 6d 65 25 2a 31 37 2c  |),8,39+time%*17,|
00003bc0  36 29 0d 10 ea 2b f2 74  65 78 74 28 c3 68 69 67  |6)...+.text(.hig|
00003bd0  68 25 28 74 69 6d 65 25  29 2c 31 31 35 32 2c 33  |h%(time%),1152,3|
00003be0  39 2b 74 69 6d 65 25 2a  31 37 2c 36 29 0d 10 f4  |9+time%*17,6)...|
00003bf0  05 cc 0d 10 fe 27 f2 74  65 78 74 28 68 69 67 68  |.....'.text(high|
00003c00  24 28 74 69 6d 65 25 29  2c 38 2c 33 39 2b 74 69  |$(time%),8,39+ti|
00003c10  6d 65 25 2a 31 37 2c 37  29 0d 11 08 2b f2 74 65  |me%*17,7)...+.te|
00003c20  78 74 28 c3 68 69 67 68  25 28 74 69 6d 65 25 29  |xt(.high%(time%)|
00003c30  2c 31 31 35 32 2c 33 39  2b 74 69 6d 65 25 2a 31  |,1152,39+time%*1|
00003c40  37 2c 37 29 0d 11 12 1b  cd 3a ed 3a c8 97 c8 93  |7,7).....:.:....|
00003c50  30 2c 30 2c 31 32 37 36  2c 31 30 32 30 3a e1 0d  |0,0,1276,1020:..|
00003c60  11 1c 04 0d 11 26 3c dd  f2 74 69 74 6c 65 3a 75  |.....&<..title:u|
00003c70  70 25 3d 30 3a 75 70 31  25 3d 30 3a 75 70 32 25  |p%=0:up1%=0:up2%|
00003c80  3d 30 3a 73 63 72 78 25  3d 33 32 3a 73 63 72 73  |=0:scrx%=32:scrs|
00003c90  74 78 25 3d 30 3a 73 63  63 6f 6c 25 3d 36 33 0d  |tx%=0:sccol%=63.|
00003ca0  11 30 38 ef 31 39 2c 30  2c 32 34 2c 30 2c 30 2c  |.08.19,0,24,0,0,|
00003cb0  30 3a fb 31 32 38 c8 9c  30 3a 70 61 75 73 65 64  |0:.128..0:paused|
00003cc0  25 3d a3 3a 66 6c 61 73  68 25 3d a3 3a 73 63 72  |%=.:flash%=.:scr|
00003cd0  73 74 65 70 25 3d 34 0d  11 3a 2d ff 22 46 58 31  |step%=4..:-."FX1|
00003ce0  31 33 2c 31 22 3a ff 22  46 58 31 31 32 2c 31 22  |13,1":."FX112,1"|
00003cf0  3a ee 85 e7 9f 3d 31 37  3a f2 65 73 63 3a 8b 3a  |:....=17:.esc:.:|
00003d00  f2 65 6e 64 0d 11 44 35  f2 6d 6f 75 73 65 6f 66  |.end..D5.mouseof|
00003d10  66 3a e7 73 63 6f 72 65  25 28 31 29 3e 68 69 67  |f:.score%(1)>hig|
00003d20  68 25 28 31 30 29 3a f2  65 6e 74 65 72 28 31 29  |h%(10):.enter(1)|
00003d30  3a 75 70 31 25 3d 75 70  25 0d 11 4e 2b e7 73 63  |:up1%=up%..N+.sc|
00003d40  6f 72 65 25 28 32 29 3e  68 69 67 68 25 28 31 30  |ore%(2)>high%(10|
00003d50  29 3a f2 65 6e 74 65 72  28 32 29 3a 75 70 32 25  |):.enter(2):up2%|
00003d60  3d 75 70 25 0d 11 58 2d  73 63 6f 72 65 25 28 29  |=up%..X-score%()|
00003d70  3d 30 3a c8 97 c8 93 30  2c 30 2c 31 32 37 36 2c  |=0:....0,0,1276,|
00003d80  31 30 32 30 3a ff 22 46  58 31 31 32 2c 32 22 3a  |1020:."FX112,2":|
00003d90  db 0d 11 62 11 c8 96 3a  ff 22 46 58 31 31 33 2c  |...b...:."FX113,|
00003da0  31 22 0d 11 6c 29 c8 99  26 32 45 2c 33 34 2b 32  |1"..l)..&2E,34+2|
00003db0  35 36 2c 73 70 72 25 2c  22 6d 65 6e 75 74 69 74  |56,spr%,"menutit|
00003dc0  6c 65 22 2c 30 2c 38 38  38 2c 30 0d 11 76 2f c8  |le",0,888,0..v/.|
00003dd0  99 26 32 45 2c 31 36 2b  32 35 36 2c 73 70 72 25  |.&2E,16+256,spr%|
00003de0  2c 22 73 63 72 62 61 63  6b 22 2c 30 2c 32 30 2c  |,"scrback",0,20,|
00003df0  32 30 2c 31 32 36 30 2c  34 38 0d 11 80 35 f2 73  |20,1260,48...5.s|
00003e00  6c 61 62 28 30 2c 38 32  30 2c 36 33 36 2c 36 34  |lab(0,820,636,64|
00003e10  29 3a f2 74 65 78 74 28  22 48 69 67 68 20 53 63  |):.text("High Sc|
00003e20  6f 72 65 73 3a 22 2c 2d  32 2c 33 39 2c 36 29 0d  |ores:",-2,39,6).|
00003e30  11 8a 33 f2 73 6c 61 62  28 30 2c 37 32 2c 36 33  |..3.slab(0,72,63|
00003e40  36 2c 36 34 29 3a f2 74  65 78 74 28 22 53 74 61  |6,64):.text("Sta|
00003e50  72 74 20 47 61 6d 65 22  2c 2d 32 2c 32 32 36 2c  |rt Game",-2,226,|
00003e60  33 29 0d 11 94 3c f2 73  6c 61 62 28 30 2c 31 34  |3)...<.slab(0,14|
00003e70  30 2c 36 33 36 2c 36 37  36 29 3a 63 6c 69 63 6b  |0,636,676):click|
00003e80  73 74 61 72 74 25 3d a3  3a f2 73 6c 61 62 28 36  |start%=.:.slab(6|
00003e90  34 30 2c 38 38 38 2c 36  33 36 2c 36 34 29 0d 11  |40,888,636,64)..|
00003ea0  9e 2f f2 73 6c 61 62 28  36 34 30 2c 39 35 36 2c  |./.slab(640,956,|
00003eb0  36 33 36 2c 36 34 29 3a  f2 73 6c 61 62 28 30 2c  |636,64):.slab(0,|
00003ec0  30 2c 31 32 37 36 2c 36  38 29 3a e6 30 0d 11 a8  |0,1276,68):.0...|
00003ed0  15 c8 93 c8 90 31 36 2c  31 36 2c 31 32 34 34 2c  |.....16,16,1244,|
00003ee0  33 36 0d 11 b2 0f e7 74  75 6e 65 73 25 3e 30 20  |36.....tunes%>0 |
00003ef0  8c 0d 11 bc 27 f2 74 65  78 74 28 22 54 75 6e 65  |....'.text("Tune|
00003f00  3a 22 2c 32 30 30 2c 35  2c 36 29 3a f2 74 75 6e  |:",200,5,6):.tun|
00003f10  65 28 74 75 6e 65 25 29  0d 11 c6 05 cc 0d 11 d0  |e(tune%)........|
00003f20  23 f2 74 65 78 74 28 22  62 79 20 4b 65 76 20 26  |#.text("by Kev &|
00003f30  20 47 72 61 68 61 6d 22  2c 2d 33 2c 35 2c 36 29  | Graham",-3,5,6)|
00003f40  0d 11 da 3a cd 3a f2 6f  75 74 70 75 74 3a f2 73  |...:.:.output:.s|
00003f50  6c 61 62 28 36 34 30 2c  38 38 38 2c 36 33 36 2c  |lab(640,888,636,|
00003f60  36 34 29 3a f2 73 6c 61  62 28 36 34 30 2c 37 37  |64):.slab(640,77|
00003f70  36 2c 36 33 36 2c 31 30  38 29 0d 11 e4 31 f2 73  |6,636,108)...1.s|
00003f80  6c 61 62 28 36 34 30 2c  37 30 38 2c 36 33 36 2c  |lab(640,708,636,|
00003f90  36 34 29 3a f2 74 65 78  74 28 22 57 6f 72 64 73  |64):.text("Words|
00003fa0  3a 22 2c 2d 33 2c 36 37  2c 36 29 0d 11 ee 1a f2  |:",-3,67,6).....|
00003fb0  73 6c 61 62 28 36 34 30  2c 33 38 34 2c 36 33 36  |slab(640,384,636|
00003fc0  2c 33 32 30 29 0d 11 f8  2b f2 74 65 78 74 28 22  |,320)...+.text("|
00003fd0  46 69 6c 65 3a 20 27 22  2b 77 6f 72 64 66 69 6c  |File: '"+wordfil|
00003fe0  65 24 2b 22 60 22 2c 2d  33 2c 31 33 33 2c 36 29  |e$+"`",-3,133,6)|
00003ff0  0d 12 02 24 f2 74 65 78  74 28 22 4c 6f 61 64 20  |...$.text("Load |
00004000  4e 65 77 20 57 6f 72 64  73 22 2c 2d 33 2c 31 34  |New Words",-3,14|
00004010  38 2c 33 29 0d 12 0c 2f  f2 73 6c 61 62 28 36 34  |8,3).../.slab(64|
00004020  30 2c 33 31 36 2c 36 33  36 2c 36 34 29 3a f2 73  |0,316,636,64):.s|
00004030  6c 61 62 28 36 34 30 2c  37 32 2c 36 33 36 2c 32  |lab(640,72,636,2|
00004040  34 30 29 0d 12 16 3c f2  74 65 78 74 28 22 50 6c  |40)...<.text("Pl|
00004050  61 79 65 72 73 3a 22 2c  2d 33 2c 32 32 2c 36 29  |ayers:",-3,22,6)|
00004060  3a f2 74 65 78 74 28 22  53 6b 69 6c 6c 20 4c 65  |:.text("Skill Le|
00004070  76 65 6c 3a 22 2c 2d 33  2c 31 36 35 2c 36 29 0d  |vel:",-3,165,6).|
00004080  12 20 0f e3 74 69 6d 65  25 3d 31 b8 31 30 0d 12  |. ..time%=1.10..|
00004090  2a 20 e7 75 70 31 25 3c  3e 74 69 6d 65 25 20 80  |* .up1%<>time% .|
000040a0  20 75 70 32 25 3c 3e 74  69 6d 65 25 20 8c 0d 12  | up2%<>time% ...|
000040b0  34 27 f2 74 65 78 74 28  68 69 67 68 24 28 74 69  |4'.text(high$(ti|
000040c0  6d 65 25 29 2c 38 2c 33  39 2b 74 69 6d 65 25 2a  |me%),8,39+time%*|
000040d0  31 37 2c 36 29 0d 12 3e  2b f2 74 65 78 74 28 c3  |17,6)..>+.text(.|
000040e0  68 69 67 68 25 28 74 69  6d 65 25 29 2c 31 31 35  |high%(time%),115|
000040f0  32 2c 33 39 2b 74 69 6d  65 25 2a 31 37 2c 36 29  |2,39+time%*17,6)|
00004100  0d 12 48 05 cc 0d 12 52  27 f2 74 65 78 74 28 68  |..H....R'.text(h|
00004110  69 67 68 24 28 74 69 6d  65 25 29 2c 38 2c 33 39  |igh$(time%),8,39|
00004120  2b 74 69 6d 65 25 2a 31  37 2c 37 29 0d 12 5c 2b  |+time%*17,7)..\+|
00004130  f2 74 65 78 74 28 c3 68  69 67 68 25 28 74 69 6d  |.text(.high%(tim|
00004140  65 25 29 2c 31 31 35 32  2c 33 39 2b 74 69 6d 65  |e%),1152,39+time|
00004150  25 2a 31 37 2c 37 29 0d  12 66 21 cd 3a ed 3a e3  |%*17,7)..f!.:.:.|
00004160  69 25 3d 31 b8 34 3a f2  68 74 28 69 25 29 3a ed  |i%=1.4:.ht(i%):.|
00004170  3a f2 70 74 72 28 31 29  0d 12 70 35 c8 97 fb 31  |:.ptr(1)..p5...1|
00004180  2c 31 32 30 2c 30 2c 32  34 30 3a c8 97 fb 33 2c  |,120,0,240:...3,|
00004190  38 30 2c 30 2c 31 36 30  3a c8 96 3a ff 22 46 58  |80,0,160:..:."FX|
000041a0  31 31 32 2c 31 22 3a d6  63 6c 65 61 72 0d 12 7a  |112,1":.clear..z|
000041b0  36 f5 3a f5 3a c8 97 78  78 25 2c 79 79 25 2c 62  |6.:.:..xx%,yy%,b|
000041c0  75 74 74 6f 6e 25 3a f2  73 63 72 6f 6c 6c 3a fd  |utton%:.scroll:.|
000041d0  62 75 74 74 6f 6e 25 3a  78 78 25 3d 78 78 25 81  |button%:xx%=xx%.|
000041e0  34 2a 34 0d 12 84 1b 79  79 25 3d 79 79 25 81 34  |4*4....yy%=yy%.4|
000041f0  2a 34 3a e7 20 78 78 25  3e 36 33 36 20 8c 0d 12  |*4:. xx%>636 ...|
00004200  8e 37 e7 20 79 79 25 3c  3d 38 37 32 20 80 20 79  |.7. yy%<=872 . y|
00004210  79 25 3e 3d 38 33 32 20  80 20 63 6f 6d 77 6f 72  |y%>=832 . comwor|
00004220  64 73 25 3a 70 6c 61 79  65 72 73 25 3d 31 3a f2  |ds%:players%=1:.|
00004230  68 74 28 31 29 0d 12 98  2b e7 20 79 79 25 3c 3d  |ht(1)...+. yy%<=|
00004240  38 32 38 20 80 20 79 79  25 3e 3d 37 38 38 3a 70  |828 . yy%>=788:p|
00004250  6c 61 79 65 72 73 25 3d  32 3a f2 68 74 28 31 29  |layers%=2:.ht(1)|
00004260  0d 12 a2 2c e7 20 79 79  25 3c 3d 36 39 32 20 80  |...,. yy%<=692 .|
00004270  20 79 79 25 3e 3d 36 35  32 3a 63 6f 6d 77 6f 72  | yy%>=652:comwor|
00004280  64 73 25 3d b9 3a f2 68  74 28 32 29 0d 12 ac 39  |ds%=.:.ht(2)...9|
00004290  e7 20 79 79 25 3c 3d 36  34 38 20 80 20 79 79 25  |. yy%<=648 . yy%|
000042a0  3e 3d 36 30 38 20 80 20  70 6c 61 79 65 72 73 25  |>=608 . players%|
000042b0  3d 32 3a 63 6f 6d 77 6f  72 64 73 25 3d a3 3a f2  |=2:comwords%=.:.|
000042c0  68 74 28 32 29 0d 12 b6  2c e7 20 79 79 25 3c 3d  |ht(2)...,. yy%<=|
000042d0  36 30 34 20 80 20 79 79  25 3e 3d 35 36 34 3a 77  |604 . yy%>=564:w|
000042e0  6f 72 64 74 79 70 65 25  3d 31 3a f2 68 74 28 33  |ordtype%=1:.ht(3|
000042f0  29 0d 12 c0 2c e7 20 79  79 25 3c 3d 35 36 30 20  |)...,. yy%<=560 |
00004300  80 20 79 79 25 3e 3d 35  32 30 3a 77 6f 72 64 74  |. yy%>=520:wordt|
00004310  79 70 65 25 3d 32 3a f2  68 74 28 33 29 0d 12 ca  |ype%=2:.ht(3)...|
00004320  23 e7 20 79 79 25 3c 3d  34 33 36 20 80 20 79 79  |#. yy%<=436 . yy|
00004330  25 3e 3d 33 39 36 3a f2  6e 65 77 77 6f 72 64 73  |%>=396:.newwords|
00004340  0d 12 d4 29 e7 20 79 79  25 3c 3d 33 30 30 20 80  |...). yy%<=300 .|
00004350  20 79 79 25 3e 3d 32 36  30 3a 73 6b 69 6c 6c 25  | yy%>=260:skill%|
00004360  3d 31 3a f2 68 74 28 34  29 0d 12 de 29 e7 20 79  |=1:.ht(4)...). y|
00004370  79 25 3c 3d 32 35 36 20  80 20 79 79 25 3e 3d 32  |y%<=256 . yy%>=2|
00004380  31 36 3a 73 6b 69 6c 6c  25 3d 32 3a f2 68 74 28  |16:skill%=2:.ht(|
00004390  34 29 0d 12 e8 29 e7 20  79 79 25 3c 3d 32 31 32  |4)...). yy%<=212|
000043a0  20 80 20 79 79 25 3e 3d  31 37 32 3a 73 6b 69 6c  | . yy%>=172:skil|
000043b0  6c 25 3d 33 3a f2 68 74  28 34 29 0d 12 f2 29 e7  |l%=3:.ht(4)...).|
000043c0  20 79 79 25 3c 3d 31 36  38 20 80 20 79 79 25 3e  | yy%<=168 . yy%>|
000043d0  3d 31 32 38 3a 73 6b 69  6c 6c 25 3d 34 3a f2 68  |=128:skill%=4:.h|
000043e0  74 28 34 29 0d 12 fc 28  e7 20 79 79 25 3c 3d 31  |t(4)...(. yy%<=1|
000043f0  32 34 20 80 20 79 79 25  3e 3d 38 34 3a 73 6b 69  |24 . yy%>=84:ski|
00004400  6c 6c 25 3d 35 3a f2 68  74 28 34 29 0d 13 06 25  |ll%=5:.ht(4)...%|
00004410  cc 3a e7 79 79 25 3c 3d  31 32 34 80 79 79 25 3e  |.:.yy%<=124.yy%>|
00004420  3d 38 34 3a 63 6c 69 63  6b 73 74 61 72 74 25 3d  |=84:clickstart%=|
00004430  b9 0d 13 10 1b cd 3a e7  79 79 25 3c 3d 31 30 30  |......:.yy%<=100|
00004440  34 80 79 79 25 3e 3d 39  37 32 20 8c 0d 13 1a 49  |4.yy%>=972 ....I|
00004450  e7 20 78 78 25 3e 39 35  34 20 80 20 78 78 25 3c  |. xx%>954 . xx%<|
00004460  31 31 31 36 3a 74 25 3d  28 78 78 25 2d 39 35 34  |1116:t%=(xx%-954|
00004470  29 2f 33 32 3a e7 74 75  6e 65 73 25 3e 30 20 80  |)/32:.tunes%>0 .|
00004480  20 74 25 3c 3d 74 75 6e  65 73 25 3a f2 74 75 6e  | t%<=tunes%:.tun|
00004490  65 28 74 25 29 0d 13 24  30 e7 20 78 78 25 3e 31  |e(t%)..$0. xx%>1|
000044a0  31 38 30 80 20 78 78 25  3c 31 32 31 36 3a 73 70  |180. xx%<1216:sp|
000044b0  65 61 6b 25 3d 33 2d 73  70 65 61 6b 25 3a f2 6f  |eak%=3-speak%:.o|
000044c0  75 74 70 75 74 0d 13 2e  30 cd 3a f2 6e 62 3a fd  |utput...0.:.nb:.|
000044d0  63 6c 69 63 6b 73 74 61  72 74 25 3a f2 67 65 74  |clickstart%:.get|
000044e0  6e 61 6d 65 73 3a f2 69  6e 69 74 67 72 69 64 3a  |names:.initgrid:|
000044f0  f2 67 61 6d 65 0d 13 38  05 e1 0d 13 42 04 0d 13  |.game..8....B...|
00004500  4c 3a dd f2 73 6d 69 64  28 73 70 24 2c 73 79 25  |L:..smid(sp$,sy%|
00004510  2c 67 63 25 29 3a ea 77  25 3a c8 99 20 26 32 45  |,gc%):.w%:.. &2E|
00004520  2c 34 30 2b 32 35 36 2c  73 70 72 25 2c 73 70 24  |,40+256,spr%,sp$|
00004530  20 b8 20 2c 2c 2c 77 25  0d 13 56 32 c8 99 20 26  | . ,,,w%..V2.. &|
00004540  32 45 2c 33 34 2b 32 35  36 2c 73 70 72 25 2c 73  |2E,34+256,spr%,s|
00004550  70 24 2c 28 31 32 37 36  2d 77 25 2a 34 29 2f 32  |p$,(1276-w%*4)/2|
00004560  2c 73 79 25 2c 67 63 25  3a e1 0d 13 60 04 0d 13  |,sy%,gc%:...`...|
00004570  6a 38 dd f2 63 6f 6e 67  72 61 74 73 3a ff 22 46  |j8..congrats:."F|
00004580  58 31 31 32 2c 32 22 3a  f2 73 6c 61 62 28 30 2c  |X112,2":.slab(0,|
00004590  38 33 32 2c 31 32 37 36  2c 36 30 29 3a e7 67 6f  |832,1276,60):.go|
000045a0  74 69 74 25 20 8c 0d 13  74 11 c8 8e 20 63 75 72  |tit% ...t... cur|
000045b0  72 65 6e 74 25 20 ca 0d  13 7e 43 c9 31 3a f2 74  |rent% ...~C.1:.t|
000045c0  65 78 74 28 22 57 65 6c  6c 20 64 6f 6e 65 20 22  |ext("Well done "|
000045d0  2b 6e 61 6d 65 24 28 31  29 2b 22 21 20 28 42 6f  |+name$(1)+"! (Bo|
000045e0  6e 75 73 20 22 2b c3 62  6f 6e 75 73 25 2b 22 29  |nus "+.bonus%+")|
000045f0  22 2c 2d 31 2c 33 36 2c  31 29 0d 13 88 43 c9 32  |",-1,36,1)...C.2|
00004600  3a f2 74 65 78 74 28 22  57 65 6c 6c 20 64 6f 6e  |:.text("Well don|
00004610  65 20 22 2b 6e 61 6d 65  24 28 32 29 2b 22 21 20  |e "+name$(2)+"! |
00004620  28 42 6f 6e 75 73 20 22  2b c3 62 6f 6e 75 73 25  |(Bonus "+.bonus%|
00004630  2b 22 29 22 2c 2d 31 2c  33 36 2c 34 29 0d 13 92  |+")",-1,36,4)...|
00004640  1d cb 3a ff 22 46 58 31  31 32 2c 31 22 3a e3 69  |..:."FX112,1":.i|
00004650  25 3d 33 31 36 b8 30 88  2d 34 0d 13 9c 37 f2 73  |%=316.0.-4...7.s|
00004660  63 61 6c 65 28 22 77 6f  77 21 22 2c 69 25 2c 31  |cale("wow!",i%,1|
00004670  39 32 2b 69 25 2c 31 32  38 30 2d 69 25 2c 38 33  |92+i%,1280-i%,83|
00004680  32 2d 69 25 29 3a ed 3a  69 25 3d a6 28 32 30 30  |2-i%):.:i%=.(200|
00004690  29 0d 13 a6 0e ff 22 46  58 31 31 32 2c 32 22 0d  |)....."FX112,2".|
000046a0  13 b0 35 cc 3a f2 74 65  78 74 28 22 54 6f 75 67  |..5.:.text("Toug|
000046b0  68 20 62 75 6e 73 21 20  59 6f 75 20 64 69 64 6e  |h buns! You didn|
000046c0  27 74 20 67 65 74 20 69  74 2e 22 2c 2d 31 2c 33  |'t get it.",-1,3|
000046d0  36 2c 37 29 0d 13 ba 39  cd 3a e3 78 25 3d 30 b8  |6,7)...9.:.x%=0.|
000046e0  39 3a e3 79 25 3d 30 b8  34 3a 74 69 6c 65 24 3d  |9:.y%=0.4:tile$=|
000046f0  22 70 69 63 74 75 72 65  2d 22 2b c3 67 72 69 64  |"picture-"+.grid|
00004700  32 25 28 78 25 2b 31 2c  79 25 2b 31 29 0d 13 c4  |2%(x%+1,y%+1)...|
00004710  29 e7 74 69 6c 65 24 3d  22 70 69 63 74 75 72 65  |).tile$="picture|
00004720  2d 32 35 22 3a 74 69 6c  65 24 3d 22 77 69 6c 64  |-25":tile$="wild|
00004730  2d 63 61 72 64 22 0d 13  ce 2f c8 99 26 32 45 2c  |-card".../..&2E,|
00004740  33 34 2b 32 35 36 2c 73  70 72 25 2c 74 69 6c 65  |34+256,spr%,tile|
00004750  24 2c 78 25 2a 31 32 38  2c 79 25 2a 31 32 38 2b  |$,x%*128,y%*128+|
00004760  31 39 32 2c 30 0d 13 d8  10 ed 3a ed 3a d6 63 6c  |192,0.....:.:.cl|
00004770  65 61 72 3a db 0d 13 e2  0e f2 67 61 6d 65 74 69  |ear:......gameti|
00004780  74 6c 65 0d 13 ec 33 f2  73 63 6f 72 65 73 3a ff  |tle...3.scores:.|
00004790  22 46 58 31 31 33 2c 31  22 3a c8 97 fb 31 2c 31  |"FX113,1":...1,1|
000047a0  32 30 2c 30 2c 32 34 30  3a c8 97 fb 33 2c 38 30  |20,0,240:...3,80|
000047b0  2c 30 2c 31 36 30 0d 13  f6 14 f2 70 74 72 28 34  |,0,160.....ptr(4|
000047c0  29 3a f2 6d 6f 75 73 65  6f 6e 0d 14 00 29 f5 3a  |):.mouseon...).:|
000047d0  ff 22 46 58 31 31 32 2c  32 22 3a e6 30 c8 9c 30  |."FX112,2":.0..0|
000047e0  3a c8 93 c8 90 30 2c 31  39 32 2c 31 32 37 36 2c  |:....0,192,1276,|
000047f0  36 33 36 0d 14 0a 37 f2  70 72 69 6e 74 77 6f 72  |636...7.printwor|
00004800  64 28 64 69 73 70 6c 61  79 24 28 63 75 72 72 65  |d(display$(curre|
00004810  6e 74 25 29 29 3a f2 73  6c 61 62 28 30 2c 38 33  |nt%)):.slab(0,83|
00004820  32 2c 31 32 37 36 2c 36  30 29 0d 14 14 11 e7 70  |2,1276,60).....p|
00004830  6c 61 79 65 72 73 25 3d  32 20 8c 0d 14 1e 11 c8  |layers%=2 ......|
00004840  8e 20 63 75 72 72 65 6e  74 25 20 ca 0d 14 28 35  |. current% ...(5|
00004850  c9 31 3a f2 74 65 78 74  28 6e 61 6d 65 24 28 31  |.1:.text(name$(1|
00004860  29 2b 22 27 73 20 77 6f  72 64 20 74 6f 20 67 75  |)+"'s word to gu|
00004870  65 73 73 20 77 61 73 22  2c 2d 31 2c 33 36 2c 31  |ess was",-1,36,1|
00004880  29 0d 14 32 35 c9 32 3a  f2 74 65 78 74 28 6e 61  |)..25.2:.text(na|
00004890  6d 65 24 28 32 29 2b 22  27 73 20 77 6f 72 64 20  |me$(2)+"'s word |
000048a0  74 6f 20 67 75 65 73 73  20 77 61 73 22 2c 2d 31  |to guess was",-1|
000048b0  2c 33 36 2c 34 29 0d 14  3c 05 cb 0d 14 46 2d cc  |,36,4)..<....F-.|
000048c0  3a f2 74 65 78 74 28 22  59 6f 75 72 20 77 6f 72  |:.text("Your wor|
000048d0  64 20 74 6f 20 67 75 65  73 73 20 77 61 73 22 2c  |d to guess was",|
000048e0  2d 31 2c 33 36 2c 31 29  0d 14 50 30 cd 3a 69 25  |-1,36,1)..P0.:i%|
000048f0  3d a6 28 33 38 30 29 3a  d6 63 6c 65 61 72 3a ff  |=.(380):.clear:.|
00004900  22 46 58 31 31 32 2c 31  22 3a c8 8e 20 77 6f 72  |"FX112,1":.. wor|
00004910  64 74 79 70 65 25 20 ca  0d 14 5a 10 c9 32 3a 69  |dtype% ...Z..2:i|
00004920  25 3d a6 28 34 30 30 29  0d 14 64 10 c9 31 3a 69  |%=.(400)..d..1:i|
00004930  25 3d a6 28 32 30 30 29  0d 14 6e 29 f2 70 72 69  |%=.(200)..n).pri|
00004940  6e 74 77 6f 72 64 28 75  73 65 72 24 28 63 75 72  |ntword(user$(cur|
00004950  72 65 6e 74 25 29 29 3a  69 25 3d a6 28 33 30 30  |rent%)):i%=.(300|
00004960  29 0d 14 78 25 cb 3a e7  70 6c 61 79 65 72 73 25  |)..x%.:.players%|
00004970  3d 32 3a 63 75 72 72 65  6e 74 25 3d 33 2d 63 75  |=2:current%=3-cu|
00004980  72 72 65 6e 74 25 0d 14  82 0f d6 63 6c 65 61 72  |rrent%.....clear|
00004990  3a fd 30 3a e1 0d 14 8c  04 0d 14 96 2a dd f2 65  |:.0:........*..e|
000049a0  6e 64 3a ff 22 46 58 31  31 33 2c 31 22 3a ff 22  |nd:."FX113,1":."|
000049b0  46 58 31 31 32 2c 32 22  3a ef 34 3a fb 31 32 38  |FX112,2":.4:.128|
000049c0  c8 9c 30 0d 14 a0 1b ff  22 46 58 31 33 2c 34 22  |..0....."FX13,4"|
000049d0  3a fb 31 32 38 3a db 3a  d6 63 6c 65 61 72 0d 14  |:.128:.:.clear..|
000049e0  aa 0b e7 9f 3d 31 37 20  8c 0d 14 b4 34 2a 49 46  |....=17 ....4*IF|
000049f0  20 22 3c 54 72 61 63 6b  65 72 24 3e 22 3d 22 59  | "<Tracker$>"="Y|
00004a00  65 73 22 20 54 48 45 4e  20 52 4d 4b 49 4c 4c 20  |es" THEN RMKILL |
00004a10  54 72 61 63 6b 65 72 4d  6f 64 75 6c 65 0d 14 be  |TrackerModule...|
00004a20  15 ff 22 55 6e 73 65 74  20 54 72 61 63 6b 65 72  |.."Unset Tracker|
00004a30  24 22 0d 14 c8 1f ff 22  52 4d 4b 49 4c 4c 20 41  |$"....."RMKILL A|
00004a40  6e 69 6d 61 74 65 64 48  6f 75 72 67 6c 61 73 73  |nimatedHourglass|
00004a50  22 0d 14 d2 25 ff 22 52  4d 4b 49 4c 4c 20 54 65  |"...%."RMKILL Te|
00004a60  78 74 46 58 22 3a 2a 41  6c 70 68 61 62 65 74 20  |xtFX":*Alphabet |
00004a70  4c 61 74 69 6e 31 0d 14  dc 0e ff 22 44 65 73 6b  |Latin1....."Desk|
00004a80  74 6f 70 22 0d 14 e6 05  cd 0d 14 f0 23 c8 96 3a  |top"........#..:|
00004a90  eb 30 3a ff 22 46 58 34  22 3a f6 3a f1 22 20 61  |.0:."FX4":.:." a|
00004aa0  74 20 6c 69 6e 65 20 22  3b 9e 3a e0 0d 14 fa 04  |t line ";.:.....|
00004ab0  0d 15 04 38 dd f2 65 6e  74 65 72 28 6e 25 29 3a  |...8..enter(n%):|
00004ac0  e3 69 25 3d 31 30 b8 31  88 2d 31 3a e7 73 63 6f  |.i%=10.1.-1:.sco|
00004ad0  72 65 25 28 6e 25 29 3e  68 69 67 68 25 28 69 25  |re%(n%)>high%(i%|
00004ae0  29 3a 75 70 25 3d 69 25  0d 15 0e 0f ed 3a e7 75  |):up%=i%.....:.u|
00004af0  70 25 3c 31 30 20 8c 0d  15 18 3f e3 69 25 3d 31  |p%<10 ....?.i%=1|
00004b00  30 b8 75 70 25 88 2d 31  3a 68 69 67 68 25 28 69  |0.up%.-1:high%(i|
00004b10  25 29 3d 68 69 67 68 25  28 69 25 2d 31 29 3a 68  |%)=high%(i%-1):h|
00004b20  69 67 68 24 28 69 25 29  3d 68 69 67 68 24 28 69  |igh$(i%)=high$(i|
00004b30  25 2d 31 29 3a ed 0d 15  22 2a cd 3a f2 73 6c 61  |%-1):..."*.:.sla|
00004b40  62 28 30 2c 38 33 32 2c  31 32 37 36 2c 36 30 29  |b(0,832,1276,60)|
00004b50  3a f2 69 6e 73 28 6e 61  6d 65 24 28 6e 25 29 29  |:.ins(name$(n%))|
00004b60  0d 15 2c 46 68 69 67 68  24 28 75 70 25 29 3d a4  |..,Fhigh$(up%)=.|
00004b70  67 65 74 73 74 72 69 6e  67 28 22 50 6c 61 79 65  |getstring("Playe|
00004b80  72 20 22 2b c3 6e 25 2b  22 20 65 6e 74 65 72 20  |r "+.n%+" enter |
00004b90  6e 61 6d 65 3a 20 22 2c  33 36 2c 35 2c 31 34 2c  |name: ",36,5,14,|
00004ba0  22 41 22 2c 30 29 0d 15  36 26 68 69 67 68 25 28  |"A",0)..6&high%(|
00004bb0  75 70 25 29 3d 73 63 6f  72 65 25 28 6e 25 29 3a  |up%)=score%(n%):|
00004bc0  f2 73 61 76 65 74 61 62  6c 65 3a e1 0d 15 40 04  |.savetable:...@.|
00004bd0  0d 15 4a 1b dd f2 69 6e  73 28 69 6e 73 24 29 3a  |..J...ins(ins$):|
00004be0  e3 69 25 3d 31 b8 a9 69  6e 73 24 0d 15 54 23 ff  |.i%=1..ins$..T#.|
00004bf0  28 22 46 58 31 33 38 2c  30 2c 22 2b c3 97 c1 69  |("FX138,0,"+...i|
00004c00  6e 73 24 2c 69 25 2c 31  29 29 3a ed 3a e1 0d 15  |ns$,i%,1)):.:...|
00004c10  5e 04 0d 15 68 0f dd f2  69 6e 69 74 74 75 6e 65  |^...h...inittune|
00004c20  73 0d 15 72 0c 74 75 6e  65 73 25 3d 30 0d 15 7c  |s..r.tunes%=0..||
00004c30  3b c8 99 22 4f 53 5f 46  69 6c 65 22 2c 35 2c 22  |;.."OS_File",5,"|
00004c40  3c 57 6f 72 64 50 61 69  72 24 44 69 72 3e 2e 54  |<WordPair$Dir>.T|
00004c50  75 6e 65 31 22 20 b8 20  65 25 3a e7 20 65 25 3a  |une1" . e%:. e%:|
00004c60  74 75 6e 65 73 25 3d 31  0d 15 86 3b c8 99 22 4f  |tunes%=1...;.."O|
00004c70  53 5f 46 69 6c 65 22 2c  35 2c 22 3c 57 6f 72 64  |S_File",5,"<Word|
00004c80  50 61 69 72 24 44 69 72  3e 2e 54 75 6e 65 32 22  |Pair$Dir>.Tune2"|
00004c90  20 b8 20 65 25 3a e7 20  65 25 3a 74 75 6e 65 73  | . e%:. e%:tunes|
00004ca0  25 3d 32 0d 15 90 3b c8  99 22 4f 53 5f 46 69 6c  |%=2...;.."OS_Fil|
00004cb0  65 22 2c 35 2c 22 3c 57  6f 72 64 50 61 69 72 24  |e",5,"<WordPair$|
00004cc0  44 69 72 3e 2e 54 75 6e  65 33 22 20 b8 20 65 25  |Dir>.Tune3" . e%|
00004cd0  3a e7 20 65 25 3a 74 75  6e 65 73 25 3d 33 0d 15  |:. e%:tunes%=3..|
00004ce0  9a 3b c8 99 22 4f 53 5f  46 69 6c 65 22 2c 35 2c  |.;.."OS_File",5,|
00004cf0  22 3c 57 6f 72 64 50 61  69 72 24 44 69 72 3e 2e  |"<WordPair$Dir>.|
00004d00  54 75 6e 65 34 22 20 b8  20 65 25 3a e7 20 65 25  |Tune4" . e%:. e%|
00004d10  3a 74 75 6e 65 73 25 3d  34 0d 15 a4 11 74 75 6e  |:tunes%=4....tun|
00004d20  65 6c 6f 61 64 65 64 25  3d 31 0d 15 ae 05 e1 0d  |eloaded%=1......|
00004d30  15 b8 04 0d 15 c2 1a dd  f2 74 75 6e 65 28 6a 25  |.........tune(j%|
00004d40  29 3a e7 74 75 6e 65 73  25 3d 30 3a e1 0d 15 cc  |):.tunes%=0:....|
00004d50  27 f2 74 65 78 74 28 22  f7 22 2b c0 22 f8 f9 fa  |'.text("."+."...|
00004d60  fb 22 2c 74 75 6e 65 73  25 29 2c 32 34 30 2c 35  |.",tunes%),240,5|
00004d70  2c 31 31 29 0d 15 d6 36  f2 74 65 78 74 28 bd 28  |,11)...6.text(.(|
00004d80  32 34 37 2b 6a 25 29 2c  32 34 30 2b 38 2a 6a 25  |247+j%),240+8*j%|
00004d90  2c 35 2c 32 29 3a 74 75  6e 65 25 3d 6a 25 3a f2  |,5,2):tune%=j%:.|
00004da0  6c 6f 61 64 74 75 6e 65  3a e1 0d 15 e0 04 0d 15  |loadtune:.......|
00004db0  ea 23 dd f2 6c 6f 61 64  74 75 6e 65 3a e7 74 75  |.#..loadtune:.tu|
00004dc0  6e 65 6c 6f 61 64 65 64  25 3d 74 75 6e 65 25 3a  |neloaded%=tune%:|
00004dd0  e1 0d 15 f4 13 e7 74 75  6e 65 25 3e 74 75 6e 65  |......tune%>tune|
00004de0  73 25 3a e1 0d 15 fe 28  e7 74 75 6e 65 25 3d 30  |s%:....(.tune%=0|
00004df0  3a ff 22 50 6c 61 79 4b  69 6c 6c 22 3a 74 75 6e  |:."PlayKill":tun|
00004e00  65 6c 6f 61 64 65 64 25  3d 30 3a e1 0d 16 08 3f  |eloaded%=0:....?|
00004e10  f2 70 74 72 28 32 29 3a  ff 22 46 58 32 30 30 2c  |.ptr(2):."FX200,|
00004e20  33 22 3a ff 28 22 50 6c  61 79 49 6e 69 74 20 3c  |3":.("PlayInit <|
00004e30  57 6f 72 64 50 61 69 72  24 44 69 72 3e 2e 54 75  |WordPair$Dir>.Tu|
00004e40  6e 65 22 2b c3 74 75 6e  65 25 29 0d 16 12 28 ff  |ne"+.tune%)...(.|
00004e50  22 46 58 32 30 30 22 3a  74 75 6e 65 6c 6f 61 64  |"FX200":tuneload|
00004e60  65 64 25 3d 74 75 6e 65  25 3a f2 70 74 72 28 31  |ed%=tune%:.ptr(1|
00004e70  29 3a e1 0d 16 1c 04 0d  16 26 18 dd f2 6f 75 74  |):.......&...out|
00004e80  70 75 74 3a e7 73 70 65  61 6b 25 3d 31 20 8c 0d  |put:.speak%=1 ..|
00004e90  16 30 24 ff 22 53 70 65  61 6b 65 72 20 4f 6e 22  |.0$."Speaker On"|
00004ea0  3a f2 74 65 78 74 28 22  fd 22 2c 32 39 36 2c 35  |:.text(".",296,5|
00004eb0  2c 32 29 0d 16 3a 05 cc  0d 16 44 26 ff 22 53 70  |,2)..:....D&."Sp|
00004ec0  65 61 6b 65 72 20 4f 66  66 22 3a f2 74 65 78 74  |eaker Off":.text|
00004ed0  28 22 fd 22 2c 32 39 36  2c 35 2c 31 31 29 0d 16  |(".",296,5,11)..|
00004ee0  4e 07 cd 3a e1 0d 16 58  04 0d 16 62 27 dd 20 a4  |N..:...X...b'. .|
00004ef0  72 73 70 61 63 65 28 72  69 67 68 74 24 29 3a ea  |rspace(right$):.|
00004f00  66 69 6e 61 6c 24 3a 66  69 6e 61 6c 24 3d 22 22  |final$:final$=""|
00004f10  0d 16 6c 3b e3 69 25 3d  31 b8 a9 72 69 67 68 74  |..l;.i%=1..right|
00004f20  24 3a e7 c1 72 69 67 68  74 24 2c 69 25 2c 31 29  |$:..right$,i%,1)|
00004f30  3c 3e 22 20 22 3a 66 69  6e 61 6c 24 2b 3d c1 72  |<>" ":final$+=.r|
00004f40  69 67 68 74 24 2c 69 25  2c 31 29 0d 16 76 27 ed  |ight$,i%,1)..v'.|
00004f50  3a 66 69 6e 61 6c 24 3d  c0 66 69 6e 61 6c 24 2b  |:final$=.final$+|
00004f60  22 20 20 20 20 20 22 2c  35 29 3a 3d 66 69 6e 61  |"     ",5):=fina|
00004f70  6c 24 0d 16 80 04 0d 16  8a 23 dd f2 65 73 63 3a  |l$.......#..esc:|
00004f80  f2 6d 6f 75 73 65 6f 66  66 3a ff 22 46 58 34 22  |.mouseoff:."FX4"|
00004f90  3a 63 6c 65 61 72 25 3d  a3 0d 16 94 19 e7 a6 28  |:clear%=.......(|
00004fa0  2d 31 29 80 a6 28 2d 32  29 3a 63 6c 65 61 72 25  |-1)..(-2):clear%|
00004fb0  3d b9 0d 16 9e 14 ff 22  53 65 74 20 44 75 6d 6d  |=......"Set Dumm|
00004fc0  79 20 59 65 73 22 0d 16  a8 2e ff 22 52 4d 45 6e  |y Yes"....."RMEn|
00004fd0  73 75 72 65 20 54 72 61  63 6b 65 72 4d 6f 64 75  |sure TrackerModu|
00004fe0  6c 65 20 30 30 30 20 53  65 74 20 44 75 6d 6d 79  |le 000 Set Dummy|
00004ff0  20 4e 6f 22 0d 16 b2 31  ff 28 22 49 66 20 44 75  | No"...1.("If Du|
00005000  6d 6d 79 3d 22 2b bd 33  34 2b 22 59 65 73 22 2b  |mmy="+.34+"Yes"+|
00005010  bd 33 34 2b 22 20 54 48  45 4e 20 50 6c 61 79 4b  |.34+" THEN PlayK|
00005020  69 6c 6c 22 29 0d 16 bc  12 ff 22 55 6e 73 65 74  |ill")....."Unset|
00005030  20 44 75 6d 6d 79 22 0d  16 c6 11 e7 ac 63 6c 65  | Dummy"......cle|
00005040  61 72 25 3a f2 65 6e 64  0d 16 d0 0e ff 22 46 58  |ar%:.end....."FX|
00005050  31 31 33 2c 31 22 0d 16  da 37 ff 22 46 58 31 31  |113,1"...7."FX11|
00005060  32 2c 32 22 3a ef 34 3a  fb 31 37 30 c8 9c 30 3a  |2,2":.4:.170..0:|
00005070  db 3a d6 63 6c 65 61 72  3a ef 31 39 2c 30 2c 32  |.:.clear:.19,0,2|
00005080  34 2c 31 33 30 2c 31 33  30 2c 31 33 30 0d 16 e4  |4,130,130,130...|
00005090  29 ff 22 46 58 31 31 32  2c 32 22 3a ff 22 46 58  |)."FX112,2":."FX|
000050a0  31 31 33 2c 32 22 3a ef  34 3a fb 31 37 30 c8 9c  |113,2":.4:.170..|
000050b0  30 3a db 3a ef 35 0d 16  ee 49 e7 a4 67 65 74 73  |0:.:.5...I..gets|
000050c0  74 72 69 6e 67 28 22 43  6c 65 61 72 20 68 69 67  |tring("Clear hig|
000050d0  68 2d 73 63 6f 72 65 73  2e 20 41 72 65 20 79 6f  |h-scores. Are yo|
000050e0  75 20 73 75 72 65 3f 20  22 2c 31 32 34 2c 35 2c  |u sure? ",124,5,|
000050f0  33 2c 22 59 4e 22 2c 30  29 3d 22 59 22 20 8c 0d  |3,"YN",0)="Y" ..|
00005100  16 f8 23 68 69 67 68 25  28 29 3d 30 3a 68 69 67  |..#high%()=0:hig|
00005110  68 24 28 29 3d 22 22 3a  f2 73 61 76 65 74 61 62  |h$()="":.savetab|
00005120  6c 65 0d 17 02 18 ff 22  46 58 31 31 32 2c 31 22  |le....."FX112,1"|
00005130  3a fb 31 37 30 c8 9c 30  3a db 0d 17 0c 3b f2 74  |:.170..0:....;.t|
00005140  65 78 74 28 22 48 69 67  68 20 73 63 6f 72 65 20  |ext("High score |
00005150  74 61 62 6c 65 20 69 73  20 6e 6f 77 20 65 6d 70  |table is now emp|
00005160  74 79 2e 22 2c 2d 31 2c  31 32 34 2c 37 29 3a d6  |ty.",-1,124,7):.|
00005170  63 6c 65 61 72 0d 17 16  0d 49 25 3d a6 28 35 30  |clear....I%=.(50|
00005180  30 29 0d 17 20 0c cd 3a  f2 65 6e 64 3a e1 0d 17  |0).. ..:.end:...|
00005190  2a 04 0d 17 34 2a dd f2  73 63 72 6f 6c 6c 3a e7  |*...4*..scroll:.|
000051a0  73 63 72 73 74 78 25 3d  73 63 72 6f 6c 6c 6d 61  |scrstx%=scrollma|
000051b0  78 25 3a 73 63 72 73 74  78 25 3d 31 0d 17 3e 30  |x%:scrstx%=1..>0|
000051c0  e7 ac 66 6c 61 73 68 25  3a c8 99 26 32 45 2c 33  |..flash%:..&2E,3|
000051d0  34 2b 32 35 36 2c 73 70  72 25 2c 22 73 63 72 62  |4+256,spr%,"scrb|
000051e0  61 63 6b 22 2c 31 36 2c  32 30 2c 30 0d 17 48 18  |ack",16,20,0..H.|
000051f0  ef 35 2c 32 34 2c 32 36  3b 31 32 3b 31 32 36 30  |.5,24,26;12;1260|
00005200  3b 35 32 3b 0d 17 52 29  e6 30 c8 9c 30 3a c8 96  |;52;..R).0..0:..|
00005210  3a ec 73 63 72 78 25 2b  31 32 33 32 2d 73 63 72  |:.scrx%+1232-scr|
00005220  73 74 65 70 25 2c 34 38  3a f1 22 fe 22 0d 17 5c  |step%,48:."."..\|
00005230  26 e7 20 bd 28 73 63 72  6f 6c 6c 61 64 64 72 25  |&. .(scrolladdr%|
00005240  3f 28 73 63 72 73 74 78  25 2d 31 29 29 3d 22 5c  |?(scrstx%-1))="\|
00005250  22 20 8c 0d 17 66 41 73  63 63 6f 6c 25 3d bb 28  |" ...fAsccol%=.(|
00005260  bd 28 73 63 72 6f 6c 6c  61 64 64 72 25 3f 28 73  |.(scrolladdr%?(s|
00005270  63 72 73 74 78 25 29 29  2b bd 28 73 63 72 6f 6c  |crstx%))+.(scrol|
00005280  6c 61 64 64 72 25 3f 28  73 63 72 73 74 78 25 2b  |laddr%?(scrstx%+|
00005290  31 29 29 29 0d 17 70 0e  73 63 72 73 74 78 25 2b  |1)))..p.scrstx%+|
000052a0  3d 33 0d 17 7a 28 cd 3a  e7 20 bd 28 73 63 72 6f  |=3..z(.:. .(scro|
000052b0  6c 6c 61 64 64 72 25 3f  28 73 63 72 73 74 78 25  |lladdr%?(scrstx%|
000052c0  2d 31 29 29 3d 22 7c 22  20 8c 0d 17 84 36 70 61  |-1))="|" ....6pa|
000052d0  75 73 65 64 25 3d b9 3a  65 6e 64 74 69 6d 65 25  |used%=.:endtime%|
000052e0  3d bb bd 28 73 63 72 6f  6c 6c 61 64 64 72 25 3f  |=..(scrolladdr%?|
000052f0  28 73 63 72 73 74 78 25  29 29 2a 31 30 30 2b 91  |(scrstx%))*100+.|
00005300  0d 17 8e 25 e7 bd 28 73  63 72 6f 6c 6c 61 64 64  |...%..(scrolladd|
00005310  72 25 3f 28 73 63 72 73  74 78 25 2b 31 29 29 3d  |r%?(scrstx%+1))=|
00005320  22 5d 22 20 8c 0d 17 98  10 66 6c 61 73 68 25 3d  |"]" .....flash%=|
00005330  b9 3a ef 32 36 0d 17 a2  2f c8 99 26 32 45 2c 31  |.:.26.../..&2E,1|
00005340  36 2b 32 35 36 2c 73 70  72 25 2c 22 73 63 72 62  |6+256,spr%,"scrb|
00005350  61 63 6b 22 2c 30 2c 31  36 2c 32 30 2c 31 32 35  |ack",0,16,20,125|
00005360  36 2c 34 38 0d 17 ac 16  ef 32 34 2c 32 36 3b 31  |6,48.....24,26;1|
00005370  32 3b 31 32 36 30 3b 35  32 3b 0d 17 b6 10 cd 3a  |2;1260;52;.....:|
00005380  73 63 72 73 74 78 25 2b  3d 33 0d 17 c0 3d cd 3a  |scrstx%+=3...=.:|
00005390  e7 20 bd 28 73 63 72 6f  6c 6c 61 64 64 72 25 3f  |. .(scrolladdr%?|
000053a0  28 73 63 72 73 74 78 25  2d 31 29 29 3d 22 7b 22  |(scrstx%-1))="{"|
000053b0  3a 73 63 72 73 74 65 70  25 3d 31 36 3a 73 63 72  |:scrstep%=16:scr|
000053c0  73 74 78 25 2b 3d 31 0d  17 ca 3a e7 20 bd 28 73  |stx%+=1...:. .(s|
000053d0  63 72 6f 6c 6c 61 64 64  72 25 3f 28 73 63 72 73  |crolladdr%?(scrs|
000053e0  74 78 25 2d 31 29 29 3d  22 7d 22 3a 73 63 72 73  |tx%-1))="}":scrs|
000053f0  74 65 70 25 3d 38 3a 73  63 72 73 74 78 25 2b 3d  |tep%=8:scrstx%+=|
00005400  31 0d 17 d4 11 e7 20 ac  20 70 61 75 73 65 64 25  |1..... . paused%|
00005410  20 8c 0d 17 de 2a e6 73  63 63 6f 6c 25 c8 9c 31  | ....*.sccol%..1|
00005420  39 32 3a ec 73 63 72 78  25 2b 31 32 33 32 2d 73  |92:.scrx%+1232-s|
00005430  63 72 73 74 65 70 25 2d  34 2c 34 38 0d 17 e8 04  |crstep%-4,48....|
00005440  0d 17 fc 2b 63 68 61 72  5f 74 6f 5f 70 72 69 6e  |...+char_to_prin|
00005450  74 20 3d 20 73 63 72 6f  6c 6c 61 64 64 72 25 3f  |t = scrolladdr%?|
00005460  28 73 63 72 73 74 78 25  2d 31 29 0d 18 2e 13 ef  |(scrstx%-1).....|
00005470  20 63 68 61 72 5f 74 6f  5f 70 72 69 6e 74 0d 18  | char_to_print..|
00005480  38 04 0d 18 42 30 73 63  72 78 25 2d 3d 73 63 72  |8...B0scrx%-=scr|
00005490  73 74 65 70 25 3a e7 73  63 72 78 25 3d 30 3a 73  |step%:.scrx%=0:s|
000054a0  63 72 78 25 3d 33 32 3a  73 63 72 73 74 78 25 2b  |crx%=32:scrstx%+|
000054b0  3d 31 0d 18 4c 09 ef 34  2c 32 36 0d 18 56 38 c8  |=1..L..4,26..V8.|
000054c0  99 26 32 45 2c 31 36 2b  32 35 36 2c 73 70 72 25  |.&2E,16+256,spr%|
000054d0  2c 22 73 63 72 62 61 63  6b 22 2c 30 2c 31 36 2b  |,"scrback",0,16+|
000054e0  73 63 72 73 74 65 70 25  2c 32 30 2c 31 32 36 30  |scrstep%,20,1260|
000054f0  2c 34 38 0d 18 60 24 cc  3a e7 91 3e 65 6e 64 74  |,48..`$.:..>endt|
00005500  69 6d 65 25 3a 70 61 75  73 65 64 25 3d a3 3a 66  |ime%:paused%=.:f|
00005510  6c 61 73 68 25 3d a3 0d  18 6a 0d e7 66 6c 61 73  |lash%=...j..flas|
00005520  68 25 20 8c 0d 18 74 1b  c8 96 3a c8 8e 20 28 65  |h% ...t...:.. (e|
00005530  6e 64 74 69 6d 65 25 2d  91 29 81 35 30 20 ca 0d  |ndtime%-.).50 ..|
00005540  18 7e 27 c9 20 31 2c 33  2c 35 3a ef 32 36 3a e6  |.~'. 1,3,5:.26:.|
00005550  30 c8 9c 30 3a c8 93 c8  90 31 36 2c 31 36 2c 31  |0..0:....16,16,1|
00005560  32 34 34 2c 33 36 0d 18  88 33 c9 20 30 2c 32 2c  |244,36...3. 0,2,|
00005570  34 3a ef 32 36 3a c8 99  26 32 45 2c 33 34 2b 32  |4:.26:..&2E,34+2|
00005580  35 36 2c 73 70 72 25 2c  22 73 63 72 62 61 63 6b  |56,spr%,"scrback|
00005590  22 2c 31 36 2c 32 30 2c  30 0d 18 92 05 cb 0d 18  |",16,20,0.......|
000055a0  9c 0b cd 3a ef 34 2c 32  36 0d 18 a6 07 cd 3a e1  |...:.4,26.....:.|
000055b0  0d 18 b0 04 0d 18 ba 2d  dd f2 73 65 74 75 70 73  |.......-..setups|
000055c0  63 72 6f 6c 6c 3a ea 69  25 2c 6a 25 2c 73 63 72  |croll:.i%,j%,scr|
000055d0  6f 6c 6c 24 3a 73 63 72  6f 6c 6c 6d 61 78 25 3d  |oll$:scrollmax%=|
000055e0  30 0d 18 c4 25 66 69 6c  65 25 3d 8e 22 3c 57 6f  |0...%file%=."<Wo|
000055f0  72 64 50 61 69 72 24 44  69 72 3e 2e 4d 65 73 73  |rdPair$Dir>.Mess|
00005600  61 67 65 22 3a f5 0d 18  ce 27 73 63 72 6f 6c 6c  |age":....'scroll|
00005610  24 3d be 23 66 69 6c 65  25 3a e7 c0 73 63 72 6f  |$=.#file%:..scro|
00005620  6c 6c 24 2c 31 29 3c 3e  22 2f 22 20 8c 0d 18 d8  |ll$,1)<>"/" ....|
00005630  21 e7 73 63 72 6f 6c 6c  24 3d 22 40 22 3a 73 63  |!.scroll$="@":sc|
00005640  72 6f 6c 6c 24 3d c4 33  38 2c 22 20 22 29 0d 18  |roll$=.38," ")..|
00005650  e2 1a 73 63 72 6f 6c 6c  6d 61 78 25 2b 3d a9 73  |..scrollmax%+=.s|
00005660  63 72 6f 6c 6c 24 2b 31  0d 18 ec 0e cd 3a fd c5  |croll$+1.....:..|
00005670  23 66 69 6c 65 25 0d 18  f6 2d de 20 73 63 72 6f  |#file%...-. scro|
00005680  6c 6c 61 64 64 72 25 20  73 63 72 6f 6c 6c 6d 61  |lladdr% scrollma|
00005690  78 25 3a 69 25 3d 30 3a  cf 23 66 69 6c 65 25 3d  |x%:i%=0:.#file%=|
000056a0  30 3a f5 0d 19 00 27 73  63 72 6f 6c 6c 24 3d be  |0:....'scroll$=.|
000056b0  23 66 69 6c 65 25 3a e7  c0 73 63 72 6f 6c 6c 24  |#file%:..scroll$|
000056c0  2c 31 29 3c 3e 22 2f 22  20 8c 0d 19 0a 21 e7 73  |,1)<>"/" ....!.s|
000056d0  63 72 6f 6c 6c 24 3d 22  40 22 3a 73 63 72 6f 6c  |croll$="@":scrol|
000056e0  6c 24 3d c4 33 38 2c 22  20 22 29 0d 19 14 3a e3  |l$=.38," ")...:.|
000056f0  6a 25 3d 31 b8 a9 73 63  72 6f 6c 6c 24 3a 73 63  |j%=1..scroll$:sc|
00005700  72 6f 6c 6c 61 64 64 72  25 3f 28 69 25 2b 6a 25  |rolladdr%?(i%+j%|
00005710  2d 31 29 3d 97 c1 73 63  72 6f 6c 6c 24 2c 6a 25  |-1)=..scroll$,j%|
00005720  2c 31 29 3a ed 0d 19 1e  23 73 63 72 6f 6c 6c 61  |,1):....#scrolla|
00005730  64 64 72 25 3f 28 69 25  2b 6a 25 2d 31 29 3d 33  |ddr%?(i%+j%-1)=3|
00005740  32 3a 69 25 2b 3d 6a 25  0d 19 28 18 cd 3a fd c5  |2:i%+=j%..(..:..|
00005750  23 66 69 6c 65 25 3a d9  23 66 69 6c 65 25 3a e1  |#file%:.#file%:.|
00005760  0d 19 32 04 0d 19 3c 2f  dd f2 63 68 6f 6f 73 65  |..2...</..choose|
00005770  70 69 63 73 3a ff 22 46  58 31 31 32 2c 32 22 3a  |pics:."FX112,2":|
00005780  fb 31 37 30 c8 9c 30 3a  db 3a f2 6d 6f 75 73 65  |.170..0:.:.mouse|
00005790  6f 66 66 0d 19 46 2c c8  97 fb 31 2c 31 32 30 2c  |off..F,...1,120,|
000057a0  30 2c 32 34 30 3a c8 97  fb 33 2c 38 30 2c 30 2c  |0,240:...3,80,0,|
000057b0  31 36 30 3a c8 8e 20 73  6b 69 6c 6c 25 20 ca 0d  |160:.. skill% ..|
000057c0  19 50 12 c9 20 31 3a 6e  75 6d 70 69 63 73 25 3d  |.P.. 1:numpics%=|
000057d0  34 0d 19 5a 12 c9 20 32  3a 6e 75 6d 70 69 63 73  |4..Z.. 2:numpics|
000057e0  25 3d 36 0d 19 64 12 c9  20 33 3a 6e 75 6d 70 69  |%=6..d.. 3:numpi|
000057f0  63 73 25 3d 38 0d 19 6e  13 c9 20 34 3a 6e 75 6d  |cs%=8..n.. 4:num|
00005800  70 69 63 73 25 3d 31 32  0d 19 78 05 cb 0d 19 82  |pics%=12..x.....|
00005810  24 f2 74 65 78 74 28 22  4c 65 66 74 20 62 75 74  |$.text("Left but|
00005820  74 6f 6e 2e 2e 2e 22 2c  36 34 2c 32 30 38 2c 32  |ton...",64,208,2|
00005830  29 0d 19 8c 25 f2 74 65  78 74 28 22 52 69 67 68  |)...%.text("Righ|
00005840  74 20 62 75 74 74 6f 6e  2e 2e 2e 22 2c 36 34 2c  |t button...",64,|
00005850  32 32 30 2c 32 29 0d 19  96 26 f2 74 65 78 74 28  |220,2)...&.text(|
00005860  22 4d 69 64 64 6c 65 20  62 75 74 74 6f 6e 2e 2e  |"Middle button..|
00005870  2e 22 2c 36 34 2c 32 33  32 2c 32 29 0d 19 a0 27  |.",64,232,2)...'|
00005880  f2 74 65 78 74 28 22 73  65 6c 65 63 74 73 20 70  |.text("selects p|
00005890  69 63 74 75 72 65 22 2c  31 32 35 36 2c 32 30 38  |icture",1256,208|
000058a0  2c 36 29 0d 19 aa 29 f2  74 65 78 74 28 22 64 65  |,6)...).text("de|
000058b0  73 65 6c 65 63 74 73 20  70 69 63 74 75 72 65 22  |selects picture"|
000058c0  2c 31 32 35 36 2c 32 32  30 2c 36 29 0d 19 b4 23  |,1256,220,6)...#|
000058d0  f2 74 65 78 74 28 22 65  6e 64 73 20 63 68 6f 69  |.text("ends choi|
000058e0  63 65 22 2c 31 32 35 36  2c 32 33 32 2c 36 29 0d  |ce",1256,232,6).|
000058f0  19 be 33 f2 74 65 78 74  28 22 43 68 6f 6f 73 65  |..3.text("Choose|
00005900  20 22 2b c3 6e 75 6d 70  69 63 73 25 2b 22 20 70  | "+.numpics%+" p|
00005910  69 63 74 75 72 65 73 2e  22 2c 2d 31 2c 34 30 2c  |ictures.",-1,40,|
00005920  35 29 0d 19 c8 17 c8 97  c8 93 39 36 2c 33 39 32  |5)........96,392|
00005930  2c 31 30 37 36 2c 33 39  36 0d 19 d2 3a 74 6f 74  |,1076,396...:tot|
00005940  61 6c 70 69 63 73 25 3d  30 3a 63 68 6f 73 65 6e  |alpics%=0:chosen|
00005950  25 28 29 3d 30 3a f2 69  6e 64 69 63 61 74 65 70  |%()=0:.indicatep|
00005960  69 63 73 3a e3 78 25 3d  31 b8 38 3a e3 79 25 3d  |ics:.x%=1.8:.y%=|
00005970  31 b8 33 0d 19 dc 48 c8  99 26 32 45 2c 33 34 2b  |1.3...H..&2E,34+|
00005980  32 35 36 2c 73 70 72 25  2c 22 70 69 63 74 75 72  |256,spr%,"pictur|
00005990  65 2d 22 2b c3 28 78 25  2b 28 79 25 2d 31 29 2a  |e-"+.(x%+(y%-1)*|
000059a0  38 29 2c 28 78 25 2d 31  29 2a 31 33 36 2b 39 36  |8),(x%-1)*136+96|
000059b0  2c 79 25 2a 31 33 36 2b  32 35 36 0d 19 e6 37 ed  |,y%*136+256...7.|
000059c0  3a ed 3a 70 69 63 25 28  29 3d 30 3a ff 22 46 58  |:.:pic%()=0:."FX|
000059d0  31 31 32 2c 31 22 3a ef  31 39 2c 30 2c 32 34 2c  |112,1":.19,0,24,|
000059e0  31 33 30 2c 31 33 30 2c  31 33 30 3a d6 63 6c 65  |130,130,130:.cle|
000059f0  61 72 0d 19 f0 21 f2 70  74 72 28 31 29 3a f5 3a  |ar...!.ptr(1):.:|
00005a00  f5 3a c8 97 78 78 25 2c  79 79 25 2c 62 75 74 74  |.:..xx%,yy%,butt|
00005a10  6f 6e 25 0d 19 fa 37 fd  62 75 74 74 6f 6e 25 3a  |on%...7.button%:|
00005a20  78 78 25 3d 78 78 25 81  34 2a 34 3a 79 79 25 3d  |xx%=xx%.4*4:yy%=|
00005a30  79 79 25 81 34 2a 34 3a  70 78 25 3d 28 78 78 25  |yy%.4*4:px%=(xx%|
00005a40  2d 39 36 29 2f 31 33 36  2b 31 0d 1a 04 22 70 79  |-96)/136+1..."py|
00005a50  25 3d 28 79 79 25 2d 32  35 36 29 2f 31 33 36 3a  |%=(yy%-256)/136:|
00005a60  c8 8e 20 62 75 74 74 6f  6e 25 20 ca 0d 1a 0e 5f  |.. button% ...._|
00005a70  c9 34 3a e7 74 6f 74 61  6c 70 69 63 73 25 3c 6e  |.4:.totalpics%<n|
00005a80  75 6d 70 69 63 73 25 20  80 20 63 68 6f 73 65 6e  |umpics% . chosen|
00005a90  25 28 70 78 25 2c 70 79  25 29 3d 30 3a 63 68 6f  |%(px%,py%)=0:cho|
00005aa0  73 65 6e 25 28 70 78 25  2c 70 79 25 29 3d 31 3a  |sen%(px%,py%)=1:|
00005ab0  74 6f 74 61 6c 70 69 63  73 25 2b 3d 31 3a f2 69  |totalpics%+=1:.i|
00005ac0  6e 64 69 63 61 74 65 70  69 63 73 0d 1a 18 58 c9  |ndicatepics...X.|
00005ad0  31 3a e7 74 6f 74 61 6c  70 69 63 73 25 3e 30 20  |1:.totalpics%>0 |
00005ae0  80 20 63 68 6f 73 65 6e  25 28 70 78 25 2c 70 79  |. chosen%(px%,py|
00005af0  25 29 3d 31 3a 63 68 6f  73 65 6e 25 28 70 78 25  |%)=1:chosen%(px%|
00005b00  2c 70 79 25 29 3d 30 3a  74 6f 74 61 6c 70 69 63  |,py%)=0:totalpic|
00005b10  73 25 2d 3d 31 3a f2 69  6e 64 69 63 61 74 65 70  |s%-=1:.indicatep|
00005b20  69 63 73 0d 1a 22 24 cb  3a fd 62 75 74 74 6f 6e  |ics.."$.:.button|
00005b30  25 3d 32 80 74 6f 74 61  6c 70 69 63 73 25 3d 6e  |%=2.totalpics%=n|
00005b40  75 6d 70 69 63 73 25 0d  1a 2c 1e 63 6f 75 6e 74  |umpics%..,.count|
00005b50  65 72 25 3d 31 3a e3 78  25 3d 31 b8 38 3a e3 79  |er%=1:.x%=1.8:.y|
00005b60  25 3d 31 b8 33 0d 1a 36  3c e7 63 68 6f 73 65 6e  |%=1.3..6<.chosen|
00005b70  25 28 78 25 2c 79 25 29  3d 31 3a 70 69 63 25 28  |%(x%,y%)=1:pic%(|
00005b80  63 6f 75 6e 74 65 72 25  29 3d 78 25 2b 28 79 25  |counter%)=x%+(y%|
00005b90  2d 31 29 2a 38 3a 63 6f  75 6e 74 65 72 25 2b 3d  |-1)*8:counter%+=|
00005ba0  31 0d 1a 40 09 ed 3a ed  3a e1 0d 1a 4a 04 0d 1a  |1..@..:.:...J...|
00005bb0  54 2b dd f2 69 6e 64 69  63 61 74 65 70 69 63 73  |T+..indicatepics|
00005bc0  3a e3 78 25 3d 31 b8 38  3a e3 79 25 3d 31 b8 33  |:.x%=1.8:.y%=1.3|
00005bd0  3a e6 31 32 c8 9c 31 39  32 0d 1a 5e 1c e7 63 68  |:.12..192..^..ch|
00005be0  6f 73 65 6e 25 28 78 25  2c 79 25 29 3d 30 3a e6  |osen%(x%,y%)=0:.|
00005bf0  34 32 c8 9c 30 0d 1a 68  2a c8 93 28 78 25 2d 31  |42..0..h*..(x%-1|
00005c00  29 2a 31 33 36 2b 39 32  2c 79 25 2a 31 33 36 2b  |)*136+92,y%*136+|
00005c10  32 35 32 2c 31 33 32 2c  31 33 32 3a ed 3a ed 0d  |252,132,132:.:..|
00005c20  1a 72 1c e6 34 32 c8 9c  30 3a c8 93 c8 90 30 2c  |.r..42..0:....0,|
00005c30  33 31 36 2c 31 32 37 36  2c 36 34 0d 1a 7c 31 74  |316,1276,64..|1t|
00005c40  65 78 74 24 3d 22 59 6f  75 27 76 65 20 63 68 6f  |ext$="You've cho|
00005c50  73 65 6e 20 22 2b c3 74  6f 74 61 6c 70 69 63 73  |sen "+.totalpics|
00005c60  25 2b 22 20 70 69 63 74  75 72 65 22 0d 1a 86 1d  |%+" picture"....|
00005c70  e7 74 6f 74 61 6c 70 69  63 73 25 3c 3e 31 3a 74  |.totalpics%<>1:t|
00005c80  65 78 74 24 2b 3d 22 73  22 0d 1a 90 1b f2 74 65  |ext$+="s".....te|
00005c90  78 74 28 74 65 78 74 24  2c 2d 31 2c 31 36 38 2c  |xt(text$,-1,168,|
00005ca0  35 29 3a e1 0d 1a 9a 04  0d 1a a4 30 dd f2 63 68  |5):........0..ch|
00005cb0  6f 6f 73 65 73 68 61 70  65 3a f2 6d 6f 75 73 65  |ooseshape:.mouse|
00005cc0  6f 66 66 3a ff 22 46 58  31 31 32 2c 32 22 3a fb  |off:."FX112,2":.|
00005cd0  31 37 30 c8 9c 30 3a db  0d 1a ae 21 ea 78 25 2c  |170..0:....!.x%,|
00005ce0  79 25 2c 67 78 25 2c 67  79 25 2c 78 78 25 2c 79  |y%,gx%,gy%,xx%,y|
00005cf0  79 25 2c 62 6c 61 6e 6b  25 0d 1a b8 23 f2 74 65  |y%,blank%...#.te|
00005d00  78 74 28 22 54 48 45 20  42 4f 4e 55 53 20 53 48  |xt("THE BONUS SH|
00005d10  41 50 45 22 2c 2d 31 2c  38 2c 35 29 0d 1a c2 2b  |APE",-1,8,5)...+|
00005d20  f2 74 65 78 74 28 22 28  4c 65 61 76 65 20 69 74  |.text("(Leave it|
00005d30  20 62 6c 61 6e 6b 20 69  66 20 79 6f 75 22 2c 2d  | blank if you",-|
00005d40  31 2c 32 30 2c 36 29 0d  1a cc 2a f2 74 65 78 74  |1,20,6)...*.text|
00005d50  28 22 64 6f 6e 27 74 20  77 61 6e 74 20 74 6f 20  |("don't want to |
00005d60  75 73 65 20 69 74 29 22  2c 2d 31 2c 33 32 2c 36  |use it)",-1,32,6|
00005d70  29 0d 1a d6 24 f2 74 65  78 74 28 22 4c 65 66 74  |)...$.text("Left|
00005d80  20 62 75 74 74 6f 6e 2e  2e 2e 22 2c 36 34 2c 32  | button...",64,2|
00005d90  32 30 2c 32 29 0d 1a e0  25 f2 74 65 78 74 28 22  |20,2)...%.text("|
00005da0  52 69 67 68 74 20 62 75  74 74 6f 6e 2e 2e 2e 22  |Right button..."|
00005db0  2c 36 34 2c 32 33 32 2c  32 29 0d 1a ea 26 f2 74  |,64,232,2)...&.t|
00005dc0  65 78 74 28 22 4d 69 64  64 6c 65 20 62 75 74 74  |ext("Middle butt|
00005dd0  6f 6e 2e 2e 2e 22 2c 36  34 2c 32 34 34 2c 32 29  |on...",64,244,2)|
00005de0  0d 1a f4 23 f2 74 65 78  74 28 22 73 65 74 73 20  |...#.text("sets |
00005df0  73 71 75 61 72 65 22 2c  31 32 35 36 2c 32 32 30  |square",1256,220|
00005e00  2c 36 29 0d 1a fe 25 f2  74 65 78 74 28 22 75 6e  |,6)...%.text("un|
00005e10  73 65 74 73 20 73 71 75  61 72 65 22 2c 31 32 35  |sets square",125|
00005e20  36 2c 32 33 32 2c 36 29  0d 1b 08 23 f2 74 65 78  |6,232,6)...#.tex|
00005e30  74 28 22 73 74 61 72 74  73 20 67 61 6d 65 22 2c  |t("starts game",|
00005e40  31 32 35 36 2c 32 34 34  2c 36 29 0d 1b 12 20 c8  |1256,244,6)... .|
00005e50  97 fb 31 2c 31 32 30 2c  30 2c 32 34 30 3a c8 97  |..1,120,0,240:..|
00005e60  fb 33 2c 38 30 2c 30 2c  31 36 30 0d 1b 1c 36 e3  |.3,80,0,160...6.|
00005e70  78 25 3d 30 b8 34 3a e3  79 25 3d 30 b8 34 3a 74  |x%=0.4:.y%=0.4:t|
00005e80  69 6c 65 24 3d 22 63 68  6f 6f 73 65 2d 22 2b c3  |ile$="choose-"+.|
00005e90  73 68 61 70 65 67 72 69  64 25 28 78 25 2c 79 25  |shapegrid%(x%,y%|
00005ea0  29 0d 1b 26 37 c8 99 26  32 45 2c 33 34 2b 32 35  |)..&7..&2E,34+25|
00005eb0  36 2c 73 70 72 25 2c 74  69 6c 65 24 2c 33 32 30  |6,spr%,tile$,320|
00005ec0  2b 78 25 2a 31 32 38 2c  37 30 34 2d 79 25 2a 31  |+x%*128,704-y%*1|
00005ed0  32 38 2c 30 3a ed 3a ed  0d 1b 30 26 ff 22 46 58  |28,0:.:...0&."FX|
00005ee0  31 31 32 2c 31 22 3a e6  30 c8 9c 30 3a c8 93 33  |112,1":.0..0:..3|
00005ef0  31 36 2c 31 38 38 2c 36  34 34 2c 36 34 34 0d 1b  |16,188,644,644..|
00005f00  3a 3b c8 97 c8 93 33 32  30 2c 31 39 32 2c 36 33  |:;....320,192,63|
00005f10  36 2c 36 33 36 3a ef 31  39 2c 30 2c 32 34 2c 31  |6,636:.19,0,24,1|
00005f20  33 30 2c 31 33 30 2c 31  33 30 3a d6 63 6c 65 61  |30,130,130:.clea|
00005f30  72 3a f2 70 74 72 28 31  29 0d 1b 44 0c f2 6d 6f  |r:.ptr(1)..D..mo|
00005f40  75 73 65 6f 6e 0d 1b 4e  34 f5 3a f5 3a c8 97 78  |useon..N4.:.:..x|
00005f50  78 25 2c 79 79 25 2c 62  75 74 74 6f 6e 25 3a fd  |x%,yy%,button%:.|
00005f60  62 75 74 74 6f 6e 25 3a  67 78 25 3d 28 78 78 25  |button%:gx%=(xx%|
00005f70  2d 33 32 30 29 2f 31 32  38 0d 1b 58 24 67 79 25  |-320)/128..X$gy%|
00005f80  3d 28 37 30 30 2d 79 79  25 29 2f 31 32 38 2b 31  |=(700-yy%)/128+1|
00005f90  3a c8 8e 20 62 75 74 74  6f 6e 25 20 ca 0d 1b 62  |:.. button% ...b|
00005fa0  20 c9 20 31 3a e7 73 68  61 70 65 67 72 69 64 25  | . 1:.shapegrid%|
00005fb0  28 67 78 25 2c 67 79 25  29 3d 31 20 8c 0d 1b 6c  |(gx%,gy%)=1 ...l|
00005fc0  19 73 68 61 70 65 67 72  69 64 25 28 67 78 25 2c  |.shapegrid%(gx%,|
00005fd0  67 79 25 29 3d 30 0d 1b  76 3a c8 99 26 32 45 2c  |gy%)=0..v:..&2E,|
00005fe0  33 34 2b 32 35 36 2c 73  70 72 25 2c 22 63 68 6f  |34+256,spr%,"cho|
00005ff0  6f 73 65 2d 30 22 2c 33  32 30 2b 67 78 25 2a 31  |ose-0",320+gx%*1|
00006000  32 38 2c 37 30 34 2d 67  79 25 2a 31 32 38 2c 30  |28,704-gy%*128,0|
00006010  0d 1b 80 05 cd 0d 1b 8a  20 c9 20 34 3a e7 73 68  |........ . 4:.sh|
00006020  61 70 65 67 72 69 64 25  28 67 78 25 2c 67 79 25  |apegrid%(gx%,gy%|
00006030  29 3d 30 20 8c 0d 1b 94  19 73 68 61 70 65 67 72  |)=0 .....shapegr|
00006040  69 64 25 28 67 78 25 2c  67 79 25 29 3d 31 0d 1b  |id%(gx%,gy%)=1..|
00006050  9e 3a c8 99 26 32 45 2c  33 34 2b 32 35 36 2c 73  |.:..&2E,34+256,s|
00006060  70 72 25 2c 22 63 68 6f  6f 73 65 2d 31 22 2c 33  |pr%,"choose-1",3|
00006070  32 30 2b 67 78 25 2a 31  32 38 2c 37 30 34 2d 67  |20+gx%*128,704-g|
00006080  79 25 2a 31 32 38 2c 30  0d 1b a8 05 cd 0d 1b b2  |y%*128,0........|
00006090  2a cb 3a fd 62 75 74 74  6f 6e 25 3d 32 3a 73 68  |*.:.button%=2:sh|
000060a0  61 70 65 73 25 3d a3 3a  e3 78 25 3d 30 b8 34 3a  |apes%=.:.x%=0.4:|
000060b0  e3 79 25 3d 30 b8 34 0d  1b bc 22 e7 73 68 61 70  |.y%=0.4...".shap|
000060c0  65 67 72 69 64 25 28 78  25 2c 79 25 29 3d 31 3a  |egrid%(x%,y%)=1:|
000060d0  73 68 61 70 65 73 25 3d  b9 0d 1b c6 2b ed 3a ed  |shapes%=....+.:.|
000060e0  3a fb 31 32 38 3a e7 20  ac 20 73 68 61 70 65 73  |:.128:. . shapes|
000060f0  25 3a ef 32 33 2c 32 35  32 2c 30 3b 30 3b 30 3b  |%:.23,252,0;0;0;|
00006100  30 3b 3a e1 0d 1b d0 33  f5 3a 62 6c 61 6e 6b 25  |0;:....3.:blank%|
00006110  3d b9 3a e3 79 25 3d 30  b8 34 3a e7 73 68 61 70  |=.:.y%=0.4:.shap|
00006120  65 67 72 69 64 25 28 30  2c 79 25 29 3d 31 3a 62  |egrid%(0,y%)=1:b|
00006130  6c 61 6e 6b 25 3d a3 0d  1b da 11 ed 3a e7 62 6c  |lank%=......:.bl|
00006140  61 6e 6b 25 3d b9 20 8c  0d 1b e4 3d e3 78 25 3d  |ank%=. ....=.x%=|
00006150  31 b8 34 3a e3 79 25 3d  30 b8 34 3a 73 68 61 70  |1.4:.y%=0.4:shap|
00006160  65 67 72 69 64 25 28 78  25 2d 31 2c 79 25 29 3d  |egrid%(x%-1,y%)=|
00006170  73 68 61 70 65 67 72 69  64 25 28 78 25 2c 79 25  |shapegrid%(x%,y%|
00006180  29 3a ed 3a ed 0d 1b ee  20 e3 79 25 3d 30 b8 34  |):.:.... .y%=0.4|
00006190  3a 73 68 61 70 65 67 72  69 64 25 28 34 2c 79 25  |:shapegrid%(4,y%|
000061a0  29 3d 30 3a ed 0d 1b f8  0f cd 3a fd 62 6c 61 6e  |)=0:......:.blan|
000061b0  6b 25 3d a3 0d 1c 02 33  f5 3a 62 6c 61 6e 6b 25  |k%=....3.:blank%|
000061c0  3d b9 3a e3 78 25 3d 30  b8 34 3a e7 73 68 61 70  |=.:.x%=0.4:.shap|
000061d0  65 67 72 69 64 25 28 78  25 2c 30 29 3d 31 3a 62  |egrid%(x%,0)=1:b|
000061e0  6c 61 6e 6b 25 3d a3 0d  1c 0c 11 ed 3a e7 62 6c  |lank%=......:.bl|
000061f0  61 6e 6b 25 3d b9 20 8c  0d 1c 16 3d e3 79 25 3d  |ank%=. ....=.y%=|
00006200  31 b8 34 3a e3 78 25 3d  30 b8 34 3a 73 68 61 70  |1.4:.x%=0.4:shap|
00006210  65 67 72 69 64 25 28 78  25 2c 79 25 2d 31 29 3d  |egrid%(x%,y%-1)=|
00006220  73 68 61 70 65 67 72 69  64 25 28 78 25 2c 79 25  |shapegrid%(x%,y%|
00006230  29 3a ed 3a ed 0d 1c 20  20 e3 78 25 3d 30 b8 34  |):.:...  .x%=0.4|
00006240  3a 73 68 61 70 65 67 72  69 64 25 28 78 25 2c 34  |:shapegrid%(x%,4|
00006250  29 3d 30 3a ed 0d 1c 2a  0f cd 3a fd 62 6c 61 6e  |)=0:...*..:.blan|
00006260  6b 25 3d a3 0d 1c 34 13  ef 32 33 2c 32 35 32 3a  |k%=...4..23,252:|
00006270  e3 79 25 3d 30 b8 34 0d  1c 3e 33 6c 69 6e 65 24  |.y%=0.4..>3line$|
00006280  3d 22 30 30 30 22 3a e3  78 25 3d 30 b8 34 3a 6c  |="000":.x%=0.4:l|
00006290  69 6e 65 24 2b 3d c3 73  68 61 70 65 67 72 69 64  |ine$+=.shapegrid|
000062a0  25 28 78 25 2c 79 25 29  3a ed 0d 1c 48 1a ef a0  |%(x%,y%):...H...|
000062b0  28 22 25 22 2b 6c 69 6e  65 24 29 3a ed 3a ef 30  |("%"+line$):.:.0|
000062c0  2c 30 2c 30 0d 1c 52 39  78 25 3d 34 3a f5 3a 62  |,0,0..R9x%=4:.:b|
000062d0  6c 61 6e 6b 25 3d b9 3a  e3 79 25 3d 30 b8 34 3a  |lank%=.:.y%=0.4:|
000062e0  e7 73 68 61 70 65 67 72  69 64 25 28 78 25 2c 79  |.shapegrid%(x%,y|
000062f0  25 29 3d 31 3a 62 6c 61  6e 6b 25 3d a3 0d 1c 5c  |%)=1:blank%=...\|
00006300  1d ed 3a 78 25 2d 3d 31  3a fd 62 6c 61 6e 6b 25  |..:x%-=1:.blank%|
00006310  3d a3 20 84 20 78 25 3d  2d 31 0d 1c 66 10 73 68  |=. . x%=-1..f.sh|
00006320  61 70 65 77 25 3d 78 25  2b 32 0d 1c 70 39 79 25  |apew%=x%+2..p9y%|
00006330  3d 34 3a f5 3a 62 6c 61  6e 6b 25 3d b9 3a e3 78  |=4:.:blank%=.:.x|
00006340  25 3d 30 b8 34 3a e7 73  68 61 70 65 67 72 69 64  |%=0.4:.shapegrid|
00006350  25 28 78 25 2c 79 25 29  3d 31 3a 62 6c 61 6e 6b  |%(x%,y%)=1:blank|
00006360  25 3d a3 0d 1c 7a 1d ed  3a 79 25 2d 3d 31 3a fd  |%=...z..:y%-=1:.|
00006370  62 6c 61 6e 6b 25 3d a3  20 84 20 79 25 3d 2d 31  |blank%=. . y%=-1|
00006380  0d 1c 84 10 73 68 61 70  65 68 25 3d 79 25 2b 32  |....shapeh%=y%+2|
00006390  0d 1c 8e 05 e1 0d 1c 98  04 0d 1c a2 36 dd f2 73  |............6..s|
000063a0  68 6f 77 77 6f 72 64 28  70 6c 25 29 3a ea 78 25  |howword(pl%):.x%|
000063b0  2c 79 25 2c 6c 65 74 74  65 72 24 2c 70 61 72 74  |,y%,letter$,part|
000063c0  78 25 2c 70 61 72 74 79  25 2c 74 79 70 65 24 0d  |x%,party%,type$.|
000063d0  1c ac 2a e3 78 25 3d 30  b8 39 3a e3 79 25 3d 30  |..*.x%=0.9:.y%=0|
000063e0  b8 34 3a e7 67 72 69 64  25 28 78 25 2b 31 2c 79  |.4:.grid%(x%+1,y|
000063f0  25 2b 31 29 3c 32 36 20  8c 0d 1c b6 35 c8 99 26  |%+1)<26 ....5..&|
00006400  32 45 2c 33 34 2b 32 35  36 2c 73 70 72 25 2c 22  |2E,34+256,spr%,"|
00006410  67 72 69 64 2d 73 6c 61  62 22 2c 78 25 2a 31 32  |grid-slab",x%*12|
00006420  38 2c 79 25 2a 31 32 38  2b 31 39 32 2c 30 0d 1c  |8,y%*128+192,0..|
00006430  c0 3e cc 3a 6c 65 74 74  65 72 24 3d c1 64 69 73  |.>.:letter$=.dis|
00006440  70 6c 61 79 24 28 70 6c  25 29 2c 78 25 81 32 2b  |play$(pl%),x%.2+|
00006450  31 2c 31 29 3a 70 61 72  74 78 25 3d 78 25 83 32  |1,1):partx%=x%.2|
00006460  3a 70 61 72 74 79 25 3d  34 2d 79 25 0d 1c ca 12  |:party%=4-y%....|
00006470  e7 6c 65 74 74 65 72 24  3e 22 20 22 20 8c 0d 1c  |.letter$>" " ...|
00006480  d4 3c 74 79 70 65 24 3d  22 6c 65 74 74 65 72 70  |.<type$="letterp|
00006490  2d 22 2b c3 61 6c 70 68  70 61 72 74 25 28 70 61  |-"+.alphpart%(pa|
000064a0  72 74 78 25 2c 70 61 72  74 79 25 2c 97 28 6c 65  |rtx%,party%,.(le|
000064b0  74 74 65 72 24 29 2d 36  35 29 0d 1c de 2f c8 99  |tter$)-65).../..|
000064c0  26 32 45 2c 33 34 2b 32  35 36 2c 73 70 72 25 2c  |&2E,34+256,spr%,|
000064d0  74 79 70 65 24 2c 78 25  2a 31 32 38 2c 79 25 2a  |type$,x%*128,y%*|
000064e0  31 32 38 2b 31 39 32 2c  30 0d 1c e8 37 cc 3a c8  |128+192,0...7.:.|
000064f0  99 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  |.&2E,34+256,spr%|
00006500  2c 22 6c 65 74 74 65 72  70 2d 30 22 2c 78 25 2a  |,"letterp-0",x%*|
00006510  31 32 38 2c 79 25 2a 31  32 38 2b 31 39 32 2c 30  |128,y%*128+192,0|
00006520  0d 1c f2 05 cd 0d 1c fc  0b cd 3a ed 3a ed 3a e1  |..........:.:.:.|
00006530  0d 1d 06 04 0d 1d 10 21  dd f2 69 6e 69 74 6c 65  |.......!..initle|
00006540  74 74 65 72 73 3a f7 8d  44 5e 5f 3a ea 69 25 2c  |tters:..D^_:.i%,|
00006550  78 25 2c 79 25 0d 1d 1a  16 de 61 6c 70 68 70 61  |x%,y%.....alphpa|
00006560  72 74 25 28 31 2c 34 2c  32 35 29 0d 1d 24 39 e3  |rt%(1,4,25)..$9.|
00006570  69 25 3d 30 b8 32 35 3a  e3 79 25 3d 30 b8 34 3a  |i%=0.25:.y%=0.4:|
00006580  e3 78 25 3d 30 b8 31 3a  f3 61 6c 70 68 70 61 72  |.x%=0.1:.alphpar|
00006590  74 25 28 78 25 2c 79 25  2c 69 25 29 3a ed 78 25  |t%(x%,y%,i%):.x%|
000065a0  3a ed 79 25 0d 1d 2e 09  ed 69 25 3a e1 0d 1d 38  |:.y%.....i%:...8|
000065b0  04 0d 1d 42 39 dd f2 70  72 69 6e 74 77 6f 72 64  |...B9..printword|
000065c0  28 77 6f 72 64 24 29 3a  ea 78 25 2c 79 25 2c 6c  |(word$):.x%,y%,l|
000065d0  65 74 74 65 72 24 2c 70  61 72 74 78 25 2c 70 61  |etter$,partx%,pa|
000065e0  72 74 79 25 2c 74 79 70  65 24 0d 1d 4c 13 e3 78  |rty%,type$..L..x|
000065f0  25 3d 30 b8 39 3a e3 79  25 3d 30 b8 34 0d 1d 56  |%=0.9:.y%=0.4..V|
00006600  34 6c 65 74 74 65 72 24  3d c1 77 6f 72 64 24 2c  |4letter$=.word$,|
00006610  78 25 81 32 2b 31 2c 31  29 3a 70 61 72 74 78 25  |x%.2+1,1):partx%|
00006620  3d 78 25 83 32 3a 70 61  72 74 79 25 3d 34 2d 79  |=x%.2:party%=4-y|
00006630  25 0d 1d 60 12 e7 6c 65  74 74 65 72 24 3e 22 20  |%..`..letter$>" |
00006640  22 20 8c 0d 1d 6a 3c 74  79 70 65 24 3d 22 6c 65  |" ...j<type$="le|
00006650  74 74 65 72 70 2d 22 2b  c3 61 6c 70 68 70 61 72  |tterp-"+.alphpar|
00006660  74 25 28 70 61 72 74 78  25 2c 70 61 72 74 79 25  |t%(partx%,party%|
00006670  2c 97 28 6c 65 74 74 65  72 24 29 2d 36 35 29 0d  |,.(letter$)-65).|
00006680  1d 74 2f c8 99 26 32 45  2c 33 34 2b 32 35 36 2c  |.t/..&2E,34+256,|
00006690  73 70 72 25 2c 74 79 70  65 24 2c 78 25 2a 31 32  |spr%,type$,x%*12|
000066a0  38 2c 79 25 2a 31 32 38  2b 31 39 32 2c 30 0d 1d  |8,y%*128+192,0..|
000066b0  7e 3d cc 3a c8 99 26 32  45 2c 33 34 2b 32 35 36  |~=.:..&2E,34+256|
000066c0  2c 73 70 72 25 2c 22 6c  65 74 74 65 72 70 2d 30  |,spr%,"letterp-0|
000066d0  22 2c 74 79 70 65 24 2c  78 25 2a 31 32 38 2c 79  |",type$,x%*128,y|
000066e0  25 2a 31 32 38 2b 31 39  32 2c 30 0d 1d 88 0b cd  |%*128+192,0.....|
000066f0  3a ed 3a ed 3a e1 0d 1d  92 04 0d 1d 9c 1e dd f2  |:.:.:...........|
00006700  63 68 65 63 6b 73 68 61  70 65 3a e7 20 ac 20 73  |checkshape:. . s|
00006710  68 61 70 65 73 25 3a e1  0d 1d a6 40 ea 78 78 25  |hapes%:....@.xx%|
00006720  2c 79 79 25 2c 78 25 2c  79 25 2c 68 25 2c 76 25  |,yy%,x%,y%,h%,v%|
00006730  2c 79 65 73 25 2c 63 6f  6c 25 2c 62 6f 6e 75 73  |,yes%,col%,bonus|
00006740  25 2c 6e 75 6d 62 65 72  25 2c 6e 75 6d 25 3a 6e  |%,number%,num%:n|
00006750  75 6d 62 65 72 25 3d 30  0d 1d b0 26 e3 78 78 25  |umber%=0...&.xx%|
00006760  3d 31 b8 31 31 2d 73 68  61 70 65 77 25 3a e3 79  |=1.11-shapew%:.y|
00006770  79 25 3d 31 b8 36 2d 73  68 61 70 65 68 25 0d 1d  |y%=1.6-shapeh%..|
00006780  ba 2a 79 65 73 25 3d b9  3a e3 78 25 3d 30 b8 73  |.*yes%=.:.x%=0.s|
00006790  68 61 70 65 77 25 2d 31  3a e3 79 25 3d 30 b8 73  |hapew%-1:.y%=0.s|
000067a0  68 61 70 65 68 25 2d 31  0d 1d c4 4b e7 67 72 69  |hapeh%-1...K.gri|
000067b0  64 25 28 78 78 25 2b 78  25 2c 79 79 25 2b 79 25  |d%(xx%+x%,yy%+y%|
000067c0  29 3c 3e 32 35 2b 63 75  72 72 65 6e 74 25 80 73  |)<>25+current%.s|
000067d0  68 61 70 65 67 72 69 64  25 28 78 25 2c 73 68 61  |hapegrid%(x%,sha|
000067e0  70 65 68 25 2d 79 25 2d  31 29 3d 31 3a 79 65 73  |peh%-y%-1)=1:yes|
000067f0  25 3d a3 0d 1d ce 10 ed  3a ed 3a e7 20 79 65 73  |%=......:.:. yes|
00006800  25 20 8c 0d 1d d8 1c 68  25 3d 78 78 25 3a 76 25  |% .....h%=xx%:v%|
00006810  3d 79 79 25 3a 6e 75 6d  62 65 72 25 2b 3d 31 0d  |=yy%:number%+=1.|
00006820  1d e2 2a 6e 75 6d 25 3d  30 3a e3 78 25 3d 30 b8  |..*num%=0:.x%=0.|
00006830  73 68 61 70 65 77 25 2d  31 3a e3 79 25 3d 30 b8  |shapew%-1:.y%=0.|
00006840  73 68 61 70 65 68 25 2d  31 0d 1d ec 52 e7 73 68  |shapeh%-1...R.sh|
00006850  61 70 65 67 72 69 64 25  28 78 25 2c 73 68 61 70  |apegrid%(x%,shap|
00006860  65 68 25 2d 79 25 2d 31  29 3d 31 3a 6e 75 6d 25  |eh%-y%-1)=1:num%|
00006870  2b 3d 31 3a 74 75 72 6e  78 25 28 6e 75 6d 25 29  |+=1:turnx%(num%)|
00006880  3d 78 78 25 2b 78 25 3a  74 75 72 6e 79 25 28 6e  |=xx%+x%:turny%(n|
00006890  75 6d 25 29 3d 79 79 25  2b 79 25 0d 1d f6 35 ed  |um%)=yy%+y%...5.|
000068a0  3a ed 3a f2 74 75 72 6e  6f 76 65 72 28 6e 75 6d  |:.:.turnover(num|
000068b0  25 29 3a 73 68 61 70 65  73 25 28 63 75 72 72 65  |%):shapes%(curre|
000068c0  6e 74 25 29 2b 3d 31 3a  49 25 3d a6 28 31 30 29  |nt%)+=1:I%=.(10)|
000068d0  0d 1e 00 16 cd 3a ed 3a  ed 3a e7 6e 75 6d 62 65  |.....:.:.:.numbe|
000068e0  72 25 3e 30 20 8c 0d 1e  0a 40 74 65 78 74 24 3d  |r%>0 ....@text$=|
000068f0  22 59 6f 75 27 76 65 20  6d 61 64 65 20 22 2b c3  |"You've made "+.|
00006900  6e 75 6d 62 65 72 25 2b  22 20 73 68 61 70 65 22  |number%+" shape"|
00006910  3a e7 6e 75 6d 62 65 72  25 3e 31 3a 74 65 78 74  |:.number%>1:text|
00006920  24 2b 3d 22 73 22 0d 1e  14 3c 62 6f 6e 75 73 25  |$+="s"...<bonus%|
00006930  3d 32 2a 6e 75 6d 25 2d  31 3a 74 65 78 74 24 2b  |=2*num%-1:text$+|
00006940  3d 22 21 20 28 62 6f 6e  75 73 20 22 2b c3 28 6e  |="! (bonus "+.(n|
00006950  75 6d 62 65 72 25 2a 62  6f 6e 75 73 25 29 2b 22  |umber%*bonus%)+"|
00006960  29 22 0d 1e 1e 24 73 63  6f 72 65 25 28 63 75 72  |)"...$score%(cur|
00006970  72 65 6e 74 25 29 2b 3d  6e 75 6d 62 65 72 25 2a  |rent%)+=number%*|
00006980  62 6f 6e 75 73 25 0d 1e  28 1d 63 6f 6c 25 3d 31  |bonus%..(.col%=1|
00006990  3a e7 63 75 72 72 65 6e  74 25 3d 32 3a 63 6f 6c  |:.current%=2:col|
000069a0  25 3d 34 0d 1e 32 30 f2  73 6c 61 62 28 30 2c 38  |%=4..20.slab(0,8|
000069b0  33 32 2c 31 32 37 36 2c  36 30 29 3a f2 74 65 78  |32,1276,60):.tex|
000069c0  74 28 74 65 78 74 24 2c  2d 31 2c 33 36 2c 63 6f  |t(text$,-1,36,co|
000069d0  6c 25 29 0d 1e 3c 0d 49  25 3d a6 28 32 30 30 29  |l%)..<.I%=.(200)|
000069e0  0d 1e 46 07 cd 3a e1 0d  1e 50 04 0d 1e 5a 20 dd  |..F..:...P...Z .|
000069f0  f2 74 65 78 74 28 74 65  78 74 24 2c 78 25 2c 79  |.text(text$,x%,y|
00006a00  25 2c 63 6f 6c 25 29 3a  ea 69 25 0d 1e 64 25 f7  |%,col%):.i%..d%.|
00006a10  2b 28 31 31 2b 63 6f 6c  25 29 3a e3 69 25 3d 30  |+(11+col%):.i%=0|
00006a20  b8 37 3a f3 73 68 61 64  65 73 25 3f 69 25 3a ed  |.7:.shades%?i%:.|
00006a30  0d 1e 6e 04 0d 1e 78 15  e7 78 25 3c 30 20 84 20  |..n...x..x%<0 . |
00006a40  78 25 3e 31 30 30 30 20  8c 0d 1e 82 16 6c 65 6e  |x%>1000 .....len|
00006a50  25 3d a4 77 69 64 74 68  28 74 65 78 74 24 29 0d  |%=.width(text$).|
00006a60  1e 8c 0b c8 8e 20 78 25  20 ca 0d 1e 96 16 c9 20  |..... x% ...... |
00006a70  2d 31 3a 78 25 3d 31 36  30 2d 6c 65 6e 25 2f 32  |-1:x%=160-len%/2|
00006a80  0d 1e a0 15 c9 20 2d 32  3a 78 25 3d 38 30 2d 6c  |..... -2:x%=80-l|
00006a90  65 6e 25 2f 32 0d 1e aa  16 c9 20 2d 33 3a 78 25  |en%/2..... -3:x%|
00006aa0  3d 32 34 30 2d 6c 65 6e  25 2f 32 0d 1e b4 05 cb  |=240-len%/2.....|
00006ab0  0d 1e be 1e e7 78 25 3e  31 30 30 30 3a 78 25 3d  |.....x%>1000:x%=|
00006ac0  28 78 25 2d 31 30 30 30  29 2d 6c 65 6e 25 0d 1e  |(x%-1000)-len%..|
00006ad0  c8 05 cd 0d 1e d2 40 c8  99 22 54 65 78 74 46 58  |......@.."TextFX|
00006ae0  5f 50 72 69 6e 74 54 65  78 74 22 2c 31 2c 74 65  |_PrintText",1,te|
00006af0  78 74 24 2c 78 25 2c 79  25 2c 73 68 61 64 65 73  |xt$,x%,y%,shades|
00006b00  25 2c 30 3a e1 3a f4 20  43 61 6c 6c 20 74 6f 20  |%,0:.:. Call to |
00006b10  4d 6f 64 0d 1e dc 04 0d  1e e6 2d dc 20 31 36 2c  |Mod.......-. 16,|
00006b20  31 37 2c 31 38 2c 31 39  2c 36 30 2c 36 31 2c 36  |17,18,19,60,61,6|
00006b30  32 2c 36 33 3a 52 45 4d  20 20 20 20 20 20 20 20  |2,63:REM        |
00006b40  20 52 65 64 0d 1e f0 2f  dc 20 36 34 2c 36 35 2c  | Red.../. 64,65,|
00006b50  36 36 2c 36 37 2c 31 30  38 2c 31 30 39 2c 31 31  |66,67,108,109,11|
00006b60  30 2c 31 31 31 3a 52 45  4d 20 20 20 20 20 47 72  |0,111:REM     Gr|
00006b70  65 65 6e 0d 1e fa 30 dc  20 38 30 2c 38 31 2c 38  |een...0. 80,81,8|
00006b80  32 2c 38 33 2c 31 32 34  2c 31 32 35 2c 31 32 36  |2,83,124,125,126|
00006b90  2c 31 32 37 3a 52 45 4d  20 20 20 20 20 59 65 6c  |,127:REM     Yel|
00006ba0  6c 6f 77 0d 1f 04 2e dc  20 31 32 38 2c 31 32 39  |low..... 128,129|
00006bb0  2c 31 33 30 2c 31 33 31  2c 31 37 32 2c 31 37 33  |,130,131,172,173|
00006bc0  2c 31 37 34 2c 31 37 35  3a 52 45 4d 20 42 6c 75  |,174,175:REM Blu|
00006bd0  65 0d 1f 0e 31 dc 20 31  34 34 2c 31 34 35 2c 31  |e...1. 144,145,1|
00006be0  34 36 2c 31 34 37 2c 31  38 38 2c 31 38 39 2c 31  |46,147,188,189,1|
00006bf0  39 30 2c 31 39 31 3a 52  45 4d 20 4d 61 67 65 6e  |90,191:REM Magen|
00006c00  74 61 0d 1f 18 2e dc 20  31 39 32 2c 31 39 33 2c  |ta..... 192,193,|
00006c10  31 39 34 2c 31 39 35 2c  32 33 36 2c 32 33 37 2c  |194,195,236,237,|
00006c20  32 33 38 2c 32 33 39 3a  52 45 4d 20 43 79 61 6e  |238,239:REM Cyan|
00006c30  0d 1f 22 2f dc 20 32 30  38 2c 32 30 39 2c 32 31  |.."/. 208,209,21|
00006c40  30 2c 32 31 31 2c 32 35  32 2c 32 35 33 2c 32 35  |0,211,252,253,25|
00006c50  34 2c 32 35 35 3a 52 45  4d 20 57 68 69 74 65 0d  |4,255:REM White.|
00006c60  1f 2c 30 dc 20 31 33 32  2c 31 33 33 2c 31 33 34  |.,0. 132,133,134|
00006c70  2c 31 33 35 2c 31 38 34  2c 31 38 35 2c 31 38 36  |,135,184,185,186|
00006c80  2c 31 38 37 3a 52 45 4d  20 50 75 72 70 6c 65 0d  |,187:REM Purple.|
00006c90  1f 36 05 3a 0d 1f 40 05  3a 0d 1f 4a 36 dc 20 32  |.6.:..@.:..J6. 2|
00006ca0  30 38 2c 32 30 38 2c 32  30 38 2c 32 30 38 2c 32  |08,208,208,208,2|
00006cb0  30 38 2c 32 30 38 2c 32  30 38 2c 32 30 38 3a 52  |08,208,208,208:R|
00006cc0  45 4d 20 55 6e 69 66 6f  72 6d 20 67 72 65 79 0d  |EM Uniform grey.|
00006cd0  1f 54 04 0d 1f 5e 29 dc  20 31 2c 32 2c 37 2c 31  |.T...^). 1,2,7,1|
00006ce0  30 2c 31 36 2c 31 37 2c  37 2c 31 30 2c 38 2c 31  |0,16,17,7,10,8,1|
00006cf0  31 3a 52 45 4d 20 20 20  20 20 20 41 0d 1f 68 29  |1:REM      A..h)|
00006d00  dc 20 35 2c 32 2c 37 2c  31 30 2c 31 36 2c 33 39  |. 5,2,7,10,16,39|
00006d10  2c 37 2c 31 30 2c 36 2c  34 3a 52 45 4d 20 20 20  |,7,10,6,4:REM   |
00006d20  20 20 20 20 42 0d 1f 72  29 dc 20 31 2c 32 2c 37  |    B..r). 1,2,7|
00006d30  2c 31 31 2c 37 2c 30 2c  37 2c 31 32 2c 33 2c 34  |,11,7,0,7,12,3,4|
00006d40  3a 52 45 4d 20 20 20 20  20 20 20 20 20 43 0d 1f  |:REM         C..|
00006d50  7c 29 dc 20 35 2c 32 2c  37 2c 31 30 2c 37 2c 31  ||). 5,2,7,10,7,1|
00006d60  30 2c 37 2c 31 30 2c 36  2c 34 3a 52 45 4d 20 20  |0,7,10,6,4:REM  |
00006d70  20 20 20 20 20 20 44 0d  1f 86 29 dc 20 35 2c 31  |      D...). 5,1|
00006d80  33 2c 37 2c 30 2c 31 36  2c 31 35 2c 37 2c 30 2c  |3,7,0,16,15,7,0,|
00006d90  36 2c 31 34 3a 52 45 4d  20 20 20 20 20 20 20 45  |6,14:REM       E|
00006da0  0d 1f 90 29 dc 20 35 2c  31 33 2c 37 2c 30 2c 31  |...). 5,13,7,0,1|
00006db0  36 2c 31 35 2c 37 2c 30  2c 38 2c 30 3a 52 45 4d  |6,15,7,0,8,0:REM|
00006dc0  20 20 20 20 20 20 20 20  46 0d 1f 9a 29 dc 20 31  |        F...). 1|
00006dd0  2c 32 2c 37 2c 31 31 2c  37 2c 31 38 2c 37 2c 31  |,2,7,11,7,18,7,1|
00006de0  30 2c 33 2c 34 3a 52 45  4d 20 20 20 20 20 20 20  |0,3,4:REM       |
00006df0  20 47 0d 1f a4 29 dc 20  39 2c 31 32 2c 37 2c 31  | G...). 9,12,7,1|
00006e00  30 2c 31 36 2c 31 37 2c  37 2c 31 30 2c 38 2c 31  |0,16,17,7,10,8,1|
00006e10  31 3a 52 45 4d 20 20 20  20 20 48 0d 1f ae 29 dc  |1:REM     H...).|
00006e20  20 33 31 2c 33 32 2c 33  33 2c 33 34 2c 33 33 2c  | 31,32,33,34,33,|
00006e30  33 34 2c 33 33 2c 33 34  2c 33 35 2c 33 36 3a 52  |34,33,34,35,36:R|
00006e40  45 4d 20 49 0d 1f b8 29  dc 20 30 2c 31 32 2c 30  |EM I...). 0,12,0|
00006e50  2c 31 30 2c 30 2c 31 30  2c 39 2c 31 30 2c 33 2c  |,10,0,10,9,10,3,|
00006e60  34 3a 52 45 4d 20 20 20  20 20 20 20 4a 0d 1f c2  |4:REM       J...|
00006e70  29 dc 20 39 2c 34 35 2c  32 31 2c 33 30 2c 32 35  |). 9,45,21,30,25|
00006e80  2c 32 39 2c 37 2c 32 37  2c 38 2c 31 31 3a 52 45  |,29,7,27,8,11:RE|
00006e90  4d 20 20 20 20 4b 0d 1f  cc 29 dc 20 39 2c 30 2c  |M    K...). 9,0,|
00006ea0  37 2c 30 2c 37 2c 30 2c  37 2c 30 2c 36 2c 31 34  |7,0,7,0,7,0,6,14|
00006eb0  3a 52 45 4d 20 20 20 20  20 20 20 20 20 20 4c 0d  |:REM          L.|
00006ec0  1f d6 29 dc 20 32 33 2c  32 34 2c 32 35 2c 32 36  |..). 23,24,25,26|
00006ed0  2c 37 2c 31 30 2c 37 2c  31 30 2c 38 2c 31 31 3a  |,7,10,7,10,8,11:|
00006ee0  52 45 4d 20 20 20 20 4d  0d 1f e0 29 dc 20 39 2c  |REM    M...). 9,|
00006ef0  31 32 2c 34 31 2c 31 30  2c 32 35 2c 32 32 2c 37  |12,41,10,25,22,7|
00006f00  2c 34 32 2c 38 2c 31 31  3a 52 45 4d 20 20 20 20  |,42,8,11:REM    |
00006f10  4e 0d 1f ea 29 dc 20 31  2c 32 2c 37 2c 31 30 2c  |N...). 1,2,7,10,|
00006f20  37 2c 31 30 2c 37 2c 31  30 2c 33 2c 34 3a 52 45  |7,10,7,10,3,4:RE|
00006f30  4d 20 20 20 20 20 20 20  20 4f 0d 1f f4 29 dc 20  |M        O...). |
00006f40  35 2c 32 2c 37 2c 31 30  2c 34 30 2c 34 2c 37 2c  |5,2,7,10,40,4,7,|
00006f50  30 2c 38 2c 30 3a 52 45  4d 20 20 20 20 20 20 20  |0,8,0:REM       |
00006f60  20 20 50 0d 1f fe 29 dc  20 31 2c 32 2c 37 2c 31  |  P...). 1,2,7,1|
00006f70  30 2c 37 2c 31 30 2c 37  2c 31 30 2c 33 2c 34 33  |0,7,10,7,10,3,43|
00006f80  3a 52 45 4d 20 20 20 20  20 20 20 51 0d 20 08 29  |:REM       Q. .)|
00006f90  dc 20 35 2c 32 2c 37 2c  31 30 2c 31 36 2c 33 39  |. 5,2,7,10,16,39|
00006fa0  2c 37 2c 31 30 2c 38 2c  31 31 3a 52 45 4d 20 20  |,7,10,8,11:REM  |
00006fb0  20 20 20 20 52 0d 20 12  29 dc 20 31 2c 32 2c 35  |    R. .). 1,2,5|
00006fc0  30 2c 31 31 2c 35 31 2c  35 32 2c 39 2c 35 33 2c  |0,11,51,52,9,53,|
00006fd0  33 2c 34 3a 52 45 4d 20  20 20 20 20 20 53 0d 20  |3,4:REM      S. |
00006fe0  1c 29 dc 20 33 31 2c 33  32 2c 33 33 2c 33 34 2c  |.). 31,32,33,34,|
00006ff0  33 33 2c 33 34 2c 33 33  2c 33 34 2c 33 37 2c 33  |33,34,33,34,37,3|
00007000  38 3a 52 45 4d 20 54 0d  20 26 29 dc 20 39 2c 31  |8:REM T. &). 9,1|
00007010  32 2c 37 2c 31 30 2c 37  2c 31 30 2c 37 2c 31 30  |2,7,10,7,10,7,10|
00007020  2c 33 2c 34 3a 52 45 4d  20 20 20 20 20 20 20 55  |,3,4:REM       U|
00007030  0d 20 30 29 dc 20 39 2c  31 32 2c 37 2c 31 30 2c  |. 0). 9,12,7,10,|
00007040  37 2c 31 30 2c 34 38 2c  36 31 2c 34 39 2c 36 32  |7,10,48,61,49,62|
00007050  3a 52 45 4d 20 20 20 20  56 0d 20 3a 29 dc 20 39  |:REM    V. :). 9|
00007060  2c 31 32 2c 37 2c 31 30  2c 37 2c 31 30 2c 32 31  |,12,7,10,7,10,21|
00007070  2c 32 32 2c 31 39 2c 32  30 3a 52 45 4d 20 20 20  |,22,19,20:REM   |
00007080  20 57 0d 20 44 29 dc 20  34 34 2c 34 35 2c 34 36  | W. D). 44,45,46|
00007090  2c 34 37 2c 33 33 2c 33  34 2c 35 34 2c 35 35 2c  |,47,33,34,54,55,|
000070a0  35 39 2c 36 30 3a 52 45  4d 20 58 0d 20 4e 29 dc  |59,60:REM X. N).|
000070b0  20 34 34 2c 34 35 2c 34  36 2c 34 37 2c 33 33 2c  | 44,45,46,47,33,|
000070c0  33 34 2c 33 33 2c 33 34  2c 33 37 2c 33 38 3a 52  |34,33,34,37,38:R|
000070d0  45 4d 20 59 0d 20 58 29  dc 20 35 36 2c 35 37 2c  |EM Y. X). 56,57,|
000070e0  30 2c 36 31 2c 35 38 2c  36 32 2c 32 38 2c 30 2c  |0,61,58,62,28,0,|
000070f0  36 2c 31 34 3a 52 45 4d  20 20 20 20 5a 0d 20 62  |6,14:REM    Z. b|
00007100  04 0d 20 6c 1d dd f2 6d  6f 75 73 65 6f 6e 3a ff  |.. l...mouseon:.|
00007110  22 41 6e 69 6d 61 74 65  20 4f 6e 22 3a e1 0d 20  |"Animate On":.. |
00007120  76 04 0d 20 80 24 dd f2  6d 6f 75 73 65 6f 66 66  |v.. .$..mouseoff|
00007130  3a ff 22 41 6e 69 6d 61  74 65 20 4f 66 66 22 3a  |:."Animate Off":|
00007140  c8 97 20 87 3a e1 0d 20  8a 04 0d 20 94 2d dd f2  |.. .:.. ... .-..|
00007150  70 74 72 28 74 79 70 65  25 29 3a f2 6d 6f 75 73  |ptr(type%):.mous|
00007160  65 6f 66 66 3a e3 70 25  3d 31 b8 34 3a c8 8e 20  |eoff:.p%=1.4:.. |
00007170  74 79 70 65 25 20 ca 0d  20 9e 30 c9 20 31 3a c8  |type% .. .0. 1:.|
00007180  99 26 32 45 2c 33 36 2b  32 35 36 2c 73 70 72 25  |.&2E,36+256,spr%|
00007190  2c 22 70 74 72 5f 70 61  69 72 73 22 2b c3 70 25  |,"ptr_pairs"+.p%|
000071a0  2c 70 25 2c 30 2c 30 0d  20 a8 33 c9 20 32 3a c8  |,p%,0,0. .3. 2:.|
000071b0  99 26 32 45 2c 33 36 2b  32 35 36 2c 73 70 72 25  |.&2E,36+256,spr%|
000071c0  2c 22 70 74 72 5f 6c 6f  61 64 69 6e 67 22 2b c3  |,"ptr_loading"+.|
000071d0  70 25 2c 70 25 2c 31 33  2c 38 0d 20 b2 32 c9 20  |p%,p%,13,8. .2. |
000071e0  33 3a c8 99 26 32 45 2c  33 36 2b 32 35 36 2c 73  |3:..&2E,36+256,s|
000071f0  70 72 25 2c 22 70 74 72  5f 63 6f 6e 67 72 61 74  |pr%,"ptr_congrat|
00007200  22 2b c3 70 25 2c 70 25  2c 38 2c 38 0d 20 bc 30  |"+.p%,p%,8,8. .0|
00007210  c9 20 34 3a c8 99 26 32  45 2c 33 36 2b 32 35 36  |. 4:..&2E,36+256|
00007220  2c 73 70 72 25 2c 22 70  74 72 5f 65 66 6d 22 2b  |,spr%,"ptr_efm"+|
00007230  c3 70 25 2c 70 25 2c 31  36 2c 31 32 0d 20 c6 16  |.p%,p%,16,12. ..|
00007240  cb 3a c8 97 87 3a ed 3a  f2 6d 6f 75 73 65 6f 6e  |.:...:.:.mouseon|
00007250  3a e1 0d 20 d0 04 0d 20  da 28 dd 20 f2 61 72 6d  |:.. ... .(. .arm|
00007260  63 6f 64 65 3a ea 20 64  69 73 70 61 63 65 25 2c  |code:. dispace%,|
00007270  69 25 2c 70 61 73 73 25  2c 63 6f 64 65 25 0d 20  |i%,pass%,code%. |
00007280  e4 40 de 20 64 69 73 70  61 63 65 25 20 38 30 2a  |.@. dispace% 80*|
00007290  36 34 3a 74 69 6d 65 25  3d 33 32 3a e3 69 25 3d  |64:time%=32:.i%=|
000072a0  30 b8 38 30 2a 36 34 3a  64 69 73 70 61 63 65 25  |0.80*64:dispace%|
000072b0  3f 69 25 3d b3 28 74 69  6d 65 25 29 3a ed 0d 20  |?i%=.(time%):.. |
000072c0  ee 2f de 63 6f 64 65 25  20 35 31 32 3a e3 70 61  |./.code% 512:.pa|
000072d0  73 73 25 3d 30 b8 32 88  32 3a 50 25 3d 63 6f 64  |ss%=0.2.2:P%=cod|
000072e0  65 25 3a 5b 4f 50 54 20  70 61 73 73 25 0d 20 f8  |e%:[OPT pass%. .|
000072f0  3f 2e 73 63 72 31 20 45  51 55 44 20 26 31 46 44  |?.scr1 EQUD &1FD|
00007300  38 30 30 30 3a 2e 73 63  72 32 20 45 51 55 44 20  |8000:.scr2 EQUD |
00007310  26 31 46 45 43 30 30 30  3a 2e 64 69 73 73 20 45  |&1FEC000:.diss E|
00007320  51 55 44 20 64 69 73 70  61 63 65 25 0d 21 02 47  |QUD dispace%.!.G|
00007330  2e 63 6c 65 61 72 3a 53  54 4d 46 44 20 52 31 33  |.clear:STMFD R13|
00007340  21 2c 7b 52 30 2d 52 31  32 2c 52 31 34 7d 3a 4d  |!,{R0-R12,R14}:M|
00007350  4f 56 20 52 31 32 2c 23  33 32 30 3a 4c 44 52 20  |OV R12,#320:LDR |
00007360  52 30 2c 73 63 72 31 3a  4c 44 52 20 52 31 2c 73  |R0,scr1:LDR R1,s|
00007370  63 72 32 0d 21 0c 48 4c  44 52 20 52 32 2c 64 69  |cr2.!.HLDR R2,di|
00007380  73 73 3a 4d 4f 56 20 52  33 2c 23 74 69 6d 65 25  |ss:MOV R3,#time%|
00007390  3a 2e 6c 6f 6f 70 31 3a  4d 4f 56 20 52 34 2c 23  |:.loop1:MOV R4,#|
000073a0  37 39 3a 2e 6c 6f 6f 70  32 3a 4d 4f 56 20 52 35  |79:.loop2:MOV R5|
000073b0  2c 23 36 33 3a 2e 6c 6f  6f 70 33 0d 21 16 3a 41  |,#63:.loop3.!.:A|
000073c0  44 44 20 52 36 2c 52 34  2c 52 35 2c 4c 53 4c 20  |DD R6,R4,R5,LSL |
000073d0  23 36 3a 4c 44 52 42 20  52 36 2c 5b 52 32 2c 52  |#6:LDRB R6,[R2,R|
000073e0  36 5d 3a 43 4d 50 20 52  36 2c 52 33 3a 42 4e 45  |6]:CMP R6,R3:BNE|
000073f0  20 6e 65 78 74 0d 21 20  2e 4d 4c 41 20 52 37 2c  | next.! .MLA R7,|
00007400  52 35 2c 52 31 32 2c 52  34 3a 41 44 44 20 52 38  |R5,R12,R4:ADD R8|
00007410  2c 52 37 2c 52 30 3a 41  44 44 20 52 39 2c 52 37  |,R7,R0:ADD R9,R7|
00007420  2c 52 31 0d 21 2a 25 53  54 4d 46 44 20 52 31 33  |,R1.!*%STMFD R13|
00007430  21 2c 7b 52 30 2d 52 34  7d 3a 41 44 52 20 52 34  |!,{R0-R4}:ADR R4|
00007440  2c 6f 66 66 73 65 74 73  0d 21 34 18 5d 3a e3 69  |,offsets.!4.]:.i|
00007450  25 3d 31 b8 34 3a 5b 4f  50 54 20 70 61 73 73 25  |%=1.4:[OPT pass%|
00007460  0d 21 3e 15 4c 44 4d 49  41 20 52 34 21 2c 7b 52  |.!>.LDMIA R4!,{R|
00007470  30 2d 52 33 7d 0d 21 48  47 4c 44 52 42 20 52 31  |0-R3}.!HGLDRB R1|
00007480  30 2c 5b 52 39 2c 52 30  5d 3a 4c 44 52 42 20 52  |0,[R9,R0]:LDRB R|
00007490  31 31 2c 5b 52 38 2c 52  30 5d 3a 53 54 52 42 20  |11,[R8,R0]:STRB |
000074a0  52 31 30 2c 5b 52 38 2c  52 30 5d 3a 53 54 52 42  |R10,[R8,R0]:STRB|
000074b0  20 52 31 31 2c 5b 52 39  2c 52 30 5d 0d 21 52 47  | R11,[R9,R0].!RG|
000074c0  4c 44 52 42 20 52 31 30  2c 5b 52 39 2c 52 31 5d  |LDRB R10,[R9,R1]|
000074d0  3a 4c 44 52 42 20 52 31  31 2c 5b 52 38 2c 52 31  |:LDRB R11,[R8,R1|
000074e0  5d 3a 53 54 52 42 20 52  31 30 2c 5b 52 38 2c 52  |]:STRB R10,[R8,R|
000074f0  31 5d 3a 53 54 52 42 20  52 31 31 2c 5b 52 39 2c  |1]:STRB R11,[R9,|
00007500  52 31 5d 0d 21 5c 47 4c  44 52 42 20 52 31 30 2c  |R1].!\GLDRB R10,|
00007510  5b 52 39 2c 52 32 5d 3a  4c 44 52 42 20 52 31 31  |[R9,R2]:LDRB R11|
00007520  2c 5b 52 38 2c 52 32 5d  3a 53 54 52 42 20 52 31  |,[R8,R2]:STRB R1|
00007530  30 2c 5b 52 38 2c 52 32  5d 3a 53 54 52 42 20 52  |0,[R8,R2]:STRB R|
00007540  31 31 2c 5b 52 39 2c 52  32 5d 0d 21 66 47 4c 44  |11,[R9,R2].!fGLD|
00007550  52 42 20 52 31 30 2c 5b  52 39 2c 52 33 5d 3a 4c  |RB R10,[R9,R3]:L|
00007560  44 52 42 20 52 31 31 2c  5b 52 38 2c 52 33 5d 3a  |DRB R11,[R8,R3]:|
00007570  53 54 52 42 20 52 31 30  2c 5b 52 38 2c 52 33 5d  |STRB R10,[R8,R3]|
00007580  3a 53 54 52 42 20 52 31  31 2c 5b 52 39 2c 52 33  |:STRB R11,[R9,R3|
00007590  5d 0d 21 70 12 5d 3a ed  3a 5b 4f 50 54 20 70 61  |].!p.]:.:[OPT pa|
000075a0  73 73 25 0d 21 7a 16 4c  44 4d 46 44 20 52 31 33  |ss%.!z.LDMFD R13|
000075b0  21 2c 7b 52 30 2d 52 34  7d 0d 21 84 39 2e 6e 65  |!,{R0-R4}.!.9.ne|
000075c0  78 74 3a 53 55 42 53 20  52 35 2c 52 35 2c 23 31  |xt:SUBS R5,R5,#1|
000075d0  3a 42 50 4c 20 6c 6f 6f  70 33 3a 53 55 42 53 20  |:BPL loop3:SUBS |
000075e0  52 34 2c 52 34 2c 23 31  3a 42 50 4c 20 6c 6f 6f  |R4,R4,#1:BPL loo|
000075f0  70 32 0d 21 8e 32 53 55  42 53 20 52 33 2c 52 33  |p2.!.2SUBS R3,R3|
00007600  2c 23 31 3a 42 4e 45 20  6c 6f 6f 70 31 3a 4c 44  |,#1:BNE loop1:LD|
00007610  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 31 32  |MFD R13!,{R0-R12|
00007620  2c 50 43 7d 0d 21 98 0c  2e 6f 66 66 73 65 74 73  |,PC}.!...offsets|
00007630  0d 21 a2 24 45 51 55 44  20 30 3a 45 51 55 44 20  |.!.$EQUD 0:EQUD |
00007640  38 30 3a 45 51 55 44 20  31 36 30 3a 45 51 55 44  |80:EQUD 160:EQUD|
00007650  20 32 34 30 0d 21 ac 3e  45 51 55 44 20 33 32 30  | 240.!.>EQUD 320|
00007660  2a 36 34 3a 45 51 55 44  20 33 32 30 2a 36 34 2b  |*64:EQUD 320*64+|
00007670  38 30 3a 45 51 55 44 20  33 32 30 2a 36 34 2b 31  |80:EQUD 320*64+1|
00007680  36 30 3a 45 51 55 44 20  33 32 30 2a 36 34 2b 32  |60:EQUD 320*64+2|
00007690  34 30 0d 21 b6 42 45 51  55 44 20 33 32 30 2a 31  |40.!.BEQUD 320*1|
000076a0  32 38 3a 45 51 55 44 20  33 32 30 2a 31 32 38 2b  |28:EQUD 320*128+|
000076b0  38 30 3a 45 51 55 44 20  33 32 30 2a 31 32 38 2b  |80:EQUD 320*128+|
000076c0  31 36 30 3a 45 51 55 44  20 33 32 30 2a 31 32 38  |160:EQUD 320*128|
000076d0  2b 32 34 30 0d 21 c0 42  45 51 55 44 20 33 32 30  |+240.!.BEQUD 320|
000076e0  2a 31 39 32 3a 45 51 55  44 20 33 32 30 2a 31 39  |*192:EQUD 320*19|
000076f0  32 2b 38 30 3a 45 51 55  44 20 33 32 30 2a 31 39  |2+80:EQUD 320*19|
00007700  32 2b 31 36 30 3a 45 51  55 44 20 33 32 30 2a 31  |2+160:EQUD 320*1|
00007710  39 32 2b 32 34 30 0d 21  ca 06 5d ed 0d 21 d4 0e  |92+240.!..]..!..|
00007720  eb 20 31 33 2b 31 32 38  3a 87 0d 21 de 4e de 20  |. 13+128:..!.N. |
00007730  6b 65 76 20 31 36 3a 21  6b 65 76 3d 31 34 39 3a  |kev 16:!kev=149:|
00007740  6b 65 76 21 34 3d 2d 31  3a c8 99 36 2c 31 31 32  |kev!4=-1:..6,112|
00007750  2c 31 3a c8 99 36 2c 31  31 33 2c 31 3a c8 99 26  |,1:..6,113,1:..&|
00007760  33 31 2c 6b 65 76 2c 6b  65 76 2b 38 3a 21 73 63  |31,kev,kev+8:!sc|
00007770  72 31 3d 6b 65 76 21 38  0d 21 e8 50 20 20 20 20  |r1=kev!8.!.P    |
00007780  20 20 20 20 20 20 20 21  6b 65 76 3d 31 34 39 3a  |       !kev=149:|
00007790  6b 65 76 21 34 3d 2d 31  3a c8 99 36 2c 31 31 32  |kev!4=-1:..6,112|
000077a0  2c 32 3a c8 99 36 2c 31  31 33 2c 32 3a c8 99 26  |,2:..6,113,2:..&|
000077b0  33 31 2c 6b 65 76 2c 6b  65 76 2b 38 3a 21 73 63  |31,kev,kev+8:!sc|
000077c0  72 32 3d 6b 65 76 21 38  0d 21 f2 17 c8 99 36 2c  |r2=kev!8.!....6,|
000077d0  31 31 32 2c 32 3a c8 99  36 2c 31 31 33 2c 31 0d  |112,2:..6,113,1.|
000077e0  21 fc 0c eb 20 31 33 20  3a 20 87 0d 22 06 05 e1  |!... 13 : .."...|
000077f0  0d 22 10 04 0d 22 1a 45  dd 20 a4 72 65 61 64 66  |."...".E. .readf|
00007800  69 6c 65 73 28 64 69 72  24 2c 66 69 6c 65 74 79  |iles(dir$,filety|
00007810  70 65 25 29 3a ea 20 63  75 72 66 69 6c 65 25 2c  |pe%):. curfile%,|
00007820  66 69 6c 65 25 2c 6e 61  6d 65 24 2c 6e 61 6d 65  |file%,name$,name|
00007830  25 2c 6e 75 6d 62 65 72  25 0d 22 24 24 63 75 72  |%,number%."$$cur|
00007840  66 69 6c 65 25 3d 31 3a  66 6e 61 6d 65 24 28 29  |file%=1:fname$()|
00007850  3d 22 22 3a 66 69 6c 65  25 3d 30 3a f5 0d 22 2e  |="":file%=0:..".|
00007860  3a c8 99 22 4f 53 5f 47  42 50 42 22 2c 31 30 2c  |:.."OS_GBPB",10,|
00007870  64 69 72 24 2c 62 6c 6f  63 6b 25 2c 31 2c 66 69  |dir$,block%,1,fi|
00007880  6c 65 25 2c 36 33 2c 22  2a 22 20 b8 20 2c 2c 2c  |le%,63,"*" . ,,,|
00007890  6e 75 6d 62 65 72 25 0d  22 38 16 6e 61 6d 65 24  |number%."8.name$|
000078a0  3d 22 22 3a 6e 61 6d 65  25 3d 26 31 34 0d 22 42  |="":name%=&14."B|
000078b0  16 c8 95 20 62 6c 6f 63  6b 25 3f 6e 61 6d 65 25  |... block%?name%|
000078c0  3c 3e 30 0d 22 4c 23 6e  61 6d 65 24 2b 3d bd 28  |<>0."L#name$+=.(|
000078d0  62 6c 6f 63 6b 25 3f 6e  61 6d 65 25 29 3a 6e 61  |block%?name%):na|
000078e0  6d 65 25 2b 3d 31 0d 22  56 05 ce 0d 22 60 49 e7  |me%+=1."V..."`I.|
000078f0  28 28 21 62 6c 6f 63 6b  25 20 3e 3e 3e 20 38 29  |((!block% >>> 8)|
00007900  80 20 26 46 46 46 29 3d  66 69 6c 65 74 79 70 65  |. &FFF)=filetype|
00007910  25 3a 66 6e 61 6d 65 24  28 63 75 72 66 69 6c 65  |%:fname$(curfile|
00007920  25 29 3d 6e 61 6d 65 24  3a 63 75 72 66 69 6c 65  |%)=name$:curfile|
00007930  25 2b 3d 31 0d 22 6a 24  66 69 6c 65 25 2b 3d 31  |%+=1."j$file%+=1|
00007940  3a fd 6e 75 6d 62 65 72  25 3c 3e 31 3a 3d 63 75  |:.number%<>1:=cu|
00007950  72 66 69 6c 65 25 2d 32  0d ff                    |rfile%-2..|
0000795a