Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199206b.adf » June92 » !AWJune92/Goodies/WordPairs/!WordPairs/!RunImage

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

#� >!RunImage (!WordPairs v3.30)
0� Brought to you by *** Dungeon Software ***
!� � Archimedes World June '92
(�:savetab%=�:�DF@
2!file%=�"<WordPair$Dir>.Dummy"
<5�#file%:�"Delete <WordPair$Dir>.Dummy":savetab%=�
F�:�0:�:�:�" at line ";�:�
PC�init:*IF "<Tracker$>"="Yes" THEN PlayInit <WordPair$Dir>.Tune1
Z%�"Hourglass Off":ȗ�3:�c%=15�0�-1
d!ȗ�1,(140/15)*c%,(80/15)*c%,0
n"ȗ�2,(180/15)*c%,(120/15)*c%,0
x,ȗ�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
��i%=1�wordfiles%
�/file%=�("<WordPair$Dir>.Words."+fname$(i%))
� �:� �#file%=10:words%(i%)+=1
=��#file%:�#file%:�words%(i%)>maxword%:maxword%=words%(i%)
�:�

"0��loadwords:� file%,i%,j%,string$:maxword%=0
,0�i%=1�wordfiles%:�wordfile$=fname$(i%):j%=i%
60�:file%=�("<WordPair$Dir>.Words."+wordfile$)
@1maxword%=words%(j%):�i%=1�maxword%:string$=""
J.�:byte%=�#file%:�byte%<>10:string$+=�byte%
T5�byte%=10:word$(i%)=�string$+"     ",5):�:�#file%
^�
h
r.��init:�line$,x%,y%:wordfile$="5LetterMix"
|-�i%=32�255:ș"TextFX_CalculateWidth",i%:�
�ș"TextFX_SetWidth",32,4
�/�"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
��turnx%(25),turny%(25)
�3�loadsprites:�loadwords:�loadtable:�initletters
�8�inittunes:�setupscroll:�armcode:shapew%=2:shapeh%=2
� ��TfB:�y%=0�4:�line$:�x%=0�4
+shapegrid%(x%,y%)=��line$,x%+1,1):�:�:�

� Default bonus shape
&� 11000
0� 11000
:� 00000
D� 00000
N� 00000
X
b0��initgrid:grid%()=0:�a%,b%,x%,y%,ma%,mb%,A%
l!A%=�(-���$,23,2)):Ȏ skill% �
v�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%
�2�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
�4�85,x%,y%:�85,x%+8,y%+8:�21Ȝ0:�x%,y%:�x%+8,y%+8
4�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:�

 ��board:�:�x%=0�9:�y%=0�4
*9ș&2E,34+256,spr%,"grid-slab",x%*128,y%*128+192,0:�:�
4�gametitle
>
�scores:�
H
R��gametitle
\)ș&2E,34+256,spr%,"gametitle",0,896,0
f�slab(640,896,636,124)
p)ș&2E,34+256,spr%,"pinkblock",656,920
z)ș&2E,34+256,spr%,"pinkblock",656,968
�+�text("Press ESCAPE for menu",175,18,8)
��tunes%=0 �
�*�text("Written by Simon Heys",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
�;�text("Score...",16,224,1):�text(�score%(1),1152,224,1)
�=�text("Shapes...",16,234,1):�text(�shapes%(1),1152,234,1)
�;�text("Tries...",16,244,1):�text(�tries%(1),1152,244,1)
�text(�252,144,213,1)
�slab(640,0,636,188)
�players%=2 �
$�text(name$(2),176,213,4)
.:ș&2E,34+256,spr%,"player2-"+�(-(current%=2)),656,16,8
8<�text("Score...",176,224,4):�text(�score%(2),1312,224,4)
B>�text("Shapes...",176,234,4):�text(�shapes%(2),1312,234,4)
L<�text("Tries...",176,244,4):�text(�tries%(2),1312,244,4)
V�text(�252,304,213,4)
`�
j �text("Game Info:",-3,213,1)
t#�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"
�� 4:skill$="Tuff (ish)"
�� 5:skill$="Mega Tuff"
��
�text(skill$,1312,234,7)

�text(�left%,1312,244,7)
�:�

(C��scale(t$,x%,y%,x1%,y1%):�w%,h%:!scale%=x1%-x%:scale%!4=y1%-y%
2@ș&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:�
F
P%��reveal(x%,y%):�0Ȝ0:�i%=64�0�-8
ZE�scale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
d7Ȗ:�x%*128-128,y%*128+124+i%,x%*128-4,y%*128+124+i%
n8�x%*128-128,y%*128+124+i%-4,x%*128-4,y%*128+124+i%-4
x4�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%):Ȗ
�4�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%
�4�x%*128-128,y%*128+128-i%,x%*128-4,y%*128+128-i%
6�x%*128-128,y%*128+132-i%,x%*128-4,y%*128+132-i%:�
�i%=0�64�8:Ȗ
E�scale("grid-slab",x%*128-128,y%*128+128-i%,x%*128,y%*128+128+i%)
"�:�
,
67��got(number%):� i%,tile$,got$,x%,y%:left%-=number%
@%�0Ȝ0:�i%=4�64�4:Ȗ:�j%=1�number%
J'x%=changex%(j%-1):y%=changey%(j%-1)
THtile$="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%)
h2ȓx%*128-132+i%,y%*128+60+i%,132-i%*2,132-i%*2
r!�:�: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%)
��i%<68 �
�.ȓx%*128-64-i%,y%*128+128-i%,2*i%-4,2*i%-4
��
�k%=i%-64
F�scale(got$,x%*128-64-k%,y%*128+128-k%,x%*128-64+k%,y%*128+128+k%)
�
	�:�:�
&
05��game:�mouseoff:�"FX112,2":score%()=0:tries%()=0
:9shapes%()=0:current%=1:left%=50:��=17:�title:�:�end
D1�board:ȗȓ0,192,1279,636:gotit%=�:�"FX112,1"
N'�clear:�19,0,24,0,0,0:�ptr(1):�:�nb
X$ȗ�1,240,0,0:ȗ�3,160,0,0:col%=1
b0�current%=2:ȗ�1,0,0,240:ȗ�3,0,0,160:col%=4
l,�slab(0,832,1276,60):tries%(current%)+=1
vD�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%)
��reveal(hs%,vs%):wild%=�
�L�(grid%(hf%,vf%)=25�grid%(hs%,vs%)=25)�(grid%(hf%,vf%)<>grid%(hs%,vs%))�
� wild%=�:�slab(0,832,1276,60)
1�text("You've found a wild card!",-1,36,col%)
:scx%=hf%:scy%=vf%:�grid%(hf%,vf%)=25:scx%=hs%:scy%=vs%
&found%=�:�w(80):�sx%=1�10:�sy%=1�5
 r�grid%(sx%,sy%)=grid%(scx%,scy%) � �(scx%=sx% � scy%=sy%) � found%=�:�reveal(sx%,sy%):wx%=sx%:wy%=sy%:found%=�
*�:�
4/�:� wild% � grid%(hs%,vs%)=grid%(hf%,vf%) �
> �ptr(3):�slab(0,832,1276,60)
HG�text("Well done "+name$(current%)+"! A matching pair!",-1,36,col%)
R(score%(current%)+=1:�w(80):number%=2
\4�wild%:number%=3:changex%(2)=wx%:changey%(2)=wy%
fCchangex%(0)=hs%:changey%(0)=vs%:changex%(1)=hf%:changey%(1)=vf%
p�got(number%):�checkshape
zB�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%
�)�"FX112,2":�scores:�"FX112,1":�scores
��:�congrats:�
�
	��w(i%):j%=�(i%):�
	
	+��guessword(pl%):�mouseoff:�"FX112,2":�
	$�gametitle
	./�scores:�showword(pl%):�slab(0,832,1276,60)
	8+�"FX15":tc%=1:�"FX15":�current%=2:tc%=4
	B?�text("What's the word? Enter guess:           ",-1,36,tc%)
	Lg�"FX112,1":�clear:guess$=�(�getstring("What's the word? Enter guess: ",36,tc%,5,"U",10))+"     ",5)
	Vt�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
	j�
	t
	~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 �
	�)ip$=�ip$,�ip$-1):�ds:�caps%=�:caps%=�
	���ip$,1)=" "�ip$="":caps%=�
	��:� �(ip$)<len% �
Ȏ allow$ �

	� "U"
%�a%>96 � a%<123:ip$+=�(a%-32):�ds
!�a%>64 � a%<91:ip$+=�(a%):�ds
(	� "A"
2�caps% �
<-�a%>96 � a%<123:ip$+=�(a%-32):�ds:caps%=�
F)�a%>64 � a%<91:ip$+=�(a%):�ds:caps%=�
P#�:�a%=32:caps%=�:ip$+=�(a%):�ds
Z"�a%>96 � a%<123:ip$+=�(a%):�ds
d$�a%>64 � a%<91:ip$+=�(a%+32):�ds
n�
x
� "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
�/�text(ip$,xx%+ls%,y%,col%):�time%>0:�ptr(1)
��allow$="YN":=�ip$,1)
�=ip$

6��ds:�42Ȝ0:ȓȐxx%*4+ls%*4-4,yy%-32,len%*36+32,36
�text(ip$,xx%+ls%,y%,col%)
")�text("_",xx%+ls%+�width(ip$),y%,7):�
,
6ݤwidth(text$):�text$="":=0
@#�len%,i%,w%:len%=0:�i%=1��text$
J;ș"TextFX_GetWidth",��text$,i%,1) � w%:len%+=w%:�:=len%
T
^$��getnames:��=17:�title:�:�end
h+�slab(0,0,1276,136):�n$:�mouseoff:*FX15
rOname$(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
�Guser$(2)=�getstring(name$(2)+" look away. Word is: ",243,1,5,"U",0)
��user$(2)<5 �
��slab(0,0,1276,136):*FX15
�@yn$=�getstring("Are you sure that's right? ",234,1,3,"YN",0)
#�:user$(2)=�user$(2)+"     ",5)
�yn$="Y"
笤iswordgood(user$(2)) �
&>�slab(0,0,1276,136):�text("That's a silly word!",-1,234,1)
0
I%=�(500)
:�
D��iswordgood(user$(2))
N�
X!�:yn$="Y":�slab(0,0,1276,136)
b>�text(name$(2)+", please enter your word.",-1,226,4):*FX15
lGuser$(1)=�getstring(name$(1)+" look away. Word is: ",243,4,5,"U",0)
v�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)
��wordtype%=1 �
�#display$(1)=�scramble(user$(1))
�/�players%=2:display$(2)=�scramble(user$(2))

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

�skill%<5 �

�slab(0,0,1276,136)

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

*�yn$="Y" � �choosepics

4�

>�chooseshape:�

H

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

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

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

p=�

z

���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)

�&�:�text("Computer Words",-3,84,11)

��text("User Words",-3,95,2)

��
�3:�wordtype%=1 �
%�text("Scrambled Words",-3,106,2)
#�text("Normal Words",-3,117,11)
$(�:�text("Scrambled Words",-3,106,11)
."�text("Normal Words",-3,117,2)
8�
B$�4:�v%=1�5:c%=11:�skill%=v%:c%=2
LȎ v% �
V#�1:�text("Mega Easy",-3,182,c%)
`#�2:�text("Very Easy",-3,193,c%)
j �3:�text("Simple",-3,204,c%)
t$�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:�
�
�4��loadtable:file%=�("<WordPair$Dir>.HighScores")
;�name%=1�10:�#file%,high$(name%),high%(name%):�:�#file%

�

��savetable:�savetab%:�
((file%=�("<WordPair$Dir>.HighScores")
2;�name%=1�10:�#file%,high$(name%),high%(name%):�:�#file%
<�
F
PB��newwords:� xx%,yy%,button%,time%,print$,oldfile%,newfile%,n$
Z4�slab(0,820,636,64):�text("Load Words:",-2,39,6)
d*�slab(0,140,636,676):ȗȓ0,140,636,676
n�i%=1�wordfiles%
x#�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
��newfile%<>of% �
�$�42Ȝ0:ȓȐ12,848-of%*44,612,-40
�%�text(fname$(of%),8,45+of%*11,11)
1�text("("+�words%(of%)+")",1152,45+of%*11,11)
of%=newfile%
%�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)
6�
@�button%
J)wordfile$=fname$(newfile%):�loadwords
T�42Ȝ0:ȓȐ652,456,612,40
^+�text("File: '"+wordfile$+"`",-3,133,6)
h5�slab(0,820,636,64):�text("High Scores:",-2,39,6)
r�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
�8�19,0,24,0,0,0:�128Ȝ0:paused%=�:flash%=�:scrstep%=4
�-�"FX113,1":�"FX112,1":��=17:�esc:�:�end
�5�mouseoff:�score%(1)>high%(10):�enter(1):up1%=up%
�+�score%(2)>high%(10):�enter(2):up2%=up%
-score%()=0:ȗȓ0,0,1276,1020:�"FX112,2":�
Ȗ:�"FX113,1"
)ș&2E,34+256,spr%,"menutitle",0,888,0
&/ș&2E,16+256,spr%,"scrback",0,20,20,1260,48
05�slab(0,820,636,64):�text("High Scores:",-2,39,6)
:3�slab(0,72,636,64):�text("Start Game",-2,226,3)
D<�slab(0,140,636,676):clickstart%=�:�slab(640,888,636,64)
N/�slab(640,956,636,64):�slab(0,0,1276,68):�0
XȓȐ16,16,1244,36
b�tunes%>0 �
l'�text("Tune:",200,5,6):�tune(tune%)
v�
�!�text("by Simon Heys",-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% �
�'�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)
!�:�:�i%=1�4:�ht(i%):�:�ptr(1)
 5ȗ�1,120,0,240:ȗ�3,80,0,160:Ȗ:�"FX112,1":�clear
*6�:�:ȗxx%,yy%,button%:�scroll:�button%:xx%=xx%�4*4
4yy%=yy%�4*4:� xx%>636 �
>7� yy%<=872 � yy%>=832 � comwords%:players%=1:�ht(1)
H+� yy%<=828 � yy%>=788:players%=2:�ht(1)
R,� yy%<=692 � yy%>=652:comwords%=�:�ht(2)
\9� yy%<=648 � yy%>=608 � players%=2:comwords%=�:�ht(2)
f,� yy%<=604 � yy%>=564:wordtype%=1:�ht(3)
p,� yy%<=560 � yy%>=520:wordtype%=2:�ht(3)
z#� 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
��
�
�:��smid(sp$,sy%,gc%):�w%:ș &2E,40+256,spr%,sp$ � ,,,w%
2ș &2E,34+256,spr%,sp$,(1276-w%*4)/2,sy%,gc%:�

8��congrats:�"FX112,2":�slab(0,832,1276,60):�gotit% �
$Ȏ current% �
.C�1:�text("Well done "+name$(1)+"! (Bonus "+�bonus%+")",-1,36,1)
8C�2:�text("Well done "+name$(2)+"! (Bonus "+�bonus%+")",-1,36,4)
B�:�"FX112,1":�i%=316�0�-4
L7�scale("wow!",i%,192+i%,1280-i%,832-i%):�:i%=�(200)
V�"FX112,2"
`5�:�text("Tough buns! You didn't get it.",-1,36,7)
j9�:�x%=0�9:�y%=0�4:tile$="picture-"+�grid2%(x%+1,y%+1)
t)�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)
�5�2:�text(name$(2)+"'s word to guess was",-1,36,4)
��
�-�:�text("Your word to guess was",-1,36,1)
0�:i%=�(380):�clear:�"FX112,1":Ȏ wordtype% �

�2:i%=�(400)
�1:i%=�(200)
)�printword(user$(current%)):i%=�(300)
(%�:�players%=2:current%=3-current%
2�clear:�0:�
<
F*��end:�"FX113,1":�"FX112,2":�4:�128Ȝ0
P�"FX13,4":�128:�:�clear
Z�=17 �
d4*IF "<Tracker$>"="Yes" THEN RMKILL TrackerModule
n�"Unset Tracker$"
x�"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)
�&high%(up%)=score%(n%):�savetable:�
�
���ins(ins$):�i%=1��ins$
#�("FX138,0,"+�ins$,i%,1)):�:�

��inittunes
"tunes%=0
,;ș"OS_File",5,"<WordPair$Dir>.Tune1" � e%:� e%:tunes%=1
6;ș"OS_File",5,"<WordPair$Dir>.Tune2" � e%:� e%:tunes%=2
@;ș"OS_File",5,"<WordPair$Dir>.Tune3" � e%:� e%:tunes%=3
J;ș"OS_File",5,"<WordPair$Dir>.Tune4" � e%:� e%:tunes%=4
Ttuneloaded%=1
^�
h
r��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 �
�$�"Speaker On":�text("�",296,5,2)
��
�&�"Speaker Off":�text("�",296,5,11)
��:�

'� �rspace(right$):�final$:final$=""
;�i%=1��right$:�right$,i%,1)<>" ":final$+=�right$,i%,1)
&'�:final$=�final$+"     ",5):=final$
0
:#��esc:�mouseoff:�"FX4":clear%=�
D�(-1)��(-2):clear%=�
N�"Set Dummy Yes"
X.�"RMEnsure TrackerModule 000 Set Dummy No"
b1�("If Dummy="+�34+"Yes"+�34+" THEN PlayKill")
l�"Unset Dummy"
v�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:�
�
�*��scroll:�scrstx%=scrollmax%:scrstx%=1
�0�flash%:ș&2E,34+256,spr%,"scrback",16,20,0
��5,24,26;12;1260;52;
)�0Ȝ0:Ȗ:�scrx%+1232-scrstep%,48:�"�"
&� �(scrolladdr%?(scrstx%-1))="\" �
Asccol%=�(�(scrolladdr%?(scrstx%))+�(scrolladdr%?(scrstx%+1)))
 scrstx%+=3
*(�:� �(scrolladdr%?(scrstx%-1))="|" �
46paused%=�:endtime%=��(scrolladdr%?(scrstx%))*100+�
>%�(scrolladdr%?(scrstx%+1))="]" �
Hflash%=�:�26
R/ș&2E,16+256,spr%,"scrback",0,16,20,1256,48
\�24,26;12;1260;52;
f�:scrstx%+=3
p=�:� �(scrolladdr%?(scrstx%-1))="{":scrstep%=16:scrstx%+=1
z:� �(scrolladdr%?(scrstx%-1))="}":scrstep%=8:scrstx%+=1
�� � paused% �
�(�sccol%Ȝ192:�scrx%+1232-scrstep%,48
��(scrolladdr%?(scrstx%-1))
�0scrx%-=scrstep%:�scrx%=0:scrx%=32:scrstx%+=1
�	�4,26
�8ș&2E,16+256,spr%,"scrback",0,16+scrstep%,20,1260,48
�$�:�>endtime%:paused%=�:flash%=�
�
�flash% �
�Ȗ:Ȏ (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)<>"/" �
8!�scroll$="@":scroll$=�38," ")
Bscrollmax%+=�scroll$+1
L�:��#file%
V-� scrolladdr% scrollmax%:i%=0:�#file%=0:�
`'scroll$=�#file%:�scroll$,1)<>"/" �
j!�scroll$="@":scroll$=�38," ")
t:�j%=1��scroll$:scrolladdr%?(i%+j%-1)=��scroll$,j%,1):�
~#scrolladdr%?(i%+j%-1)=32:i%+=j%
��:��#file%:�#file%:�
�
�/��choosepics:�"FX112,2":�170Ȝ0:�:�mouseoff
�,ȗ�1,120,0,240:ȗ�3,80,0,160:Ȏ skill% �
�� 1:numpics%=4
�� 2:numpics%=6
�� 3:numpics%=8
�� 4:numpics%=12
��
�$�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
2: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
F7�:�:pic%()=0:�"FX112,1":�19,0,24,130,130,130:�clear
P!�ptr(1):�:�:ȗxx%,yy%,button%
Z7�button%:xx%=xx%�4*4:yy%=yy%�4*4:px%=(xx%-96)/136+1
d"py%=(yy%-256)/136:Ȏ button% �
n_�4:�totalpics%<numpics% � chosen%(px%,py%)=0:chosen%(px%,py%)=1:totalpics%+=1:�indicatepics
xX�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
�<�chosen%(x%,y%)=1:pic%(counter%)=x%+(y%-1)*8:counter%+=1
�	�:�:�
�
�+��indicatepics:�x%=1�8:�y%=1�3:�12Ȝ192
��chosen%(x%,y%)=0:�42Ȝ0
�*ȓ(x%-1)*136+92,y%*136+252,132,132:�:�
��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)
6$�text("Left button...",64,220,2)
@%�text("Right button...",64,232,2)
J&�text("Middle button...",64,244,2)
T#�text("sets square",1256,220,6)
^%�text("unsets square",1256,232,6)
h#�text("starts game",1256,244,6)
r ȗ�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:�:�
�&�"FX112,1":�0Ȝ0:ȓ316,188,644,644
�;ȗȓ320,192,636,636:�19,0,24,130,130,130:�clear:�ptr(1)
��mouseon
�4�:�:ȗxx%,yy%,button%:�button%:gx%=(xx%-320)/128
�$gy%=(700-yy%)/128+1:Ȏ button% �
� � 1:�shapegrid%(gx%,gy%)=1 �
�shapegrid%(gx%,gy%)=0
�:ș&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;:�
03�:blank%=�:�y%=0�4:�shapegrid%(0,y%)=1:blank%=�
:�:�blank%=� �
D=�x%=1�4:�y%=0�4:shapegrid%(x%-1,y%)=shapegrid%(x%,y%):�:�
N �y%=0�4:shapegrid%(4,y%)=0:�
X�:�blank%=�
b3�:blank%=�:�x%=0�4:�shapegrid%(x%,0)=1:blank%=�
l�:�blank%=� �
v=�y%=1�4:�x%=0�4:shapegrid%(x%,y%-1)=shapegrid%(x%,y%):�:�
� �x%=0�4:shapegrid%(x%,4)=0:�
��:�blank%=�
��23,252:�y%=0�4
�3line$="000":�x%=0�4:line$+=�shapegrid%(x%,y%):�
��("%"+line$):�:�0,0,0
�9x%=4:�:blank%=�:�y%=0�4:�shapegrid%(x%,y%)=1:blank%=�
��:x%-=1:�blank%=� � x%=-1
�shapew%=x%+2
�9y%=4:�:blank%=�:�x%=0�4:�shapegrid%(x%,y%)=1:blank%=�
��: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$>" " �
4<type$="letterp-"+�alphpart%(partx%,party%,�(letter$)-65)
>/ș&2E,34+256,spr%,type$,x%*128,y%*128+192,0
H7�:ș&2E,34+256,spr%,"letterp-0",x%*128,y%*128+192,0
R�
\�:�:�:�
f
p!��initletters:��tt^:�i%,x%,y%
z�alphpart%(1,4,25)
�9�i%=0�25:�y%=0�4:�x%=0�1:�alphpart%(x%,y%,i%):�x%:�y%
�	�i%:�
�
�9��printword(word$):�x%,y%,letter$,partx%,party%,type$
��x%=0�9:�y%=0�4
�4letter$=�word$,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
�=�:ș&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% �
8h%=xx%:v%=yy%:number%+=1
B*num%=0:�x%=0�shapew%-1:�y%=0�shapeh%-1
LR�shapegrid%(x%,shapeh%-y%-1)=1:num%+=1:turnx%(num%)=xx%+x%:turny%(num%)=yy%+y%
V5�:�:�turnover(num%):shapes%(current%)+=1:I%=�(10)
`�:�:�:�number%>0 �
j@text$="You've made "+�number%+" shape":�number%>1:text$+="s"
t<bonus%=2*num%-1:text$+="! (bonus "+�(number%*bonus%)+")"
~$score%(current%)+=number%*bonus%
�col%=1:�current%=2:col%=4
�0�slab(0,832,1276,60):�text(text$,-1,36,col%)
�
I%=�(200)
��:�
�
� ��text(text$,x%,y%,col%):�i%
�%�+(11+col%):�i%=0�7:�shades%?i%:�
��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%
�
(2ș"TextFX_PrintText",1,text$,x%,y%,shades%,0:�
2
<-� 16,17,18,19,60,61,62,63:REM         Red
F/� 64,65,66,67,108,109,110,111:REM     Green
P0� 80,81,82,83,124,125,126,127:REM     Yellow
Z.� 128,129,130,131,172,173,174,175:REM Blue
d1� 144,145,146,147,188,189,190,191:REM Magenta
n.� 192,193,194,195,236,237,238,239:REM Cyan
x/� 208,209,210,211,252,253,254,255:REM White
�0� 132,133,134,135,184,185,186,187:REM Purple
�:
�:
�6� 208,208,208,208,208,208,208,208:REM Uniform grey
�
�)� 1,2,7,10,16,17,7,10,8,11:REM      A
�)� 5,2,7,10,16,39,7,10,6,4:REM       B
�)� 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
6)� 9,12,41,10,25,22,7,42,8,11:REM    N
@)� 1,2,7,10,7,10,7,10,3,4:REM        O
J)� 5,2,7,10,40,4,7,0,8,0:REM         P
T)� 1,2,7,10,7,10,7,10,3,43:REM       Q
^)� 5,2,7,10,16,39,7,10,8,11:REM      R
h)� 1,2,50,11,51,52,9,53,3,4:REM      S
r)� 31,32,33,34,33,34,33,34,37,38:REM T
|)� 9,12,7,10,7,10,7,10,3,4:REM       U
�)� 9,12,7,10,7,10,48,61,49,62:REM    V
�)� 9,12,7,10,7,10,21,22,19,20:REM    W
�)� 44,45,46,47,33,34,54,55,59,60:REM X
�)� 44,45,46,47,33,34,33,34,37,38:REM Y
�)� 56,57,0,61,58,62,28,0,6,14:REM    Z
�
���mouseon:�"Animate On":�
�
�$��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:�
 &
 0(� �armcode:� dispace%,i%,pass%,code%
 :@� dispace% 80*64:time%=32:�i%=0�80*64:dispace%?i%=�(time%):�
 D/�code% 512:�pass%=0�2�2:P%=code%:[OPT pass%
 N?.scr1 EQUD &1FD8000:.scr2 EQUD &1FEC000:.diss EQUD dispace%
 XG.clear:STMFD R13!,{R0-R12,R14}:MOV R12,#320:LDR R0,scr1:LDR R1,scr2
 bHLDR R2,diss:MOV R3,#time%:.loop1:MOV R4,#79:.loop2:MOV R5,#63:.loop3
 l:ADD R6,R4,R5,LSL #6:LDRB R6,[R2,R6]:CMP R6,R3:BNE next
 v.MLA R7,R5,R12,R4:ADD R8,R7,R0:ADD R9,R7,R1
 �%STMFD R13!,{R0-R4}:ADR R4,offsets
 �]:�i%=1�4:[OPT pass%
 �LDMIA R4!,{R0-R3}
 �GLDRB R10,[R9,R0]:LDRB R11,[R8,R0]:STRB R10,[R8,R0]:STRB R11,[R9,R0]
 �GLDRB 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]
 �GLDRB R10,[R9,R3]:LDRB R11,[R8,R3]:STRB R10,[R8,R3]:STRB R11,[R9,R3]
 �]:�:[OPT pass%
 �LDMFD 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
! ]�:�
!*
!4E� �readfiles(dir$,filetype%):� curfile%,file%,name$,name%,number%
!>$curfile%=1:fname$()="":file%=0:�
!H;ș "OS_GBPB",10,dir$,block%,1,file%,63,"*" � ,,,number%
!Rname$="":name%=&14
!\ȕ block%?name%<>0
!f#name$+=�(block%?name%):name%+=1
!p�
!zI�((!block% >>> 8)� &FFF)=filetype%:fname$(curfile%)=name$:curfile%+=1
!�$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 33 2e  | (!WordPairs v3.|
00000020  33 30 29 0d 00 14 30 f4  20 42 72 6f 75 67 68 74  |30)...0. Brought|
00000030  20 74 6f 20 79 6f 75 20  62 79 20 2a 2a 2a 20 44  | to you by *** D|
00000040  75 6e 67 65 6f 6e 20 53  6f 66 74 77 61 72 65 20  |ungeon Software |
00000050  2a 2a 2a 0d 00 1e 21 f4  20 a9 20 41 72 63 68 69  |***...!. . Archi|
00000060  6d 65 64 65 73 20 57 6f  72 6c 64 20 4a 75 6e 65  |medes World June|
00000070  20 27 39 32 0d 00 28 17  ee 85 3a 73 61 76 65 74  | '92..(...:savet|
00000080  61 62 25 3d a3 3a e5 8d  44 46 40 0d 00 32 21 66  |ab%=.:..DF@..2!f|
00000090  69 6c 65 25 3d ae 22 3c  57 6f 72 64 50 61 69 72  |ile%=."<WordPair|
000000a0  24 44 69 72 3e 2e 44 75  6d 6d 79 22 0d 00 3c 35  |$Dir>.Dummy"..<5|
000000b0  d9 23 66 69 6c 65 25 3a  ff 22 44 65 6c 65 74 65  |.#file%:."Delete|
000000c0  20 3c 57 6f 72 64 50 61  69 72 24 44 69 72 3e 2e  | <WordPair$Dir>.|
000000d0  44 75 6d 6d 79 22 3a 73  61 76 65 74 61 62 25 3d  |Dummy":savetab%=|
000000e0  b9 0d 00 46 1e ee 85 3a  eb 30 3a 87 3a f6 3a f1  |...F...:.0:.:.:.|
000000f0  22 20 61 74 20 6c 69 6e  65 20 22 3b 9e 3a e0 0d  |" at line ";.:..|
00000100  00 50 43 f2 69 6e 69 74  3a 2a 49 46 20 22 3c 54  |.PC.init:*IF "<T|
00000110  72 61 63 6b 65 72 24 3e  22 3d 22 59 65 73 22 20  |racker$>"="Yes" |
00000120  54 48 45 4e 20 50 6c 61  79 49 6e 69 74 20 3c 57  |THEN PlayInit <W|
00000130  6f 72 64 50 61 69 72 24  44 69 72 3e 2e 54 75 6e  |ordPair$Dir>.Tun|
00000140  65 31 0d 00 5a 25 ff 22  48 6f 75 72 67 6c 61 73  |e1..Z%."Hourglas|
00000150  73 20 4f 66 66 22 3a c8  97 ee 33 3a e3 63 25 3d  |s Off":...3:.c%=|
00000160  31 35 b8 30 88 2d 31 0d  00 64 21 c8 97 fb 31 2c  |15.0.-1..d!...1,|
00000170  28 31 34 30 2f 31 35 29  2a 63 25 2c 28 38 30 2f  |(140/15)*c%,(80/|
00000180  31 35 29 2a 63 25 2c 30  0d 00 6e 22 c8 97 fb 32  |15)*c%,0..n"...2|
00000190  2c 28 31 38 30 2f 31 35  29 2a 63 25 2c 28 31 32  |,(180/15)*c%,(12|
000001a0  30 2f 31 35 29 2a 63 25  2c 30 0d 00 78 2c c8 97  |0/15)*c%,0..x,..|
000001b0  fb 33 2c 28 31 38 30 2f  31 35 29 2a 63 25 2c 28  |.3,(180/15)*c%,(|
000001c0  31 38 30 2f 31 35 29 2a  63 25 2c 28 31 38 30 2f  |180/15)*c%,(180/|
000001d0  31 35 29 2a 63 25 0d 00  82 17 c8 96 3a ed 3a c8  |15)*c%......:.:.|
000001e0  97 87 3a c8 97 b8 36 34  30 2c 35 31 32 0d 00 8c  |..:...640,512...|
000001f0  1d ff 22 46 58 31 31 32  2c 32 22 3a db 3a d6 63  |.."FX112,2":.:.c|
00000200  6c 65 61 72 3a c8 99 26  33 36 0d 00 96 13 c8 97  |lear:..&36......|
00000210  88 32 2c 32 3a f2 74 69  74 6c 65 3a e0 0d 00 a0  |.2,2:.title:....|
00000220  04 0d 00 aa 1f dd f2 6c  6f 61 64 73 70 72 69 74  |.......loadsprit|
00000230  65 73 3a ea 20 66 69 6c  65 25 2c 72 72 6f 6d 25  |es:. file%,rrom%|
00000240  0d 00 b4 36 c8 99 22 4f  53 5f 46 69 6c 65 22 2c  |...6.."OS_File",|
00000250  35 2c 22 3c 57 6f 72 64  50 61 69 72 24 44 69 72  |5,"<WordPair$Dir|
00000260  3e 2e 53 70 72 69 74 65  73 22 20 b8 20 2c 2c 2c  |>.Sprites" . ,,,|
00000270  2c 72 6f 6f 6d 25 0d 00  be 49 de 73 70 72 25 20  |,room%...I.spr% |
00000280  72 6f 6f 6d 25 2b 33 32  2c 73 63 61 6c 65 25 20  |room%+32,scale% |
00000290  31 36 3a 21 73 70 72 25  3d 72 6f 6f 6d 25 2b 33  |16:!spr%=room%+3|
000002a0  32 3a 73 70 72 25 21 34  3d 30 3a 73 70 72 25 21  |2:spr%!4=0:spr%!|
000002b0  38 3d 31 36 3a 73 70 72  25 21 31 32 3d 31 36 0d  |8=16:spr%!12=16.|
000002c0  00 c8 30 c8 99 26 32 45  2c 31 30 2b 32 35 36 2c  |..0..&2E,10+256,|
000002d0  73 70 72 25 2c 22 3c 57  6f 72 64 50 61 69 72 24  |spr%,"<WordPair$|
000002e0  44 69 72 3e 2e 53 70 72  69 74 65 73 22 3a e1 0d  |Dir>.Sprites":..|
000002f0  00 d2 04 0d 00 dc 30 dd  f2 63 6f 75 6e 74 77 6f  |......0..countwo|
00000300  72 64 73 3a ea 69 25 2c  66 69 6c 65 25 3a 77 6f  |rds:.i%,file%:wo|
00000310  72 64 73 25 28 29 3d 30  3a 6d 61 78 77 6f 72 64  |rds%()=0:maxword|
00000320  25 3d 30 0d 00 e6 14 e3  69 25 3d 31 b8 77 6f 72  |%=0.....i%=1.wor|
00000330  64 66 69 6c 65 73 25 0d  00 f0 2f 66 69 6c 65 25  |dfiles%.../file%|
00000340  3d 8e 28 22 3c 57 6f 72  64 50 61 69 72 24 44 69  |=.("<WordPair$Di|
00000350  72 3e 2e 57 6f 72 64 73  2e 22 2b 66 6e 61 6d 65  |r>.Words."+fname|
00000360  24 28 69 25 29 29 0d 00  fa 20 f5 3a e7 20 9a 23  |$(i%))... .:. .#|
00000370  66 69 6c 65 25 3d 31 30  3a 77 6f 72 64 73 25 28  |file%=10:words%(|
00000380  69 25 29 2b 3d 31 0d 01  04 3d fd c5 23 66 69 6c  |i%)+=1...=..#fil|
00000390  65 25 3a d9 23 66 69 6c  65 25 3a e7 77 6f 72 64  |e%:.#file%:.word|
000003a0  73 25 28 69 25 29 3e 6d  61 78 77 6f 72 64 25 3a  |s%(i%)>maxword%:|
000003b0  6d 61 78 77 6f 72 64 25  3d 77 6f 72 64 73 25 28  |maxword%=words%(|
000003c0  69 25 29 0d 01 0e 07 ed  3a e1 0d 01 18 04 0d 01  |i%).....:.......|
000003d0  22 30 dd f2 6c 6f 61 64  77 6f 72 64 73 3a ea 20  |"0..loadwords:. |
000003e0  66 69 6c 65 25 2c 69 25  2c 6a 25 2c 73 74 72 69  |file%,i%,j%,stri|
000003f0  6e 67 24 3a 6d 61 78 77  6f 72 64 25 3d 30 0d 01  |ng$:maxword%=0..|
00000400  2c 30 e3 69 25 3d 31 b8  77 6f 72 64 66 69 6c 65  |,0.i%=1.wordfile|
00000410  73 25 3a e7 77 6f 72 64  66 69 6c 65 24 3d 66 6e  |s%:.wordfile$=fn|
00000420  61 6d 65 24 28 69 25 29  3a 6a 25 3d 69 25 0d 01  |ame$(i%):j%=i%..|
00000430  36 30 ed 3a 66 69 6c 65  25 3d 8e 28 22 3c 57 6f  |60.:file%=.("<Wo|
00000440  72 64 50 61 69 72 24 44  69 72 3e 2e 57 6f 72 64  |rdPair$Dir>.Word|
00000450  73 2e 22 2b 77 6f 72 64  66 69 6c 65 24 29 0d 01  |s."+wordfile$)..|
00000460  40 31 6d 61 78 77 6f 72  64 25 3d 77 6f 72 64 73  |@1maxword%=words|
00000470  25 28 6a 25 29 3a e3 69  25 3d 31 b8 6d 61 78 77  |%(j%):.i%=1.maxw|
00000480  6f 72 64 25 3a 73 74 72  69 6e 67 24 3d 22 22 0d  |ord%:string$="".|
00000490  01 4a 2e f5 3a 62 79 74  65 25 3d 9a 23 66 69 6c  |.J..:byte%=.#fil|
000004a0  65 25 3a e7 62 79 74 65  25 3c 3e 31 30 3a 73 74  |e%:.byte%<>10:st|
000004b0  72 69 6e 67 24 2b 3d bd  62 79 74 65 25 0d 01 54  |ring$+=.byte%..T|
000004c0  35 fd 62 79 74 65 25 3d  31 30 3a 77 6f 72 64 24  |5.byte%=10:word$|
000004d0  28 69 25 29 3d c0 73 74  72 69 6e 67 24 2b 22 20  |(i%)=.string$+" |
000004e0  20 20 20 20 22 2c 35 29  3a ed 3a d9 23 66 69 6c  |    ",5):.:.#fil|
000004f0  65 25 0d 01 5e 05 e1 0d  01 68 04 0d 01 72 2e dd  |e%..^....h...r..|
00000500  f2 69 6e 69 74 3a ea 6c  69 6e 65 24 2c 78 25 2c  |.init:.line$,x%,|
00000510  79 25 3a 77 6f 72 64 66  69 6c 65 24 3d 22 35 4c  |y%:wordfile$="5L|
00000520  65 74 74 65 72 4d 69 78  22 0d 01 7c 2d e3 69 25  |etterMix"..|-.i%|
00000530  3d 33 32 b8 32 35 35 3a  c8 99 22 54 65 78 74 46  |=32.255:.."TextF|
00000540  58 5f 43 61 6c 63 75 6c  61 74 65 57 69 64 74 68  |X_CalculateWidth|
00000550  22 2c 69 25 3a ed 0d 01  86 1c c8 99 22 54 65 78  |",i%:......."Tex|
00000560  74 46 58 5f 53 65 74 57  69 64 74 68 22 2c 33 32  |tFX_SetWidth",32|
00000570  2c 34 0d 01 90 2f ff 22  46 58 34 2c 31 22 3a 70  |,4.../."FX4,1":p|
00000580  6c 61 79 65 72 73 25 3d  31 3a 63 6f 6d 77 6f 72  |layers%=1:comwor|
00000590  64 73 25 3d b9 3a 77 6f  72 64 74 79 70 65 25 3d  |ds%=.:wordtype%=|
000005a0  31 0d 01 9a 36 73 6b 69  6c 6c 25 3d 31 3a 74 75  |1...6skill%=1:tu|
000005b0  6e 65 25 3d 31 3a c8 99  26 34 30 31 34 33 20 b8  |ne%=1:..&40143 .|
000005c0  20 73 70 65 61 6b 25 3a  73 70 65 61 6b 25 3d 33  | speak%:speak%=3|
000005d0  2d 73 70 65 61 6b 25 0d  01 a4 19 de 62 6c 6f 63  |-speak%.....bloc|
000005e0  6b 25 20 36 34 2c 66 6e  61 6d 65 24 28 32 35 29  |k% 64,fname$(25)|
000005f0  0d 01 ae 36 77 6f 72 64  66 69 6c 65 73 25 3d a4  |...6wordfiles%=.|
00000600  72 65 61 64 66 69 6c 65  73 28 22 3c 57 6f 72 64  |readfiles("<Word|
00000610  50 61 69 72 24 44 69 72  3e 2e 57 6f 72 64 73 22  |Pair$Dir>.Words"|
00000620  2c 26 46 46 46 29 0d 01  b8 2c de 77 6f 72 64 73  |,&FFF)...,.words|
00000630  25 28 32 35 29 3a f2 63  6f 75 6e 74 77 6f 72 64  |%(25):.countword|
00000640  73 3a de 77 6f 72 64 24  28 6d 61 78 77 6f 72 64  |s:.word$(maxword|
00000650  25 29 0d 01 c2 48 de 73  63 6f 72 65 25 28 32 29  |%)...H.score%(2)|
00000660  2c 74 72 69 65 73 25 28  32 29 2c 74 69 6c 65 73  |,tries%(2),tiles|
00000670  25 28 32 29 2c 73 74 72  25 28 38 29 2c 67 72 69  |%(2),str%(8),gri|
00000680  64 25 28 31 30 2c 35 29  2c 6e 61 6d 65 24 28 32  |d%(10,5),name$(2|
00000690  29 2c 75 73 65 72 24 28  32 29 0d 01 cc 47 de 64  |),user$(2)...G.d|
000006a0  69 73 70 6c 61 79 24 28  32 29 2c 68 69 67 68 24  |isplay$(2),high$|
000006b0  28 31 30 29 2c 68 69 67  68 25 28 31 30 29 2c 67  |(10),high%(10),g|
000006c0  72 69 64 32 25 28 31 30  2c 35 29 2c 70 69 63 25  |rid2%(10,5),pic%|
000006d0  28 32 34 29 2c 63 68 6f  73 65 6e 25 28 38 2c 33  |(24),chosen%(8,3|
000006e0  29 0d 01 d6 41 de 73 68  61 70 65 73 25 28 32 29  |)...A.shapes%(2)|
000006f0  2c 73 68 61 70 65 67 72  69 64 25 28 34 2c 34 29  |,shapegrid%(4,4)|
00000700  2c 63 68 61 6e 67 65 78  25 28 32 29 2c 63 68 61  |,changex%(2),cha|
00000710  6e 67 65 79 25 28 32 29  2c 73 68 61 64 65 73 25  |ngey%(2),shades%|
00000720  20 38 0d 01 e0 1a de 74  75 72 6e 78 25 28 32 35  | 8.....turnx%(25|
00000730  29 2c 74 75 72 6e 79 25  28 32 35 29 0d 01 ea 33  |),turny%(25)...3|
00000740  f2 6c 6f 61 64 73 70 72  69 74 65 73 3a f2 6c 6f  |.loadsprites:.lo|
00000750  61 64 77 6f 72 64 73 3a  f2 6c 6f 61 64 74 61 62  |adwords:.loadtab|
00000760  6c 65 3a f2 69 6e 69 74  6c 65 74 74 65 72 73 0d  |le:.initletters.|
00000770  01 f4 38 f2 69 6e 69 74  74 75 6e 65 73 3a f2 73  |..8.inittunes:.s|
00000780  65 74 75 70 73 63 72 6f  6c 6c 3a f2 61 72 6d 63  |etupscroll:.armc|
00000790  6f 64 65 3a 73 68 61 70  65 77 25 3d 32 3a 73 68  |ode:shapew%=2:sh|
000007a0  61 70 65 68 25 3d 32 0d  01 fe 20 f7 8d 54 66 42  |apeh%=2... ..TfB|
000007b0  3a e3 79 25 3d 30 b8 34  3a f3 6c 69 6e 65 24 3a  |:.y%=0.4:.line$:|
000007c0  e3 78 25 3d 30 b8 34 0d  02 08 2b 73 68 61 70 65  |.x%=0.4...+shape|
000007d0  67 72 69 64 25 28 78 25  2c 79 25 29 3d bb c1 6c  |grid%(x%,y%)=..l|
000007e0  69 6e 65 24 2c 78 25 2b  31 2c 31 29 3a ed 3a ed  |ine$,x%+1,1):.:.|
000007f0  3a e1 0d 02 12 04 0d 02  1c 19 f4 20 44 65 66 61  |:.......... Defa|
00000800  75 6c 74 20 62 6f 6e 75  73 20 73 68 61 70 65 0d  |ult bonus shape.|
00000810  02 26 0b dc 20 31 31 30  30 30 0d 02 30 0b dc 20  |.&.. 11000..0.. |
00000820  31 31 30 30 30 0d 02 3a  0b dc 20 30 30 30 30 30  |11000..:.. 00000|
00000830  0d 02 44 0b dc 20 30 30  30 30 30 0d 02 4e 0b dc  |..D.. 00000..N..|
00000840  20 30 30 30 30 30 0d 02  58 04 0d 02 62 30 dd f2  | 00000..X...b0..|
00000850  69 6e 69 74 67 72 69 64  3a 67 72 69 64 25 28 29  |initgrid:grid%()|
00000860  3d 30 3a ea 61 25 2c 62  25 2c 78 25 2c 79 25 2c  |=0:.a%,b%,x%,y%,|
00000870  6d 61 25 2c 6d 62 25 2c  41 25 0d 02 6c 21 41 25  |ma%,mb%,A%..l!A%|
00000880  3d b3 28 2d bb c1 91 24  2c 32 33 2c 32 29 29 3a  |=.(-...$,23,2)):|
00000890  c8 8e 20 73 6b 69 6c 6c  25 20 ca 0d 02 76 13 c9  |.. skill% ...v..|
000008a0  31 3a 6d 61 25 3d 34 3a  6d 62 25 3d 31 32 0d 02  |1:ma%=4:mb%=12..|
000008b0  80 12 c9 32 3a 6d 61 25  3d 36 3a 6d 62 25 3d 38  |...2:ma%=6:mb%=8|
000008c0  0d 02 8a 12 c9 33 3a 6d  61 25 3d 38 3a 6d 62 25  |.....3:ma%=8:mb%|
000008d0  3d 36 0d 02 94 13 c9 34  3a 6d 61 25 3d 31 32 3a  |=6.....4:ma%=12:|
000008e0  6d 62 25 3d 34 0d 02 9e  13 c9 35 3a 6d 61 25 3d  |mb%=4.....5:ma%=|
000008f0  32 34 3a 6d 62 25 3d 32  0d 02 a8 2c cb 3a e3 61  |24:mb%=2...,.:.a|
00000900  25 3d 31 b8 6d 61 25 3a  e3 62 25 3d 31 b8 6d 62  |%=1.ma%:.b%=1.mb|
00000910  25 3a f5 3a 78 25 3d b3  28 31 30 29 3a 79 25 3d  |%:.:x%=.(10):y%=|
00000920  b3 28 35 29 0d 02 b2 37  fd 67 72 69 64 25 28 78  |.(5)...7.grid%(x|
00000930  25 2c 79 25 29 3d 30 3a  67 72 69 64 25 28 78 25  |%,y%)=0:grid%(x%|
00000940  2c 79 25 29 3d 70 69 63  25 28 61 25 29 3a ed 3a  |,y%)=pic%(a%):.:|
00000950  ed 3a e3 61 25 3d 31 b8  32 3a f5 0d 02 bc 36 78  |.:.a%=1.2:....6x|
00000960  25 3d b3 28 31 30 29 3a  79 25 3d b3 28 35 29 3a  |%=.(10):y%=.(5):|
00000970  fd 67 72 69 64 25 28 78  25 2c 79 25 29 3d 30 3a  |.grid%(x%,y%)=0:|
00000980  67 72 69 64 25 28 78 25  2c 79 25 29 3d 32 35 3a  |grid%(x%,y%)=25:|
00000990  ed 0d 02 c6 16 67 72 69  64 32 25 28 29 3d 67 72  |.....grid2%()=gr|
000009a0  69 64 25 28 29 3a e1 0d  02 d0 04 0d 02 da 2e dd  |id%():..........|
000009b0  f2 73 6c 61 62 28 78 25  2c 79 25 2c 77 25 2c 68  |.slab(x%,y%,w%,h|
000009c0  25 29 3a e6 34 32 c8 9c  30 3a c8 93 c8 90 78 25  |%):.42..0:....x%|
000009d0  2c 79 25 2c 77 25 2c 68  25 0d 02 e4 32 e6 36 33  |,y%,w%,h%...2.63|
000009e0  c8 9c 30 3a ec 78 25 2c  79 25 2b 68 25 3a ec 78  |..0:.x%,y%+h%:.x|
000009f0  25 2b 38 2c 79 25 2b 68  25 2d 38 3a f0 38 35 2c  |%+8,y%+h%-8:.85,|
00000a00  78 25 2b 77 25 2c 79 25  2b 68 25 0d 02 ee 38 f0  |x%+w%,y%+h%...8.|
00000a10  38 35 2c 78 25 2b 77 25  2d 38 2c 79 25 2b 68 25  |85,x%+w%-8,y%+h%|
00000a20  2d 38 3a e6 34 32 c8 9c  31 32 38 3a ec 78 25 2c  |-8:.42..128:.x%,|
00000a30  79 25 2b 68 25 3a ec 78  25 2b 38 2c 79 25 2b 68  |y%+h%:.x%+8,y%+h|
00000a40  25 2d 38 0d 02 f8 34 f0  38 35 2c 78 25 2c 79 25  |%-8...4.85,x%,y%|
00000a50  3a f0 38 35 2c 78 25 2b  38 2c 79 25 2b 38 3a e6  |:.85,x%+8,y%+8:.|
00000a60  32 31 c8 9c 30 3a ec 78  25 2c 79 25 3a ec 78 25  |21..0:.x%,y%:.x%|
00000a70  2b 38 2c 79 25 2b 38 0d  03 02 34 f0 38 35 2c 78  |+8,y%+8...4.85,x|
00000a80  25 2b 77 25 2c 79 25 3a  f0 38 35 2c 78 25 2b 77  |%+w%,y%:.85,x%+w|
00000a90  25 2d 38 2c 79 25 2b 38  3a e6 32 31 c8 9c 31 32  |%-8,y%+8:.21..12|
00000aa0  38 3a ec 78 25 2b 77 25  2c 79 25 0d 03 0c 37 ec  |8:.x%+w%,y%...7.|
00000ab0  78 25 2b 77 25 2d 38 2c  79 25 2b 38 3a f0 38 35  |x%+w%-8,y%+8:.85|
00000ac0  2c 78 25 2b 77 25 2c 79  25 2b 68 25 3a f0 38 35  |,x%+w%,y%+h%:.85|
00000ad0  2c 78 25 2b 77 25 2d 38  2c 79 25 2b 68 25 2d 38  |,x%+w%-8,y%+h%-8|
00000ae0  3a e1 0d 03 16 04 0d 03  20 1d dd f2 62 6f 61 72  |:....... ...boar|
00000af0  64 3a db 3a e3 78 25 3d  30 b8 39 3a e3 79 25 3d  |d:.:.x%=0.9:.y%=|
00000b00  30 b8 34 0d 03 2a 39 c8  99 26 32 45 2c 33 34 2b  |0.4..*9..&2E,34+|
00000b10  32 35 36 2c 73 70 72 25  2c 22 67 72 69 64 2d 73  |256,spr%,"grid-s|
00000b20  6c 61 62 22 2c 78 25 2a  31 32 38 2c 79 25 2a 31  |lab",x%*128,y%*1|
00000b30  32 38 2b 31 39 32 2c 30  3a ed 3a ed 0d 03 34 0e  |28+192,0:.:...4.|
00000b40  f2 67 61 6d 65 74 69 74  6c 65 0d 03 3e 0d f2 73  |.gametitle..>..s|
00000b50  63 6f 72 65 73 3a e1 0d  03 48 04 0d 03 52 0f dd  |cores:...H...R..|
00000b60  f2 67 61 6d 65 74 69 74  6c 65 0d 03 5c 29 c8 99  |.gametitle..\)..|
00000b70  26 32 45 2c 33 34 2b 32  35 36 2c 73 70 72 25 2c  |&2E,34+256,spr%,|
00000b80  22 67 61 6d 65 74 69 74  6c 65 22 2c 30 2c 38 39  |"gametitle",0,89|
00000b90  36 2c 30 0d 03 66 1a f2  73 6c 61 62 28 36 34 30  |6,0..f..slab(640|
00000ba0  2c 38 39 36 2c 36 33 36  2c 31 32 34 29 0d 03 70  |,896,636,124)..p|
00000bb0  29 c8 99 26 32 45 2c 33  34 2b 32 35 36 2c 73 70  |)..&2E,34+256,sp|
00000bc0  72 25 2c 22 70 69 6e 6b  62 6c 6f 63 6b 22 2c 36  |r%,"pinkblock",6|
00000bd0  35 36 2c 39 32 30 0d 03  7a 29 c8 99 26 32 45 2c  |56,920..z)..&2E,|
00000be0  33 34 2b 32 35 36 2c 73  70 72 25 2c 22 70 69 6e  |34+256,spr%,"pin|
00000bf0  6b 62 6c 6f 63 6b 22 2c  36 35 36 2c 39 36 38 0d  |kblock",656,968.|
00000c00  03 84 2b f2 74 65 78 74  28 22 50 72 65 73 73 20  |..+.text("Press |
00000c10  45 53 43 41 50 45 20 66  6f 72 20 6d 65 6e 75 22  |ESCAPE for menu"|
00000c20  2c 31 37 35 2c 31 38 2c  38 29 0d 03 8e 0f e7 74  |,175,18,8).....t|
00000c30  75 6e 65 73 25 3d 30 20  8c 0d 03 98 2a f2 74 65  |unes%=0 ....*.te|
00000c40  78 74 28 22 57 72 69 74  74 65 6e 20 62 79 20 53  |xt("Written by S|
00000c50  69 6d 6f 6e 20 48 65 79  73 22 2c 31 37 35 2c 36  |imon Heys",175,6|
00000c60  2c 38 29 0d 03 a2 05 cc  0d 03 ac 35 f2 74 65 78  |,8)........5.tex|
00000c70  74 28 22 50 72 65 73 73  20 30 2d 22 2b c3 74 75  |t("Press 0-"+.tu|
00000c80  6e 65 73 25 2b 22 20 66  6f 72 20 6e 65 77 20 74  |nes%+" for new t|
00000c90  75 6e 65 22 2c 31 37 35  2c 36 2c 38 29 0d 03 b6  |une",175,6,8)...|
00000ca0  05 cd 0d 03 c0 0d f2 73  63 6f 72 65 73 3a e1 0d  |.......scores:..|
00000cb0  03 ca 04 0d 03 d4 38 dd  f2 73 63 6f 72 65 73 3a  |......8..scores:|
00000cc0  f2 73 6c 61 62 28 30 2c  30 2c 36 33 36 2c 31 38  |.slab(0,0,636,18|
00000cd0  38 29 3a f2 74 65 78 74  28 6e 61 6d 65 24 28 31  |8):.text(name$(1|
00000ce0  29 2c 31 36 2c 32 31 33  2c 31 29 0d 03 de 39 c8  |),16,213,1)...9.|
00000cf0  99 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  |.&2E,34+256,spr%|
00000d00  2c 22 70 6c 61 79 65 72  31 2d 22 2b c3 28 2d 28  |,"player1-"+.(-(|
00000d10  63 75 72 72 65 6e 74 25  3d 31 29 29 2c 31 36 2c  |current%=1)),16,|
00000d20  31 36 2c 38 0d 03 e8 3b  f2 74 65 78 74 28 22 53  |16,8...;.text("S|
00000d30  63 6f 72 65 2e 2e 2e 22  2c 31 36 2c 32 32 34 2c  |core...",16,224,|
00000d40  31 29 3a f2 74 65 78 74  28 c3 73 63 6f 72 65 25  |1):.text(.score%|
00000d50  28 31 29 2c 31 31 35 32  2c 32 32 34 2c 31 29 0d  |(1),1152,224,1).|
00000d60  03 f2 3d f2 74 65 78 74  28 22 53 68 61 70 65 73  |..=.text("Shapes|
00000d70  2e 2e 2e 22 2c 31 36 2c  32 33 34 2c 31 29 3a f2  |...",16,234,1):.|
00000d80  74 65 78 74 28 c3 73 68  61 70 65 73 25 28 31 29  |text(.shapes%(1)|
00000d90  2c 31 31 35 32 2c 32 33  34 2c 31 29 0d 03 fc 3b  |,1152,234,1)...;|
00000da0  f2 74 65 78 74 28 22 54  72 69 65 73 2e 2e 2e 22  |.text("Tries..."|
00000db0  2c 31 36 2c 32 34 34 2c  31 29 3a f2 74 65 78 74  |,16,244,1):.text|
00000dc0  28 c3 74 72 69 65 73 25  28 31 29 2c 31 31 35 32  |(.tries%(1),1152|
00000dd0  2c 32 34 34 2c 31 29 0d  04 06 19 f2 74 65 78 74  |,244,1).....text|
00000de0  28 bd 32 35 32 2c 31 34  34 2c 32 31 33 2c 31 29  |(.252,144,213,1)|
00000df0  0d 04 10 18 f2 73 6c 61  62 28 36 34 30 2c 30 2c  |.....slab(640,0,|
00000e00  36 33 36 2c 31 38 38 29  0d 04 1a 11 e7 70 6c 61  |636,188).....pla|
00000e10  79 65 72 73 25 3d 32 20  8c 0d 04 24 1d f2 74 65  |yers%=2 ...$..te|
00000e20  78 74 28 6e 61 6d 65 24  28 32 29 2c 31 37 36 2c  |xt(name$(2),176,|
00000e30  32 31 33 2c 34 29 0d 04  2e 3a c8 99 26 32 45 2c  |213,4)...:..&2E,|
00000e40  33 34 2b 32 35 36 2c 73  70 72 25 2c 22 70 6c 61  |34+256,spr%,"pla|
00000e50  79 65 72 32 2d 22 2b c3  28 2d 28 63 75 72 72 65  |yer2-"+.(-(curre|
00000e60  6e 74 25 3d 32 29 29 2c  36 35 36 2c 31 36 2c 38  |nt%=2)),656,16,8|
00000e70  0d 04 38 3c f2 74 65 78  74 28 22 53 63 6f 72 65  |..8<.text("Score|
00000e80  2e 2e 2e 22 2c 31 37 36  2c 32 32 34 2c 34 29 3a  |...",176,224,4):|
00000e90  f2 74 65 78 74 28 c3 73  63 6f 72 65 25 28 32 29  |.text(.score%(2)|
00000ea0  2c 31 33 31 32 2c 32 32  34 2c 34 29 0d 04 42 3e  |,1312,224,4)..B>|
00000eb0  f2 74 65 78 74 28 22 53  68 61 70 65 73 2e 2e 2e  |.text("Shapes...|
00000ec0  22 2c 31 37 36 2c 32 33  34 2c 34 29 3a f2 74 65  |",176,234,4):.te|
00000ed0  78 74 28 c3 73 68 61 70  65 73 25 28 32 29 2c 31  |xt(.shapes%(2),1|
00000ee0  33 31 32 2c 32 33 34 2c  34 29 0d 04 4c 3c f2 74  |312,234,4)..L<.t|
00000ef0  65 78 74 28 22 54 72 69  65 73 2e 2e 2e 22 2c 31  |ext("Tries...",1|
00000f00  37 36 2c 32 34 34 2c 34  29 3a f2 74 65 78 74 28  |76,244,4):.text(|
00000f10  c3 74 72 69 65 73 25 28  32 29 2c 31 33 31 32 2c  |.tries%(2),1312,|
00000f20  32 34 34 2c 34 29 0d 04  56 19 f2 74 65 78 74 28  |244,4)..V..text(|
00000f30  bd 32 35 32 2c 33 30 34  2c 32 31 33 2c 34 29 0d  |.252,304,213,4).|
00000f40  04 60 05 cc 0d 04 6a 20  f2 74 65 78 74 28 22 47  |.`....j .text("G|
00000f50  61 6d 65 20 49 6e 66 6f  3a 22 2c 2d 33 2c 32 31  |ame Info:",-3,21|
00000f60  33 2c 31 29 0d 04 74 23  f2 74 65 78 74 28 22 57  |3,1)..t#.text("W|
00000f70  6f 72 64 20 74 79 70 65  2e 2e 2e 22 2c 31 36 38  |ord type...",168|
00000f80  2c 32 32 34 2c 37 29 0d  04 7e 25 f2 74 65 78 74  |,224,7)..~%.text|
00000f90  28 22 53 6b 69 6c 6c 20  6c 65 76 65 6c 2e 2e 2e  |("Skill level...|
00000fa0  22 2c 31 36 38 2c 32 33  34 2c 37 29 0d 04 88 24  |",168,234,7)...$|
00000fb0  f2 74 65 78 74 28 22 54  69 6c 65 73 20 6c 65 66  |.text("Tiles lef|
00000fc0  74 2e 2e 2e 22 2c 31 36  38 2c 32 34 34 2c 37 29  |t...",168,244,7)|
00000fd0  0d 04 92 12 c8 8e 20 77  6f 72 64 74 79 70 65 25  |...... wordtype%|
00000fe0  20 ca 0d 04 9c 25 c9 20  31 3a f2 74 65 78 74 28  | ....%. 1:.text(|
00000ff0  22 53 63 72 61 6d 62 6c  65 64 22 2c 31 33 31 32  |"Scrambled",1312|
00001000  2c 32 32 34 2c 37 29 0d  04 a6 22 c9 20 32 3a f2  |,224,7)...". 2:.|
00001010  74 65 78 74 28 22 4e 6f  72 6d 61 6c 22 2c 31 33  |text("Normal",13|
00001020  31 32 2c 32 32 34 2c 37  29 0d 04 b0 05 cb 0d 04  |12,224,7).......|
00001030  ba 0f c8 8e 20 73 6b 69  6c 6c 25 20 ca 0d 04 c4  |.... skill% ....|
00001040  1a c9 20 31 3a 73 6b 69  6c 6c 24 3d 22 4d 65 67  |.. 1:skill$="Meg|
00001050  61 20 45 61 73 79 22 0d  04 ce 1a c9 20 32 3a 73  |a Easy"..... 2:s|
00001060  6b 69 6c 6c 24 3d 22 56  65 72 79 20 45 61 73 79  |kill$="Very Easy|
00001070  22 0d 04 d8 17 c9 20 33  3a 73 6b 69 6c 6c 24 3d  |"..... 3:skill$=|
00001080  22 53 69 6d 70 6c 65 22  0d 04 e2 1b c9 20 34 3a  |"Simple"..... 4:|
00001090  73 6b 69 6c 6c 24 3d 22  54 75 66 66 20 28 69 73  |skill$="Tuff (is|
000010a0  68 29 22 0d 04 ec 1a c9  20 35 3a 73 6b 69 6c 6c  |h)"..... 5:skill|
000010b0  24 3d 22 4d 65 67 61 20  54 75 66 66 22 0d 04 f6  |$="Mega Tuff"...|
000010c0  05 cb 0d 05 00 1c f2 74  65 78 74 28 73 6b 69 6c  |.......text(skil|
000010d0  6c 24 2c 31 33 31 32 2c  32 33 34 2c 37 29 0d 05  |l$,1312,234,7)..|
000010e0  0a 1c f2 74 65 78 74 28  c3 6c 65 66 74 25 2c 31  |...text(.left%,1|
000010f0  33 31 32 2c 32 34 34 2c  37 29 0d 05 14 07 cd 3a  |312,244,7).....:|
00001100  e1 0d 05 1e 04 0d 05 28  43 dd f2 73 63 61 6c 65  |.......(C..scale|
00001110  28 74 24 2c 78 25 2c 79  25 2c 78 31 25 2c 79 31  |(t$,x%,y%,x1%,y1|
00001120  25 29 3a ea 77 25 2c 68  25 3a 21 73 63 61 6c 65  |%):.w%,h%:!scale|
00001130  25 3d 78 31 25 2d 78 25  3a 73 63 61 6c 65 25 21  |%=x1%-x%:scale%!|
00001140  34 3d 79 31 25 2d 79 25  0d 05 32 40 c8 99 26 32  |4=y1%-y%..2@..&2|
00001150  45 2c 34 30 2b 32 35 36  2c 73 70 72 25 2c 74 24  |E,40+256,spr%,t$|
00001160  20 b8 20 2c 2c 2c 77 25  2c 68 25 3a 73 63 61 6c  | . ,,,w%,h%:scal|
00001170  65 25 21 38 3d 77 25 2a  34 3a 73 63 61 6c 65 25  |e%!8=w%*4:scale%|
00001180  21 31 32 3d 68 25 2a 34  0d 05 3c 2c c8 99 26 32  |!12=h%*4..<,..&2|
00001190  45 2c 35 32 2b 32 35 36  2c 73 70 72 25 2c 74 24  |E,52+256,spr%,t$|
000011a0  2c 78 25 2c 79 25 2c 30  2c 73 63 61 6c 65 25 2c  |,x%,y%,0,scale%,|
000011b0  2d 31 3a e1 0d 05 46 04  0d 05 50 25 dd f2 72 65  |-1:...F...P%..re|
000011c0  76 65 61 6c 28 78 25 2c  79 25 29 3a e6 30 c8 9c  |veal(x%,y%):.0..|
000011d0  30 3a e3 69 25 3d 36 34  b8 30 88 2d 38 0d 05 5a  |0:.i%=64.0.-8..Z|
000011e0  45 f2 73 63 61 6c 65 28  22 67 72 69 64 2d 73 6c  |E.scale("grid-sl|
000011f0  61 62 22 2c 78 25 2a 31  32 38 2d 31 32 38 2c 79  |ab",x%*128-128,y|
00001200  25 2a 31 32 38 2b 31 32  38 2d 69 25 2c 78 25 2a  |%*128+128-i%,x%*|
00001210  31 32 38 2c 79 25 2a 31  32 38 2b 31 32 38 2b 69  |128,y%*128+128+i|
00001220  25 29 0d 05 64 37 c8 96  3a 86 78 25 2a 31 32 38  |%)..d7..:.x%*128|
00001230  2d 31 32 38 2c 79 25 2a  31 32 38 2b 31 32 34 2b  |-128,y%*128+124+|
00001240  69 25 2c 78 25 2a 31 32  38 2d 34 2c 79 25 2a 31  |i%,x%*128-4,y%*1|
00001250  32 38 2b 31 32 34 2b 69  25 0d 05 6e 38 86 78 25  |28+124+i%..n8.x%|
00001260  2a 31 32 38 2d 31 32 38  2c 79 25 2a 31 32 38 2b  |*128-128,y%*128+|
00001270  31 32 34 2b 69 25 2d 34  2c 78 25 2a 31 32 38 2d  |124+i%-4,x%*128-|
00001280  34 2c 79 25 2a 31 32 38  2b 31 32 34 2b 69 25 2d  |4,y%*128+124+i%-|
00001290  34 0d 05 78 34 86 78 25  2a 31 32 38 2d 31 32 38  |4..x4.x%*128-128|
000012a0  2c 79 25 2a 31 32 38 2b  31 32 38 2d 69 25 2c 78  |,y%*128+128-i%,x|
000012b0  25 2a 31 32 38 2d 34 2c  79 25 2a 31 32 38 2b 31  |%*128-4,y%*128+1|
000012c0  32 38 2d 69 25 0d 05 82  3a 86 78 25 2a 31 32 38  |28-i%...:.x%*128|
000012d0  2d 31 32 38 2c 79 25 2a  31 32 38 2b 31 32 38 2d  |-128,y%*128+128-|
000012e0  69 25 2b 34 2c 78 25 2a  31 32 38 2d 34 2c 79 25  |i%+4,x%*128-4,y%|
000012f0  2a 31 32 38 2b 31 32 38  2d 69 25 2b 34 3a ed 0d  |*128+128-i%+4:..|
00001300  05 8c 48 74 69 6c 65 24  3d 22 70 69 63 74 75 72  |..Htile$="pictur|
00001310  65 2d 22 2b c3 67 72 69  64 25 28 78 25 2c 79 25  |e-"+.grid%(x%,y%|
00001320  29 3a e7 74 69 6c 65 24  3d 22 70 69 63 74 75 72  |):.tile$="pictur|
00001330  65 2d 32 35 22 3a 74 69  6c 65 24 3d 22 77 69 6c  |e-25":tile$="wil|
00001340  64 2d 63 61 72 64 22 0d  05 96 11 e3 69 25 3d 30  |d-card".....i%=0|
00001350  b8 36 34 88 38 3a c8 96  0d 05 a0 41 f2 73 63 61  |.64.8:.....A.sca|
00001360  6c 65 28 74 69 6c 65 24  2c 78 25 2a 31 32 38 2d  |le(tile$,x%*128-|
00001370  31 32 38 2c 79 25 2a 31  32 38 2b 31 32 38 2d 69  |128,y%*128+128-i|
00001380  25 2c 78 25 2a 31 32 38  2c 79 25 2a 31 32 38 2b  |%,x%*128,y%*128+|
00001390  31 32 38 2b 69 25 29 3a  ed 0d 05 aa 05 e1 0d 05  |128+i%):........|
000013a0  b4 04 0d 05 be 31 dd f2  63 6c 6f 73 65 28 78 25  |.....1..close(x%|
000013b0  2c 79 25 29 3a 74 69 6c  65 24 3d 22 70 69 63 74  |,y%):tile$="pict|
000013c0  75 72 65 2d 22 2b c3 67  72 69 64 25 28 78 25 2c  |ure-"+.grid%(x%,|
000013d0  79 25 29 0d 05 c8 29 e7  74 69 6c 65 24 3d 22 70  |y%)...).tile$="p|
000013e0  69 63 74 75 72 65 2d 32  35 22 3a 74 69 6c 65 24  |icture-25":tile$|
000013f0  3d 22 77 69 6c 64 2d 63  61 72 64 22 0d 05 d2 15  |="wild-card"....|
00001400  e6 30 c8 9c 30 3a e3 69  25 3d 36 34 b8 30 88 2d  |.0..0:.i%=64.0.-|
00001410  38 0d 05 dc 42 f2 73 63  61 6c 65 28 74 69 6c 65  |8...B.scale(tile|
00001420  24 2c 78 25 2a 31 32 38  2d 31 32 38 2c 79 25 2a  |$,x%*128-128,y%*|
00001430  31 32 38 2b 31 32 38 2d  69 25 2c 78 25 2a 31 32  |128+128-i%,x%*12|
00001440  38 2c 79 25 2a 31 32 38  2b 31 32 38 2b 69 25 29  |8,y%*128+128+i%)|
00001450  3a c8 96 0d 05 e6 34 86  78 25 2a 31 32 38 2d 31  |:.....4.x%*128-1|
00001460  32 38 2c 79 25 2a 31 32  38 2b 31 32 34 2b 69 25  |28,y%*128+124+i%|
00001470  2c 78 25 2a 31 32 38 2d  34 2c 79 25 2a 31 32 38  |,x%*128-4,y%*128|
00001480  2b 31 32 34 2b 69 25 0d  05 f0 34 86 78 25 2a 31  |+124+i%...4.x%*1|
00001490  32 38 2d 31 32 38 2c 79  25 2a 31 32 38 2b 31 32  |28-128,y%*128+12|
000014a0  30 2b 69 25 2c 78 25 2a  31 32 38 2d 34 2c 79 25  |0+i%,x%*128-4,y%|
000014b0  2a 31 32 38 2b 31 32 30  2b 69 25 0d 05 fa 34 86  |*128+120+i%...4.|
000014c0  78 25 2a 31 32 38 2d 31  32 38 2c 79 25 2a 31 32  |x%*128-128,y%*12|
000014d0  38 2b 31 32 38 2d 69 25  2c 78 25 2a 31 32 38 2d  |8+128-i%,x%*128-|
000014e0  34 2c 79 25 2a 31 32 38  2b 31 32 38 2d 69 25 0d  |4,y%*128+128-i%.|
000014f0  06 04 36 86 78 25 2a 31  32 38 2d 31 32 38 2c 79  |..6.x%*128-128,y|
00001500  25 2a 31 32 38 2b 31 33  32 2d 69 25 2c 78 25 2a  |%*128+132-i%,x%*|
00001510  31 32 38 2d 34 2c 79 25  2a 31 32 38 2b 31 33 32  |128-4,y%*128+132|
00001520  2d 69 25 3a ed 0d 06 0e  11 e3 69 25 3d 30 b8 36  |-i%:......i%=0.6|
00001530  34 88 38 3a c8 96 0d 06  18 45 f2 73 63 61 6c 65  |4.8:.....E.scale|
00001540  28 22 67 72 69 64 2d 73  6c 61 62 22 2c 78 25 2a  |("grid-slab",x%*|
00001550  31 32 38 2d 31 32 38 2c  79 25 2a 31 32 38 2b 31  |128-128,y%*128+1|
00001560  32 38 2d 69 25 2c 78 25  2a 31 32 38 2c 79 25 2a  |28-i%,x%*128,y%*|
00001570  31 32 38 2b 31 32 38 2b  69 25 29 0d 06 22 07 ed  |128+128+i%).."..|
00001580  3a e1 0d 06 2c 04 0d 06  36 37 dd f2 67 6f 74 28  |:...,...67..got(|
00001590  6e 75 6d 62 65 72 25 29  3a ea 20 69 25 2c 74 69  |number%):. i%,ti|
000015a0  6c 65 24 2c 67 6f 74 24  2c 78 25 2c 79 25 3a 6c  |le$,got$,x%,y%:l|
000015b0  65 66 74 25 2d 3d 6e 75  6d 62 65 72 25 0d 06 40  |eft%-=number%..@|
000015c0  25 e6 30 c8 9c 30 3a e3  69 25 3d 34 b8 36 34 88  |%.0..0:.i%=4.64.|
000015d0  34 3a c8 96 3a e3 6a 25  3d 31 b8 6e 75 6d 62 65  |4:..:.j%=1.numbe|
000015e0  72 25 0d 06 4a 27 78 25  3d 63 68 61 6e 67 65 78  |r%..J'x%=changex|
000015f0  25 28 6a 25 2d 31 29 3a  79 25 3d 63 68 61 6e 67  |%(j%-1):y%=chang|
00001600  65 79 25 28 6a 25 2d 31  29 0d 06 54 48 74 69 6c  |ey%(j%-1)..THtil|
00001610  65 24 3d 22 70 69 63 74  75 72 65 2d 22 2b c3 67  |e$="picture-"+.g|
00001620  72 69 64 25 28 78 25 2c  79 25 29 3a e7 74 69 6c  |rid%(x%,y%):.til|
00001630  65 24 3d 22 70 69 63 74  75 72 65 2d 32 35 22 3a  |e$="picture-25":|
00001640  74 69 6c 65 24 3d 22 77  69 6c 64 2d 63 61 72 64  |tile$="wild-card|
00001650  22 0d 06 5e 44 f2 73 63  61 6c 65 28 74 69 6c 65  |"..^D.scale(tile|
00001660  24 2c 78 25 2a 31 32 38  2d 31 32 38 2b 69 25 2c  |$,x%*128-128+i%,|
00001670  79 25 2a 31 32 38 2b 36  34 2b 69 25 2c 78 25 2a  |y%*128+64+i%,x%*|
00001680  31 32 38 2d 69 25 2c 79  25 2a 31 32 38 2b 31 39  |128-i%,y%*128+19|
00001690  32 2d 69 25 29 0d 06 68  32 c8 93 78 25 2a 31 32  |2-i%)..h2..x%*12|
000016a0  38 2d 31 33 32 2b 69 25  2c 79 25 2a 31 32 38 2b  |8-132+i%,y%*128+|
000016b0  36 30 2b 69 25 2c 31 33  32 2d 69 25 2a 32 2c 31  |60+i%,132-i%*2,1|
000016c0  33 32 2d 69 25 2a 32 0d  06 72 21 ed 3a ed 3a 67  |32-i%*2..r!.:.:g|
000016d0  6f 74 24 3d 22 67 6f 74  2d 73 6c 61 62 22 2b c3  |ot$="got-slab"+.|
000016e0  63 75 72 72 65 6e 74 25  0d 06 7c 20 e3 69 25 3d  |current%..| .i%=|
000016f0  36 34 b8 30 88 2d 34 3a  c8 96 3a e3 6a 25 3d 31  |64.0.-4:..:.j%=1|
00001700  b8 6e 75 6d 62 65 72 25  0d 06 86 27 78 25 3d 63  |.number%...'x%=c|
00001710  68 61 6e 67 65 78 25 28  6a 25 2d 31 29 3a 79 25  |hangex%(j%-1):y%|
00001720  3d 63 68 61 6e 67 65 79  25 28 6a 25 2d 31 29 0d  |=changey%(j%-1).|
00001730  06 90 43 f2 73 63 61 6c  65 28 67 6f 74 24 2c 78  |..C.scale(got$,x|
00001740  25 2a 31 32 38 2d 31 32  38 2b 69 25 2c 79 25 2a  |%*128-128+i%,y%*|
00001750  31 32 38 2b 36 34 2b 69  25 2c 78 25 2a 31 32 38  |128+64+i%,x%*128|
00001760  2d 69 25 2c 79 25 2a 31  32 38 2b 31 39 32 2d 69  |-i%,y%*128+192-i|
00001770  25 29 0d 06 9a 44 ed 3a  ed 3a e3 69 25 3d 30 b8  |%)...D.:.:.i%=0.|
00001780  6e 75 6d 62 65 72 25 2d  31 3a 67 72 69 64 25 28  |number%-1:grid%(|
00001790  63 68 61 6e 67 65 78 25  28 69 25 29 2c 63 68 61  |changex%(i%),cha|
000017a0  6e 67 65 79 25 28 69 25  29 29 3d 32 35 2b 63 75  |ngey%(i%))=25+cu|
000017b0  72 72 65 6e 74 25 0d 06  a4 07 ed 3a e1 0d 06 ae  |rrent%.....:....|
000017c0  04 0d 06 b8 39 dd f2 74  75 72 6e 6f 76 65 72 28  |....9..turnover(|
000017d0  6e 75 6d 62 65 72 25 29  3a ea 69 25 2c 6a 25 3a  |number%):.i%,j%:|
000017e0  67 6f 74 24 3d 22 67 6f  74 2d 73 68 61 70 65 22  |got$="got-shape"|
000017f0  2b c3 63 75 72 72 65 6e  74 25 0d 06 c2 33 e3 69  |+.current%...3.i|
00001800  25 3d 31 b8 6e 75 6d 62  65 72 25 3a 67 72 69 64  |%=1.number%:grid|
00001810  25 28 74 75 72 6e 78 25  28 69 25 29 2c 74 75 72  |%(turnx%(i%),tur|
00001820  6e 79 25 28 69 25 29 29  3d 32 38 3a ed 0d 06 cc  |ny%(i%))=28:....|
00001830  15 e6 30 c8 9c 30 3a e3  69 25 3d 30 b8 31 32 38  |..0..0:.i%=0.128|
00001840  88 34 0d 06 d6 30 c8 96  3a e3 6a 25 3d 31 b8 6e  |.4...0..:.j%=1.n|
00001850  75 6d 62 65 72 25 3a 78  25 3d 74 75 72 6e 78 25  |umber%:x%=turnx%|
00001860  28 6a 25 29 3a 79 25 3d  74 75 72 6e 79 25 28 6a  |(j%):y%=turny%(j|
00001870  25 29 0d 06 e0 0c e7 69  25 3c 36 38 20 8c 0d 06  |%).....i%<68 ...|
00001880  ea 2e c8 93 78 25 2a 31  32 38 2d 36 34 2d 69 25  |....x%*128-64-i%|
00001890  2c 79 25 2a 31 32 38 2b  31 32 38 2d 69 25 2c 32  |,y%*128+128-i%,2|
000018a0  2a 69 25 2d 34 2c 32 2a  69 25 2d 34 0d 06 f4 05  |*i%-4,2*i%-4....|
000018b0  cc 0d 06 fe 0c 6b 25 3d  69 25 2d 36 34 0d 07 08  |.....k%=i%-64...|
000018c0  46 f2 73 63 61 6c 65 28  67 6f 74 24 2c 78 25 2a  |F.scale(got$,x%*|
000018d0  31 32 38 2d 36 34 2d 6b  25 2c 79 25 2a 31 32 38  |128-64-k%,y%*128|
000018e0  2b 31 32 38 2d 6b 25 2c  78 25 2a 31 32 38 2d 36  |+128-k%,x%*128-6|
000018f0  34 2b 6b 25 2c 79 25 2a  31 32 38 2b 31 32 38 2b  |4+k%,y%*128+128+|
00001900  6b 25 29 0d 07 12 05 cd  0d 07 1c 09 ed 3a ed 3a  |k%)..........:.:|
00001910  e1 0d 07 26 04 0d 07 30  35 dd f2 67 61 6d 65 3a  |...&...05..game:|
00001920  f2 6d 6f 75 73 65 6f 66  66 3a ff 22 46 58 31 31  |.mouseoff:."FX11|
00001930  32 2c 32 22 3a 73 63 6f  72 65 25 28 29 3d 30 3a  |2,2":score%()=0:|
00001940  74 72 69 65 73 25 28 29  3d 30 0d 07 3a 39 73 68  |tries%()=0..:9sh|
00001950  61 70 65 73 25 28 29 3d  30 3a 63 75 72 72 65 6e  |apes%()=0:curren|
00001960  74 25 3d 31 3a 6c 65 66  74 25 3d 35 30 3a ee 85  |t%=1:left%=50:..|
00001970  e7 9f 3d 31 37 3a f2 74  69 74 6c 65 3a 8b 3a f2  |..=17:.title:.:.|
00001980  65 6e 64 0d 07 44 31 f2  62 6f 61 72 64 3a c8 97  |end..D1.board:..|
00001990  c8 93 30 2c 31 39 32 2c  31 32 37 39 2c 36 33 36  |..0,192,1279,636|
000019a0  3a 67 6f 74 69 74 25 3d  a3 3a ff 22 46 58 31 31  |:gotit%=.:."FX11|
000019b0  32 2c 31 22 0d 07 4e 27  d6 63 6c 65 61 72 3a ef  |2,1"..N'.clear:.|
000019c0  31 39 2c 30 2c 32 34 2c  30 2c 30 2c 30 3a f2 70  |19,0,24,0,0,0:.p|
000019d0  74 72 28 31 29 3a f5 3a  f2 6e 62 0d 07 58 24 c8  |tr(1):.:.nb..X$.|
000019e0  97 fb 31 2c 32 34 30 2c  30 2c 30 3a c8 97 fb 33  |..1,240,0,0:...3|
000019f0  2c 31 36 30 2c 30 2c 30  3a 63 6f 6c 25 3d 31 0d  |,160,0,0:col%=1.|
00001a00  07 62 30 e7 63 75 72 72  65 6e 74 25 3d 32 3a c8  |.b0.current%=2:.|
00001a10  97 fb 31 2c 30 2c 30 2c  32 34 30 3a c8 97 fb 33  |..1,0,0,240:...3|
00001a20  2c 30 2c 30 2c 31 36 30  3a 63 6f 6c 25 3d 34 0d  |,0,0,160:col%=4.|
00001a30  07 6c 2c f2 73 6c 61 62  28 30 2c 38 33 32 2c 31  |.l,.slab(0,832,1|
00001a40  32 37 36 2c 36 30 29 3a  74 72 69 65 73 25 28 63  |276,60):tries%(c|
00001a50  75 72 72 65 6e 74 25 29  2b 3d 31 0d 07 76 44 f2  |urrent%)+=1..vD.|
00001a60  74 65 78 74 28 6e 61 6d  65 24 28 63 75 72 72 65  |text(name$(curre|
00001a70  6e 74 25 29 2b 22 3a 20  70 6c 65 61 73 65 20 63  |nt%)+": please c|
00001a80  68 6f 6f 73 65 20 66 69  72 73 74 20 73 71 75 61  |hoose first squa|
00001a90  72 65 22 2c 2d 31 2c 33  36 2c 63 6f 6c 25 29 0d  |re",-1,36,col%).|
00001aa0  07 80 22 f5 3a f5 3a c8  97 20 78 78 25 2c 79 79  |..".:.:.. xx%,yy|
00001ab0  25 2c 62 75 74 74 6f 6e  25 3a 6a 25 3d a6 28 30  |%,button%:j%=.(0|
00001ac0  29 0d 07 8a 26 e7 6a 25  3e 34 37 80 6a 25 3c 35  |)...&.j%>47.j%<5|
00001ad0  33 3a 74 75 6e 65 25 3d  6a 25 2d 34 38 3a f2 6c  |3:tune%=j%-48:.l|
00001ae0  6f 61 64 74 75 6e 65 0d  07 94 32 fd 62 75 74 74  |oadtune...2.butt|
00001af0  6f 6e 25 3a 78 78 25 3d  78 78 25 81 34 2a 34 3a  |on%:xx%=xx%.4*4:|
00001b00  79 79 25 3d 79 79 25 81  34 2a 34 3a 68 66 25 3d  |yy%=yy%.4*4:hf%=|
00001b10  78 78 25 2f 31 32 38 2b  31 0d 07 9e 3b 76 66 25  |xx%/128+1...;vf%|
00001b20  3d 28 79 79 25 2d 31 39  32 29 2f 31 32 38 2b 31  |=(yy%-192)/128+1|
00001b30  3a fd 67 72 69 64 25 28  68 66 25 2c 76 66 25 29  |:.grid%(hf%,vf%)|
00001b40  3c 32 36 3a f2 72 65 76  65 61 6c 28 68 66 25 2c  |<26:.reveal(hf%,|
00001b50  76 66 25 29 0d 07 a8 18  f2 73 6c 61 62 28 30 2c  |vf%).....slab(0,|
00001b60  38 33 32 2c 31 32 37 36  2c 36 30 29 0d 07 b2 45  |832,1276,60)...E|
00001b70  f2 74 65 78 74 28 6e 61  6d 65 24 28 63 75 72 72  |.text(name$(curr|
00001b80  65 6e 74 25 29 2b 22 3a  20 70 6c 65 61 73 65 20  |ent%)+": please |
00001b90  63 68 6f 6f 73 65 20 73  65 63 6f 6e 64 20 73 71  |choose second sq|
00001ba0  75 61 72 65 22 2c 2d 31  2c 33 36 2c 63 6f 6c 25  |uare",-1,36,col%|
00001bb0  29 0d 07 bc 22 f5 3a f5  3a c8 97 20 78 78 25 2c  |)...".:.:.. xx%,|
00001bc0  79 79 25 2c 62 75 74 74  6f 6e 25 3a 6a 25 3d a6  |yy%,button%:j%=.|
00001bd0  28 30 29 0d 07 c6 26 e7  6a 25 3e 34 37 80 6a 25  |(0)...&.j%>47.j%|
00001be0  3c 35 33 3a 74 75 6e 65  25 3d 6a 25 2d 34 38 3a  |<53:tune%=j%-48:|
00001bf0  f2 6c 6f 61 64 74 75 6e  65 0d 07 d0 46 fd 62 75  |.loadtune...F.bu|
00001c00  74 74 6f 6e 25 3a 78 78  25 3d 78 78 25 81 34 2a  |tton%:xx%=xx%.4*|
00001c10  34 3a 79 79 25 3d 79 79  25 81 34 2a 34 3a 68 73  |4:yy%=yy%.4*4:hs|
00001c20  25 3d 78 78 25 2f 31 32  38 2b 31 3a 76 73 25 3d  |%=xx%/128+1:vs%=|
00001c30  28 79 79 25 2d 31 39 32  29 2f 31 32 38 2b 31 0d  |(yy%-192)/128+1.|
00001c40  07 da 2d fd 67 72 69 64  25 28 68 73 25 2c 76 73  |..-.grid%(hs%,vs|
00001c50  25 29 3c 32 36 20 80 20  ac 28 68 73 25 3d 68 66  |%)<26 . .(hs%=hf|
00001c60  25 20 80 20 76 73 25 3d  76 66 25 29 0d 07 e4 1c  |% . vs%=vf%)....|
00001c70  f2 72 65 76 65 61 6c 28  68 73 25 2c 76 73 25 29  |.reveal(hs%,vs%)|
00001c80  3a 77 69 6c 64 25 3d a3  0d 07 ee 4c e7 28 67 72  |:wild%=....L.(gr|
00001c90  69 64 25 28 68 66 25 2c  76 66 25 29 3d 32 35 84  |id%(hf%,vf%)=25.|
00001ca0  67 72 69 64 25 28 68 73  25 2c 76 73 25 29 3d 32  |grid%(hs%,vs%)=2|
00001cb0  35 29 80 28 67 72 69 64  25 28 68 66 25 2c 76 66  |5).(grid%(hf%,vf|
00001cc0  25 29 3c 3e 67 72 69 64  25 28 68 73 25 2c 76 73  |%)<>grid%(hs%,vs|
00001cd0  25 29 29 8c 0d 07 f8 20  77 69 6c 64 25 3d b9 3a  |%)).... wild%=.:|
00001ce0  f2 73 6c 61 62 28 30 2c  38 33 32 2c 31 32 37 36  |.slab(0,832,1276|
00001cf0  2c 36 30 29 0d 08 02 31  f2 74 65 78 74 28 22 59  |,60)...1.text("Y|
00001d00  6f 75 27 76 65 20 66 6f  75 6e 64 20 61 20 77 69  |ou've found a wi|
00001d10  6c 64 20 63 61 72 64 21  22 2c 2d 31 2c 33 36 2c  |ld card!",-1,36,|
00001d20  63 6f 6c 25 29 0d 08 0c  3a 73 63 78 25 3d 68 66  |col%)...:scx%=hf|
00001d30  25 3a 73 63 79 25 3d 76  66 25 3a e7 67 72 69 64  |%:scy%=vf%:.grid|
00001d40  25 28 68 66 25 2c 76 66  25 29 3d 32 35 3a 73 63  |%(hf%,vf%)=25:sc|
00001d50  78 25 3d 68 73 25 3a 73  63 79 25 3d 76 73 25 0d  |x%=hs%:scy%=vs%.|
00001d60  08 16 26 66 6f 75 6e 64  25 3d a3 3a f2 77 28 38  |..&found%=.:.w(8|
00001d70  30 29 3a e3 73 78 25 3d  31 b8 31 30 3a e3 73 79  |0):.sx%=1.10:.sy|
00001d80  25 3d 31 b8 35 0d 08 20  72 e7 67 72 69 64 25 28  |%=1.5.. r.grid%(|
00001d90  73 78 25 2c 73 79 25 29  3d 67 72 69 64 25 28 73  |sx%,sy%)=grid%(s|
00001da0  63 78 25 2c 73 63 79 25  29 20 80 20 ac 28 73 63  |cx%,scy%) . .(sc|
00001db0  78 25 3d 73 78 25 20 80  20 73 63 79 25 3d 73 79  |x%=sx% . scy%=sy|
00001dc0  25 29 20 80 20 66 6f 75  6e 64 25 3d a3 3a f2 72  |%) . found%=.:.r|
00001dd0  65 76 65 61 6c 28 73 78  25 2c 73 79 25 29 3a 77  |eveal(sx%,sy%):w|
00001de0  78 25 3d 73 78 25 3a 77  79 25 3d 73 79 25 3a 66  |x%=sx%:wy%=sy%:f|
00001df0  6f 75 6e 64 25 3d b9 0d  08 2a 07 ed 3a ed 0d 08  |ound%=...*..:...|
00001e00  34 2f cd 3a e7 20 77 69  6c 64 25 20 84 20 67 72  |4/.:. wild% . gr|
00001e10  69 64 25 28 68 73 25 2c  76 73 25 29 3d 67 72 69  |id%(hs%,vs%)=gri|
00001e20  64 25 28 68 66 25 2c 76  66 25 29 20 8c 0d 08 3e  |d%(hf%,vf%) ...>|
00001e30  20 f2 70 74 72 28 33 29  3a f2 73 6c 61 62 28 30  | .ptr(3):.slab(0|
00001e40  2c 38 33 32 2c 31 32 37  36 2c 36 30 29 0d 08 48  |,832,1276,60)..H|
00001e50  47 f2 74 65 78 74 28 22  57 65 6c 6c 20 64 6f 6e  |G.text("Well don|
00001e60  65 20 22 2b 6e 61 6d 65  24 28 63 75 72 72 65 6e  |e "+name$(curren|
00001e70  74 25 29 2b 22 21 20 41  20 6d 61 74 63 68 69 6e  |t%)+"! A matchin|
00001e80  67 20 70 61 69 72 21 22  2c 2d 31 2c 33 36 2c 63  |g pair!",-1,36,c|
00001e90  6f 6c 25 29 0d 08 52 28  73 63 6f 72 65 25 28 63  |ol%)..R(score%(c|
00001ea0  75 72 72 65 6e 74 25 29  2b 3d 31 3a f2 77 28 38  |urrent%)+=1:.w(8|
00001eb0  30 29 3a 6e 75 6d 62 65  72 25 3d 32 0d 08 5c 34  |0):number%=2..\4|
00001ec0  e7 77 69 6c 64 25 3a 6e  75 6d 62 65 72 25 3d 33  |.wild%:number%=3|
00001ed0  3a 63 68 61 6e 67 65 78  25 28 32 29 3d 77 78 25  |:changex%(2)=wx%|
00001ee0  3a 63 68 61 6e 67 65 79  25 28 32 29 3d 77 79 25  |:changey%(2)=wy%|
00001ef0  0d 08 66 43 63 68 61 6e  67 65 78 25 28 30 29 3d  |..fCchangex%(0)=|
00001f00  68 73 25 3a 63 68 61 6e  67 65 79 25 28 30 29 3d  |hs%:changey%(0)=|
00001f10  76 73 25 3a 63 68 61 6e  67 65 78 25 28 31 29 3d  |vs%:changex%(1)=|
00001f20  68 66 25 3a 63 68 61 6e  67 65 79 25 28 31 29 3d  |hf%:changey%(1)=|
00001f30  76 66 25 0d 08 70 1d f2  67 6f 74 28 6e 75 6d 62  |vf%..p..got(numb|
00001f40  65 72 25 29 3a f2 63 68  65 63 6b 73 68 61 70 65  |er%):.checkshape|
00001f50  0d 08 7a 42 f2 70 74 72  28 31 29 3a f2 73 63 6f  |..zB.ptr(1):.sco|
00001f60  72 65 73 3a 74 69 6c 65  73 25 28 63 75 72 72 65  |res:tiles%(curre|
00001f70  6e 74 25 29 2b 3d 32 3a  e7 77 69 6c 64 25 3a 74  |nt%)+=2:.wild%:t|
00001f80  69 6c 65 73 25 28 63 75  72 72 65 6e 74 25 29 2b  |iles%(current%)+|
00001f90  3d 31 0d 08 84 34 e7 70  6c 61 79 65 72 73 25 3d  |=1...4.players%=|
00001fa0  32 3a f2 67 75 65 73 73  77 6f 72 64 28 63 75 72  |2:.guessword(cur|
00001fb0  72 65 6e 74 25 29 3a 8b  3a f2 67 75 65 73 73 77  |rent%):.:.guessw|
00001fc0  6f 72 64 28 31 29 0d 08  8e 2c cc 3a f2 77 28 38  |ord(1)...,.:.w(8|
00001fd0  30 29 3a f2 63 6c 6f 73  65 28 68 73 25 2c 76 73  |0):.close(hs%,vs|
00001fe0  25 29 3a f2 63 6c 6f 73  65 28 68 66 25 2c 76 66  |%):.close(hf%,vf|
00001ff0  25 29 0d 08 98 23 e7 70  6c 61 79 65 72 73 25 3d  |%)...#.players%=|
00002000  32 3a 63 75 72 72 65 6e  74 25 3d 33 2d 63 75 72  |2:current%=3-cur|
00002010  72 65 6e 74 25 0d 08 a2  0b f2 73 63 6f 72 65 73  |rent%.....scores|
00002020  0d 08 ac 17 cd 3a fd 6c  65 66 74 25 3c 34 20 84  |.....:.left%<4 .|
00002030  20 67 6f 74 69 74 25 0d  08 b6 0d e7 67 6f 74 69  | gotit%.....goti|
00002040  74 25 20 8c 0d 08 c0 0d  f2 6d 6f 75 73 65 6f 66  |t% ......mouseof|
00002050  66 0d 08 ca 4c 70 65 72  63 65 6e 74 61 67 65 25  |f...Lpercentage%|
00002060  3d 74 69 6c 65 73 25 28  63 75 72 72 65 6e 74 25  |=tiles%(current%|
00002070  29 2a 28 31 30 30 2f 28  74 69 6c 65 73 25 28 63  |)*(100/(tiles%(c|
00002080  75 72 72 65 6e 74 25 29  2b 74 69 6c 65 73 25 28  |urrent%)+tiles%(|
00002090  33 2d 63 75 72 72 65 6e  74 25 29 29 29 0d 08 d4  |3-current%)))...|
000020a0  36 62 6f 6e 75 73 25 3d  28 28 33 2d 77 6f 72 64  |6bonus%=((3-word|
000020b0  74 79 70 65 25 29 2a 73  6b 69 6c 6c 25 2a 70 65  |type%)*skill%*pe|
000020c0  72 63 65 6e 74 61 67 65  25 2a 6c 65 66 74 25 29  |rcentage%*left%)|
000020d0  81 35 30 0d 08 de 1c 73  63 6f 72 65 25 28 63 75  |.50....score%(cu|
000020e0  72 72 65 6e 74 25 29 2b  3d 62 6f 6e 75 73 25 0d  |rrent%)+=bonus%.|
000020f0  08 e8 29 ff 22 46 58 31  31 32 2c 32 22 3a f2 73  |..)."FX112,2":.s|
00002100  63 6f 72 65 73 3a ff 22  46 58 31 31 32 2c 31 22  |cores:."FX112,1"|
00002110  3a f2 73 63 6f 72 65 73  0d 08 f2 11 cd 3a f2 63  |:.scores.....:.c|
00002120  6f 6e 67 72 61 74 73 3a  e1 0d 08 fc 04 0d 09 06  |ongrats:........|
00002130  16 dd f2 77 28 69 25 29  3a 6a 25 3d a6 28 69 25  |...w(i%):j%=.(i%|
00002140  29 3a e1 0d 09 10 04 0d  09 1a 2b dd f2 67 75 65  |):........+..gue|
00002150  73 73 77 6f 72 64 28 70  6c 25 29 3a f2 6d 6f 75  |ssword(pl%):.mou|
00002160  73 65 6f 66 66 3a ff 22  46 58 31 31 32 2c 32 22  |seoff:."FX112,2"|
00002170  3a db 0d 09 24 0e f2 67  61 6d 65 74 69 74 6c 65  |:...$..gametitle|
00002180  0d 09 2e 2f f2 73 63 6f  72 65 73 3a f2 73 68 6f  |.../.scores:.sho|
00002190  77 77 6f 72 64 28 70 6c  25 29 3a f2 73 6c 61 62  |wword(pl%):.slab|
000021a0  28 30 2c 38 33 32 2c 31  32 37 36 2c 36 30 29 0d  |(0,832,1276,60).|
000021b0  09 38 2b ff 22 46 58 31  35 22 3a 74 63 25 3d 31  |.8+."FX15":tc%=1|
000021c0  3a ff 22 46 58 31 35 22  3a e7 63 75 72 72 65 6e  |:."FX15":.curren|
000021d0  74 25 3d 32 3a 74 63 25  3d 34 0d 09 42 3f f2 74  |t%=2:tc%=4..B?.t|
000021e0  65 78 74 28 22 57 68 61  74 27 73 20 74 68 65 20  |ext("What's the |
000021f0  77 6f 72 64 3f 20 45 6e  74 65 72 20 67 75 65 73  |word? Enter gues|
00002200  73 3a 20 20 20 20 20 20  20 20 20 20 20 22 2c 2d  |s:           ",-|
00002210  31 2c 33 36 2c 74 63 25  29 0d 09 4c 67 ff 22 46  |1,36,tc%)..Lg."F|
00002220  58 31 31 32 2c 31 22 3a  d6 63 6c 65 61 72 3a 67  |X112,1":.clear:g|
00002230  75 65 73 73 24 3d c0 28  a4 67 65 74 73 74 72 69  |uess$=.(.getstri|
00002240  6e 67 28 22 57 68 61 74  27 73 20 74 68 65 20 77  |ng("What's the w|
00002250  6f 72 64 3f 20 45 6e 74  65 72 20 67 75 65 73 73  |ord? Enter guess|
00002260  3a 20 22 2c 33 36 2c 74  63 25 2c 35 2c 22 55 22  |: ",36,tc%,5,"U"|
00002270  2c 31 30 29 29 2b 22 20  20 20 20 20 22 2c 35 29  |,10))+"     ",5)|
00002280  0d 09 56 74 e7 67 75 65  73 73 24 3d 75 73 65 72  |..Vt.guess$=user|
00002290  24 28 70 6c 25 29 3a 67  6f 74 69 74 25 3d b9 3a  |$(pl%):gotit%=.:|
000022a0  8b 3a e7 67 75 65 73 73  24 3c 3e 22 20 20 20 20  |.:.guess$<>"    |
000022b0  20 22 80 61 25 3d 31 33  3a f2 73 6c 61 62 28 30  | ".a%=13:.slab(0|
000022c0  2c 38 33 32 2c 31 32 37  36 2c 36 30 29 3a f2 74  |,832,1276,60):.t|
000022d0  65 78 74 28 22 53 6f 72  72 79 21 20 54 68 61 74  |ext("Sorry! That|
000022e0  27 73 20 6e 6f 74 20 69  74 2e 22 2c 2d 31 2c 33  |'s not it.",-1,3|
000022f0  36 2c 38 29 0d 09 60 1a  f2 77 28 38 30 29 3a e7  |6,8)..`..w(80):.|
00002300  ac 67 6f 74 69 74 25 3a  d6 63 6c 65 61 72 0d 09  |.gotit%:.clear..|
00002310  6a 05 e1 0d 09 74 04 0d  09 7e 44 dd 20 a4 67 65  |j....t...~D. .ge|
00002320  74 73 74 72 69 6e 67 28  74 65 78 74 24 2c 79 25  |tstring(text$,y%|
00002330  2c 63 6f 6c 25 2c 6c 65  6e 25 2c 61 6c 6c 6f 77  |,col%,len%,allow|
00002340  24 2c 74 69 6d 65 25 29  3a ea 78 78 25 2c 79 79  |$,time%):.xx%,yy|
00002350  25 2c 69 70 24 2c 63 61  70 73 25 0d 09 88 15 6c  |%,ip$,caps%....l|
00002360  73 25 3d a4 77 69 64 74  68 28 74 65 78 74 24 29  |s%=.width(text$)|
00002370  0d 09 92 36 78 78 25 3d  31 36 30 2d 6c 73 25 2f  |...6xx%=160-ls%/|
00002380  32 2d 34 2a 6c 65 6e 25  3a 79 79 25 3d 31 30 32  |2-4*len%:yy%=102|
00002390  30 2d 79 25 2a 34 3a 69  70 24 3d 22 22 3a 64 65  |0-y%*4:ip$="":de|
000023a0  6c 61 79 25 3d 91 0d 09  9c 28 f2 74 65 78 74 28  |lay%=....(.text(|
000023b0  74 65 78 74 24 2c 78 78  25 2c 79 25 2c 63 6f 6c  |text$,xx%,y%,col|
000023c0  25 29 3a f2 64 73 3a 63  61 70 73 25 3d b9 0d 09  |%):.ds:caps%=...|
000023d0  a6 11 e7 74 69 6d 65 25  3e 30 3a c8 97 ee 31 0d  |...time%>0:...1.|
000023e0  09 b0 0f f5 3a f5 3a 61  25 3d a6 28 30 29 0d 09  |....:.:a%=.(0)..|
000023f0  ba 19 e7 74 69 6d 65 25  3d 30 3a 64 65 6c 61 79  |...time%=0:delay|
00002400  25 3d 91 2b 31 30 30 0d  09 c4 41 e7 74 69 6d 65  |%=.+100...A.time|
00002410  25 3e 30 3a c8 99 26 32  45 2c 33 36 2b 32 35 36  |%>0:..&2E,36+256|
00002420  2c 73 70 72 25 2c 22 70  74 72 5f 63 6f 75 6e 74  |,spr%,"ptr_count|
00002430  22 2b c3 28 31 30 2d 28  91 2d 64 65 6c 61 79 25  |"+.(10-(.-delay%|
00002440  29 81 31 30 30 29 2c 31  0d 09 ce 1d fd 61 25 3e  |).100),1.....a%>|
00002450  30 84 91 3e 3d 64 65 6c  61 79 25 2b 74 69 6d 65  |0..>=delay%+time|
00002460  25 2a 31 30 30 0d 09 d8  18 e7 61 25 3d 31 32 37  |%*100.....a%=127|
00002470  20 80 20 a9 28 69 70 24  29 3e 30 20 8c 0d 09 e2  | . .(ip$)>0 ....|
00002480  29 69 70 24 3d c0 69 70  24 2c a9 69 70 24 2d 31  |)ip$=.ip$,.ip$-1|
00002490  29 3a f2 64 73 3a e7 63  61 70 73 25 3d b9 3a 63  |):.ds:.caps%=.:c|
000024a0  61 70 73 25 3d a3 0d 09  ec 1f e7 c2 69 70 24 2c  |aps%=.......ip$,|
000024b0  31 29 3d 22 20 22 84 69  70 24 3d 22 22 3a 63 61  |1)=" ".ip$="":ca|
000024c0  70 73 25 3d b9 0d 09 f6  15 cd 3a e7 20 a9 28 69  |ps%=......:. .(i|
000024d0  70 24 29 3c 6c 65 6e 25  20 8c 0d 0a 00 0f c8 8e  |p$)<len% .......|
000024e0  20 61 6c 6c 6f 77 24 20  ca 0d 0a 0a 09 c9 20 22  | allow$ ...... "|
000024f0  55 22 0d 0a 14 25 e7 61  25 3e 39 36 20 80 20 61  |U"...%.a%>96 . a|
00002500  25 3c 31 32 33 3a 69 70  24 2b 3d bd 28 61 25 2d  |%<123:ip$+=.(a%-|
00002510  33 32 29 3a f2 64 73 0d  0a 1e 21 e7 61 25 3e 36  |32):.ds...!.a%>6|
00002520  34 20 80 20 61 25 3c 39  31 3a 69 70 24 2b 3d bd  |4 . a%<91:ip$+=.|
00002530  28 61 25 29 3a f2 64 73  0d 0a 28 09 c9 20 22 41  |(a%):.ds..(.. "A|
00002540  22 0d 0a 32 0c e7 63 61  70 73 25 20 8c 0d 0a 3c  |"..2..caps% ...<|
00002550  2d e7 61 25 3e 39 36 20  80 20 61 25 3c 31 32 33  |-.a%>96 . a%<123|
00002560  3a 69 70 24 2b 3d bd 28  61 25 2d 33 32 29 3a f2  |:ip$+=.(a%-32):.|
00002570  64 73 3a 63 61 70 73 25  3d a3 0d 0a 46 29 e7 61  |ds:caps%=...F).a|
00002580  25 3e 36 34 20 80 20 61  25 3c 39 31 3a 69 70 24  |%>64 . a%<91:ip$|
00002590  2b 3d bd 28 61 25 29 3a  f2 64 73 3a 63 61 70 73  |+=.(a%):.ds:caps|
000025a0  25 3d a3 0d 0a 50 23 cc  3a e7 61 25 3d 33 32 3a  |%=...P#.:.a%=32:|
000025b0  63 61 70 73 25 3d b9 3a  69 70 24 2b 3d bd 28 61  |caps%=.:ip$+=.(a|
000025c0  25 29 3a f2 64 73 0d 0a  5a 22 e7 61 25 3e 39 36  |%):.ds..Z".a%>96|
000025d0  20 80 20 61 25 3c 31 32  33 3a 69 70 24 2b 3d bd  | . a%<123:ip$+=.|
000025e0  28 61 25 29 3a f2 64 73  0d 0a 64 24 e7 61 25 3e  |(a%):.ds..d$.a%>|
000025f0  36 34 20 80 20 61 25 3c  39 31 3a 69 70 24 2b 3d  |64 . a%<91:ip$+=|
00002600  bd 28 61 25 2b 33 32 29  3a f2 64 73 0d 0a 6e 05  |.(a%+32):.ds..n.|
00002610  cd 0d 0a 78 0a c9 20 22  59 4e 22 0d 0a 82 2c e7  |...x.. "YN"...,.|
00002620  20 28 61 25 3d 38 39 20  84 20 61 25 3d 31 32 31  | (a%=89 . a%=121|
00002630  29 20 80 20 a9 69 70 24  3d 30 3a 69 70 24 2b 3d  |) . .ip$=0:ip$+=|
00002640  22 59 22 3a f2 64 73 0d  0a 8c 2c e7 20 28 61 25  |"Y":.ds...,. (a%|
00002650  3d 37 38 20 84 20 61 25  3d 31 31 30 29 20 80 20  |=78 . a%=110) . |
00002660  a9 69 70 24 3d 30 3a 69  70 24 2b 3d 22 4e 22 3a  |.ip$=0:ip$+="N":|
00002670  f2 64 73 0d 0a 96 3a e7  20 28 61 25 3d 36 39 20  |.ds...:. (a%=69 |
00002680  84 20 61 25 3d 31 30 31  29 20 80 20 a9 69 70 24  |. a%=101) . .ip$|
00002690  3d 31 20 80 20 c0 69 70  24 2c 31 29 3d 22 59 22  |=1 . .ip$,1)="Y"|
000026a0  3a 69 70 24 2b 3d 22 65  22 3a f2 64 73 0d 0a a0  |:ip$+="e":.ds...|
000026b0  3a e7 20 28 61 25 3d 37  39 20 84 20 61 25 3d 31  |:. (a%=79 . a%=1|
000026c0  31 30 29 20 80 20 a9 69  70 24 3d 31 20 80 20 c0  |10) . .ip$=1 . .|
000026d0  69 70 24 2c 31 29 3d 22  4e 22 3a 69 70 24 2b 3d  |ip$,1)="N":ip$+=|
000026e0  22 6f 22 3a f2 64 73 0d  0a aa 3a e7 20 28 61 25  |"o":.ds...:. (a%|
000026f0  3d 38 33 20 84 20 61 25  3d 31 31 35 29 20 80 20  |=83 . a%=115) . |
00002700  a9 69 70 24 3d 32 20 80  20 c0 69 70 24 2c 31 29  |.ip$=2 . .ip$,1)|
00002710  3d 22 59 22 3a 69 70 24  2b 3d 22 73 22 3a f2 64  |="Y":ip$+="s":.d|
00002720  73 0d 0a b4 05 cb 0d 0a  be 05 cd 0d 0a c8 41 e7  |s.............A.|
00002730  74 69 6d 65 25 3e 30 3a  c8 99 26 32 45 2c 33 36  |time%>0:..&2E,36|
00002740  2b 32 35 36 2c 73 70 72  25 2c 22 70 74 72 5f 63  |+256,spr%,"ptr_c|
00002750  6f 75 6e 74 22 2b c3 28  31 30 2d 28 91 2d 64 65  |ount"+.(10-(.-de|
00002760  6c 61 79 25 29 81 31 30  30 29 2c 31 0d 0a d2 20  |lay%).100),1... |
00002770  fd 61 25 3d 31 33 20 84  20 91 3e 3d 64 65 6c 61  |.a%=13 . .>=dela|
00002780  79 25 2b 74 69 6d 65 25  2a 31 30 30 0d 0a dc 31  |y%+time%*100...1|
00002790  e6 34 32 c8 9c 30 3a c8  93 c8 90 78 78 25 2a 34  |.42..0:....xx%*4|
000027a0  2b 6c 73 25 2a 34 2d 34  2c 79 79 25 2d 33 32 2c  |+ls%*4-4,yy%-32,|
000027b0  6c 65 6e 25 2a 33 32 2b  33 32 2c 33 36 0d 0a e6  |len%*32+32,36...|
000027c0  2f f2 74 65 78 74 28 69  70 24 2c 78 78 25 2b 6c  |/.text(ip$,xx%+l|
000027d0  73 25 2c 79 25 2c 63 6f  6c 25 29 3a e7 74 69 6d  |s%,y%,col%):.tim|
000027e0  65 25 3e 30 3a f2 70 74  72 28 31 29 0d 0a f0 19  |e%>0:.ptr(1)....|
000027f0  e7 61 6c 6c 6f 77 24 3d  22 59 4e 22 3a 3d c0 69  |.allow$="YN":=.i|
00002800  70 24 2c 31 29 0d 0a fa  08 3d 69 70 24 0d 0b 04  |p$,1)....=ip$...|
00002810  04 0d 0b 0e 36 dd f2 64  73 3a e6 34 32 c8 9c 30  |....6..ds:.42..0|
00002820  3a c8 93 c8 90 78 78 25  2a 34 2b 6c 73 25 2a 34  |:....xx%*4+ls%*4|
00002830  2d 34 2c 79 79 25 2d 33  32 2c 6c 65 6e 25 2a 33  |-4,yy%-32,len%*3|
00002840  36 2b 33 32 2c 33 36 0d  0b 18 1e f2 74 65 78 74  |6+32,36.....text|
00002850  28 69 70 24 2c 78 78 25  2b 6c 73 25 2c 79 25 2c  |(ip$,xx%+ls%,y%,|
00002860  63 6f 6c 25 29 0d 0b 22  29 f2 74 65 78 74 28 22  |col%)..").text("|
00002870  5f 22 2c 78 78 25 2b 6c  73 25 2b a4 77 69 64 74  |_",xx%+ls%+.widt|
00002880  68 28 69 70 24 29 2c 79  25 2c 37 29 3a e1 0d 0b  |h(ip$),y%,7):...|
00002890  2c 04 0d 0b 36 1f dd a4  77 69 64 74 68 28 74 65  |,...6...width(te|
000028a0  78 74 24 29 3a e7 74 65  78 74 24 3d 22 22 3a 3d  |xt$):.text$="":=|
000028b0  30 0d 0b 40 23 ea 6c 65  6e 25 2c 69 25 2c 77 25  |0..@#.len%,i%,w%|
000028c0  3a 6c 65 6e 25 3d 30 3a  e3 69 25 3d 31 b8 a9 74  |:len%=0:.i%=1..t|
000028d0  65 78 74 24 0d 0b 4a 3b  c8 99 22 54 65 78 74 46  |ext$..J;.."TextF|
000028e0  58 5f 47 65 74 57 69 64  74 68 22 2c 97 c1 74 65  |X_GetWidth",..te|
000028f0  78 74 24 2c 69 25 2c 31  29 20 b8 20 77 25 3a 6c  |xt$,i%,1) . w%:l|
00002900  65 6e 25 2b 3d 77 25 3a  ed 3a 3d 6c 65 6e 25 0d  |en%+=w%:.:=len%.|
00002910  0b 54 04 0d 0b 5e 24 dd  f2 67 65 74 6e 61 6d 65  |.T...^$..getname|
00002920  73 3a ee 85 e7 9f 3d 31  37 3a f2 74 69 74 6c 65  |s:....=17:.title|
00002930  3a 8b 3a f2 65 6e 64 0d  0b 68 2b f2 73 6c 61 62  |:.:.end..h+.slab|
00002940  28 30 2c 30 2c 31 32 37  36 2c 31 33 36 29 3a ea  |(0,0,1276,136):.|
00002950  6e 24 3a f2 6d 6f 75 73  65 6f 66 66 3a 2a 46 58  |n$:.mouseoff:*FX|
00002960  31 35 0d 0b 72 4f 6e 61  6d 65 24 28 31 29 3d a4  |15..rOname$(1)=.|
00002970  67 65 74 73 74 72 69 6e  67 28 22 50 6c 61 79 65  |getstring("Playe|
00002980  72 20 6f 6e 65 2c 20 70  6c 65 61 73 65 20 65 6e  |r one, please en|
00002990  74 65 72 20 6e 61 6d 65  3a 20 22 2c 32 32 36 2c  |ter name: ",226,|
000029a0  31 2c 31 31 2c 22 41 22  2c 30 29 3a 2a 46 58 31  |1,11,"A",0):*FX1|
000029b0  35 0d 0b 7c 55 e7 70 6c  61 79 65 72 73 25 3d 32  |5..|U.players%=2|
000029c0  3a 6e 61 6d 65 24 28 32  29 3d a4 67 65 74 73 74  |:name$(2)=.getst|
000029d0  72 69 6e 67 28 22 50 6c  61 79 65 72 20 74 77 6f  |ring("Player two|
000029e0  2c 20 70 6c 65 61 73 65  20 65 6e 74 65 72 20 6e  |, please enter n|
000029f0  61 6d 65 3a 20 22 2c 32  34 33 2c 34 2c 31 31 2c  |ame: ",243,4,11,|
00002a00  22 41 22 2c 30 29 0d 0b  86 26 e7 6e 61 6d 65 24  |"A",0)...&.name$|
00002a10  28 31 29 3d 22 22 3a 6e  61 6d 65 24 28 31 29 3d  |(1)="":name$(1)=|
00002a20  22 50 6c 61 79 65 72 20  4f 6e 65 22 0d 0b 90 26  |"Player One"...&|
00002a30  e7 6e 61 6d 65 24 28 32  29 3d 22 22 3a 6e 61 6d  |.name$(2)="":nam|
00002a40  65 24 28 32 29 3d 22 50  6c 61 79 65 72 20 54 77  |e$(2)="Player Tw|
00002a50  6f 22 0d 0b 9a 10 e7 63  6f 6d 77 6f 72 64 73 25  |o".....comwords%|
00002a60  20 8c 0d 0b a4 31 41 25  3d b3 28 2d bb c1 91 24  | ....1A%=.(-...$|
00002a70  2c 32 33 2c 32 29 29 3a  75 73 65 72 24 28 31 29  |,23,2)):user$(1)|
00002a80  3d 77 6f 72 64 24 28 b3  28 6d 61 78 77 6f 72 64  |=word$(.(maxword|
00002a90  25 29 29 0d 0b ae 53 e7  70 6c 61 79 65 72 73 25  |%))...S.players%|
00002aa0  3d 32 3a f5 3a 41 25 3d  b3 28 2d bb c1 91 24 2c  |=2:.:A%=.(-...$,|
00002ab0  32 33 2c 32 29 29 3a 75  73 65 72 24 28 32 29 3d  |23,2)):user$(2)=|
00002ac0  77 6f 72 64 24 28 b3 28  6d 61 78 77 6f 72 64 25  |word$(.(maxword%|
00002ad0  29 29 3a fd 75 73 65 72  24 28 31 29 3c 3e 75 73  |)):.user$(1)<>us|
00002ae0  65 72 24 28 32 29 0d 0b  b8 05 cc 0d 0b c2 05 f5  |er$(2)..........|
00002af0  0d 0b cc 21 f5 3a 79 6e  24 3d 22 59 22 3a f2 73  |...!.:yn$="Y":.s|
00002b00  6c 61 62 28 30 2c 30 2c  31 32 37 36 2c 31 33 36  |lab(0,0,1276,136|
00002b10  29 0d 0b d6 3e f2 74 65  78 74 28 6e 61 6d 65 24  |)...>.text(name$|
00002b20  28 31 29 2b 22 2c 20 70  6c 65 61 73 65 20 65 6e  |(1)+", please en|
00002b30  74 65 72 20 79 6f 75 72  20 77 6f 72 64 2e 22 2c  |ter your word.",|
00002b40  2d 31 2c 32 32 36 2c 31  29 3a 2a 46 58 31 35 0d  |-1,226,1):*FX15.|
00002b50  0b e0 47 75 73 65 72 24  28 32 29 3d a4 67 65 74  |..Guser$(2)=.get|
00002b60  73 74 72 69 6e 67 28 6e  61 6d 65 24 28 32 29 2b  |string(name$(2)+|
00002b70  22 20 6c 6f 6f 6b 20 61  77 61 79 2e 20 57 6f 72  |" look away. Wor|
00002b80  64 20 69 73 3a 20 22 2c  32 34 33 2c 31 2c 35 2c  |d is: ",243,1,5,|
00002b90  22 55 22 2c 30 29 0d 0b  ea 12 e7 a9 75 73 65 72  |"U",0)......user|
00002ba0  24 28 32 29 3c 35 20 8c  0d 0b f4 1d f2 73 6c 61  |$(2)<5 ......sla|
00002bb0  62 28 30 2c 30 2c 31 32  37 36 2c 31 33 36 29 3a  |b(0,0,1276,136):|
00002bc0  2a 46 58 31 35 0d 0b fe  40 79 6e 24 3d a4 67 65  |*FX15...@yn$=.ge|
00002bd0  74 73 74 72 69 6e 67 28  22 41 72 65 20 79 6f 75  |tstring("Are you|
00002be0  20 73 75 72 65 20 74 68  61 74 27 73 20 72 69 67  | sure that's rig|
00002bf0  68 74 3f 20 22 2c 32 33  34 2c 31 2c 33 2c 22 59  |ht? ",234,1,3,"Y|
00002c00  4e 22 2c 30 29 0d 0c 08  23 cd 3a 75 73 65 72 24  |N",0)...#.:user$|
00002c10  28 32 29 3d c0 75 73 65  72 24 28 32 29 2b 22 20  |(2)=.user$(2)+" |
00002c20  20 20 20 20 22 2c 35 29  0d 0c 12 0c fd 79 6e 24  |    ",5).....yn$|
00002c30  3d 22 59 22 0d 0c 1c 1d  e7 ac a4 69 73 77 6f 72  |="Y".......iswor|
00002c40  64 67 6f 6f 64 28 75 73  65 72 24 28 32 29 29 20  |dgood(user$(2)) |
00002c50  8c 0d 0c 26 3e f2 73 6c  61 62 28 30 2c 30 2c 31  |...&>.slab(0,0,1|
00002c60  32 37 36 2c 31 33 36 29  3a f2 74 65 78 74 28 22  |276,136):.text("|
00002c70  54 68 61 74 27 73 20 61  20 73 69 6c 6c 79 20 77  |That's a silly w|
00002c80  6f 72 64 21 22 2c 2d 31  2c 32 33 34 2c 31 29 0d  |ord!",-1,234,1).|
00002c90  0c 30 0d 49 25 3d a6 28  35 30 30 29 0d 0c 3a 05  |.0.I%=.(500)..:.|
00002ca0  cd 0d 0c 44 1a fd a4 69  73 77 6f 72 64 67 6f 6f  |...D...iswordgoo|
00002cb0  64 28 75 73 65 72 24 28  32 29 29 0d 0c 4e 05 f5  |d(user$(2))..N..|
00002cc0  0d 0c 58 21 f5 3a 79 6e  24 3d 22 59 22 3a f2 73  |..X!.:yn$="Y":.s|
00002cd0  6c 61 62 28 30 2c 30 2c  31 32 37 36 2c 31 33 36  |lab(0,0,1276,136|
00002ce0  29 0d 0c 62 3e f2 74 65  78 74 28 6e 61 6d 65 24  |)..b>.text(name$|
00002cf0  28 32 29 2b 22 2c 20 70  6c 65 61 73 65 20 65 6e  |(2)+", please en|
00002d00  74 65 72 20 79 6f 75 72  20 77 6f 72 64 2e 22 2c  |ter your word.",|
00002d10  2d 31 2c 32 32 36 2c 34  29 3a 2a 46 58 31 35 0d  |-1,226,4):*FX15.|
00002d20  0c 6c 47 75 73 65 72 24  28 31 29 3d a4 67 65 74  |.lGuser$(1)=.get|
00002d30  73 74 72 69 6e 67 28 6e  61 6d 65 24 28 31 29 2b  |string(name$(1)+|
00002d40  22 20 6c 6f 6f 6b 20 61  77 61 79 2e 20 57 6f 72  |" look away. Wor|
00002d50  64 20 69 73 3a 20 22 2c  32 34 33 2c 34 2c 35 2c  |d is: ",243,4,5,|
00002d60  22 55 22 2c 30 29 0d 0c  76 12 e7 a9 75 73 65 72  |"U",0)..v...user|
00002d70  24 28 31 29 3c 35 20 8c  0d 0c 80 1d f2 73 6c 61  |$(1)<5 ......sla|
00002d80  62 28 30 2c 30 2c 31 32  37 36 2c 31 33 36 29 3a  |b(0,0,1276,136):|
00002d90  2a 46 58 31 35 0d 0c 8a  40 79 6e 24 3d a4 67 65  |*FX15...@yn$=.ge|
00002da0  74 73 74 72 69 6e 67 28  22 41 72 65 20 79 6f 75  |tstring("Are you|
00002db0  20 73 75 72 65 20 74 68  61 74 27 73 20 72 69 67  | sure that's rig|
00002dc0  68 74 3f 20 22 2c 32 33  34 2c 34 2c 33 2c 22 59  |ht? ",234,4,3,"Y|
00002dd0  4e 22 2c 30 29 0d 0c 94  23 cd 3a 75 73 65 72 24  |N",0)...#.:user$|
00002de0  28 31 29 3d c0 75 73 65  72 24 28 31 29 2b 22 20  |(1)=.user$(1)+" |
00002df0  20 20 20 20 22 2c 35 29  0d 0c 9e 0c fd 79 6e 24  |    ",5).....yn$|
00002e00  3d 22 59 22 0d 0c a8 1d  e7 ac a4 69 73 77 6f 72  |="Y".......iswor|
00002e10  64 67 6f 6f 64 28 75 73  65 72 24 28 31 29 29 20  |dgood(user$(1)) |
00002e20  8c 0d 0c b2 3e f2 73 6c  61 62 28 30 2c 30 2c 31  |....>.slab(0,0,1|
00002e30  32 37 36 2c 31 33 36 29  3a f2 74 65 78 74 28 22  |276,136):.text("|
00002e40  54 68 61 74 27 73 20 61  20 73 69 6c 6c 79 20 77  |That's a silly w|
00002e50  6f 72 64 21 22 2c 2d 31  2c 32 33 34 2c 34 29 0d  |ord!",-1,234,4).|
00002e60  0c bc 0d 49 25 3d a6 28  35 30 30 29 0d 0c c6 05  |...I%=.(500)....|
00002e70  cd 0d 0c d0 1a fd a4 69  73 77 6f 72 64 67 6f 6f  |.......iswordgoo|
00002e80  64 28 75 73 65 72 24 28  31 29 29 0d 0c da 2f cd  |d(user$(1)).../.|
00002e90  3a 64 69 73 70 6c 61 79  24 28 31 29 3d 75 73 65  |:display$(1)=use|
00002ea0  72 24 28 31 29 3a 64 69  73 70 6c 61 79 24 28 32  |r$(1):display$(2|
00002eb0  29 3d 75 73 65 72 24 28  32 29 0d 0c e4 12 e7 77  |)=user$(2).....w|
00002ec0  6f 72 64 74 79 70 65 25  3d 31 20 8c 0d 0c ee 23  |ordtype%=1 ....#|
00002ed0  64 69 73 70 6c 61 79 24  28 31 29 3d a4 73 63 72  |display$(1)=.scr|
00002ee0  61 6d 62 6c 65 28 75 73  65 72 24 28 31 29 29 0d  |amble(user$(1)).|
00002ef0  0c f8 2f e7 70 6c 61 79  65 72 73 25 3d 32 3a 64  |../.players%=2:d|
00002f00  69 73 70 6c 61 79 24 28  32 29 3d a4 73 63 72 61  |isplay$(2)=.scra|
00002f10  6d 62 6c 65 28 75 73 65  72 24 28 32 29 29 0d 0d  |mble(user$(2))..|
00002f20  02 1c cd 3a e3 69 25 3d  31 b8 32 34 3a 70 69 63  |...:.i%=1.24:pic|
00002f30  25 28 69 25 29 3d 69 25  3a ed 0d 0d 0c 0f e7 73  |%(i%)=i%:......s|
00002f40  6b 69 6c 6c 25 3c 35 20  8c 0d 0d 16 17 f2 73 6c  |kill%<5 ......sl|
00002f50  61 62 28 30 2c 30 2c 31  32 37 36 2c 31 33 36 29  |ab(0,0,1276,136)|
00002f60  0d 0d 20 51 79 6e 24 3d  a4 67 65 74 73 74 72 69  |.. Qyn$=.getstri|
00002f70  6e 67 28 22 57 6f 75 6c  64 20 79 6f 75 20 6c 69  |ng("Would you li|
00002f80  6b 65 20 74 6f 20 63 68  6f 6f 73 65 20 79 6f 75  |ke to choose you|
00002f90  72 20 6f 77 6e 20 70 69  63 74 75 72 65 73 3f 20  |r own pictures? |
00002fa0  22 2c 32 33 34 2c 35 2c  33 2c 22 59 4e 22 2c 30  |",234,5,3,"YN",0|
00002fb0  29 0d 0d 2a 1a e7 79 6e  24 3d 22 59 22 20 8c 20  |)..*..yn$="Y" . |
00002fc0  f2 63 68 6f 6f 73 65 70  69 63 73 0d 0d 34 05 cd  |.choosepics..4..|
00002fd0  0d 0d 3e 12 f2 63 68 6f  6f 73 65 73 68 61 70 65  |..>..chooseshape|
00002fe0  3a e1 0d 0d 48 04 0d 0d  52 37 dd 20 a4 69 73 77  |:...H...R7. .isw|
00002ff0  6f 72 64 67 6f 6f 64 28  77 6f 72 64 24 29 3a 6c  |ordgood(word$):l|
00003000  61 73 74 63 68 61 72 25  3d 30 3a 6e 75 6d 73 61  |astchar%=0:numsa|
00003010  6d 65 25 3d 30 3a e3 49  25 3d 31 b8 35 0d 0d 5c  |me%=0:.I%=1.5..\|
00003020  34 63 68 61 72 25 3d 97  c1 77 6f 72 64 24 2c 49  |4char%=..word$,I|
00003030  25 2c 31 29 3a e7 63 68  61 72 25 3d 6c 61 73 74  |%,1):.char%=last|
00003040  63 68 61 72 25 3a 6e 75  6d 73 61 6d 65 25 2b 3d  |char%:numsame%+=|
00003050  31 0d 0d 66 24 6c 61 73  74 63 68 61 72 25 3d 63  |1..f$lastchar%=c|
00003060  68 61 72 25 3a ed 3a e7  6e 75 6d 73 61 6d 65 25  |har%:.:.numsame%|
00003070  3c 34 3a 3d b9 0d 0d 70  06 3d a3 0d 0d 7a 04 0d  |<4:=...p.=...z..|
00003080  0d 84 1c dd f2 68 74 28  6e 25 29 3a ea 20 63 25  |.....ht(n%):. c%|
00003090  2c 76 25 3a c8 8e 20 6e  25 20 ca 0d 0d 8e 14 c9  |,v%:.. n% ......|
000030a0  31 3a e7 70 6c 61 79 65  72 73 25 3d 31 20 8c 0d  |1:.players%=1 ..|
000030b0  0d 98 24 f2 74 65 78 74  28 22 4f 6e 65 20 50 6c  |..$.text("One Pl|
000030c0  61 79 65 72 20 47 61 6d  65 22 2c 2d 33 2c 33 39  |ayer Game",-3,39|
000030d0  2c 32 29 0d 0d a2 25 f2  74 65 78 74 28 22 54 77  |,2)...%.text("Tw|
000030e0  6f 20 50 6c 61 79 65 72  20 47 61 6d 65 22 2c 2d  |o Player Game",-|
000030f0  33 2c 35 30 2c 31 31 29  0d 0d ac 27 cc 3a f2 74  |3,50,11)...'.:.t|
00003100  65 78 74 28 22 4f 6e 65  20 50 6c 61 79 65 72 20  |ext("One Player |
00003110  47 61 6d 65 22 2c 2d 33  2c 33 39 2c 31 31 29 0d  |Game",-3,39,11).|
00003120  0d b6 24 f2 74 65 78 74  28 22 54 77 6f 20 50 6c  |..$.text("Two Pl|
00003130  61 79 65 72 20 47 61 6d  65 22 2c 2d 33 2c 35 30  |ayer Game",-3,50|
00003140  2c 32 29 0d 0d c0 05 cd  0d 0d ca 15 c9 32 3a e7  |,2)..........2:.|
00003150  63 6f 6d 77 6f 72 64 73  25 3d b9 20 8c 0d 0d d4  |comwords%=. ....|
00003160  23 f2 74 65 78 74 28 22  43 6f 6d 70 75 74 65 72  |#.text("Computer|
00003170  20 57 6f 72 64 73 22 2c  2d 33 2c 38 34 2c 32 29  | Words",-3,84,2)|
00003180  0d 0d de 20 f2 74 65 78  74 28 22 55 73 65 72 20  |... .text("User |
00003190  57 6f 72 64 73 22 2c 2d  33 2c 39 35 2c 31 31 29  |Words",-3,95,11)|
000031a0  0d 0d e8 26 cc 3a f2 74  65 78 74 28 22 43 6f 6d  |...&.:.text("Com|
000031b0  70 75 74 65 72 20 57 6f  72 64 73 22 2c 2d 33 2c  |puter Words",-3,|
000031c0  38 34 2c 31 31 29 0d 0d  f2 1f f2 74 65 78 74 28  |84,11).....text(|
000031d0  22 55 73 65 72 20 57 6f  72 64 73 22 2c 2d 33 2c  |"User Words",-3,|
000031e0  39 35 2c 32 29 0d 0d fc  05 cd 0d 0e 06 15 c9 33  |95,2)..........3|
000031f0  3a e7 77 6f 72 64 74 79  70 65 25 3d 31 20 8c 0d  |:.wordtype%=1 ..|
00003200  0e 10 25 f2 74 65 78 74  28 22 53 63 72 61 6d 62  |..%.text("Scramb|
00003210  6c 65 64 20 57 6f 72 64  73 22 2c 2d 33 2c 31 30  |led Words",-3,10|
00003220  36 2c 32 29 0d 0e 1a 23  f2 74 65 78 74 28 22 4e  |6,2)...#.text("N|
00003230  6f 72 6d 61 6c 20 57 6f  72 64 73 22 2c 2d 33 2c  |ormal Words",-3,|
00003240  31 31 37 2c 31 31 29 0d  0e 24 28 cc 3a f2 74 65  |117,11)..$(.:.te|
00003250  78 74 28 22 53 63 72 61  6d 62 6c 65 64 20 57 6f  |xt("Scrambled Wo|
00003260  72 64 73 22 2c 2d 33 2c  31 30 36 2c 31 31 29 0d  |rds",-3,106,11).|
00003270  0e 2e 22 f2 74 65 78 74  28 22 4e 6f 72 6d 61 6c  |..".text("Normal|
00003280  20 57 6f 72 64 73 22 2c  2d 33 2c 31 31 37 2c 32  | Words",-3,117,2|
00003290  29 0d 0e 38 05 cd 0d 0e  42 24 c9 34 3a e3 76 25  |)..8....B$.4:.v%|
000032a0  3d 31 b8 35 3a 63 25 3d  31 31 3a e7 73 6b 69 6c  |=1.5:c%=11:.skil|
000032b0  6c 25 3d 76 25 3a 63 25  3d 32 0d 0e 4c 0b c8 8e  |l%=v%:c%=2..L...|
000032c0  20 76 25 20 ca 0d 0e 56  23 c9 31 3a f2 74 65 78  | v% ...V#.1:.tex|
000032d0  74 28 22 4d 65 67 61 20  45 61 73 79 22 2c 2d 33  |t("Mega Easy",-3|
000032e0  2c 31 38 32 2c 63 25 29  0d 0e 60 23 c9 32 3a f2  |,182,c%)..`#.2:.|
000032f0  74 65 78 74 28 22 56 65  72 79 20 45 61 73 79 22  |text("Very Easy"|
00003300  2c 2d 33 2c 31 39 33 2c  63 25 29 0d 0e 6a 20 c9  |,-3,193,c%)..j .|
00003310  33 3a f2 74 65 78 74 28  22 53 69 6d 70 6c 65 22  |3:.text("Simple"|
00003320  2c 2d 33 2c 32 30 34 2c  63 25 29 0d 0e 74 24 c9  |,-3,204,c%)..t$.|
00003330  34 3a f2 74 65 78 74 28  22 54 75 66 66 20 28 69  |4:.text("Tuff (i|
00003340  73 68 29 22 2c 2d 33 2c  32 31 35 2c 63 25 29 0d  |sh)",-3,215,c%).|
00003350  0e 7e 23 c9 35 3a f2 74  65 78 74 28 22 4d 65 67  |.~#.5:.text("Meg|
00003360  61 20 54 75 66 66 22 2c  2d 33 2c 32 32 36 2c 63  |a Tuff",-3,226,c|
00003370  25 29 0d 0e 88 07 cb 3a  ed 0d 0e 92 07 cb 3a e1  |%).....:......:.|
00003380  0d 0e 9c 04 0d 0e a6 34  dd a4 73 63 72 61 6d 62  |.......4..scramb|
00003390  6c 65 28 73 63 72 24 29  3a ea 66 69 6e 61 6c 24  |le(scr$):.final$|
000033a0  3a 73 63 72 24 3d c0 73  63 72 24 2b 22 20 20 20  |:scr$=.scr$+"   |
000033b0  20 20 22 2c 35 29 3a f5  0d 0e b0 24 66 69 6e 61  |  ",5):....$fina|
000033c0  6c 24 3d 22 20 20 20 20  20 22 3a e3 69 25 3d 31  |l$="     ":.i%=1|
000033d0  b8 35 3a f5 3a 78 25 3d  b3 28 35 29 0d 0e ba 32  |.5:.:x%=.(5)...2|
000033e0  fd c1 66 69 6e 61 6c 24  2c 78 25 2c 31 29 3d 22  |..final$,x%,1)="|
000033f0  20 22 3a c1 66 69 6e 61  6c 24 2c 78 25 2c 31 29  | ":.final$,x%,1)|
00003400  3d c1 73 63 72 24 2c 69  25 2c 31 29 3a ed 0d 0e  |=.scr$,i%,1):...|
00003410  c4 22 fd 66 69 6e 61 6c  24 3c 3e 73 63 72 24 3a  |.".final$<>scr$:|
00003420  3d a4 72 73 70 61 63 65  28 66 69 6e 61 6c 24 29  |=.rspace(final$)|
00003430  0d 0e ce 04 0d 0e d8 2c  dd f2 6e 62 3a ea 78 25  |.......,..nb:.x%|
00003440  2c 79 25 2c 7a 25 3a c8  97 88 30 2c 30 3a f5 3a  |,y%,z%:...0,0:.:|
00003450  c8 97 78 25 2c 79 25 2c  7a 25 3a fd 7a 25 3d 30  |..x%,y%,z%:.z%=0|
00003460  0d 0e e2 0c c8 97 88 32  2c 32 3a e1 0d 0e ec 04  |.......2,2:.....|
00003470  0d 0e f6 34 dd f2 6c 6f  61 64 74 61 62 6c 65 3a  |...4..loadtable:|
00003480  66 69 6c 65 25 3d 8e 28  22 3c 57 6f 72 64 50 61  |file%=.("<WordPa|
00003490  69 72 24 44 69 72 3e 2e  48 69 67 68 53 63 6f 72  |ir$Dir>.HighScor|
000034a0  65 73 22 29 0d 0f 00 3b  e3 6e 61 6d 65 25 3d 31  |es")...;.name%=1|
000034b0  b8 31 30 3a e8 23 66 69  6c 65 25 2c 68 69 67 68  |.10:.#file%,high|
000034c0  24 28 6e 61 6d 65 25 29  2c 68 69 67 68 25 28 6e  |$(name%),high%(n|
000034d0  61 6d 65 25 29 3a ed 3a  d9 23 66 69 6c 65 25 0d  |ame%):.:.#file%.|
000034e0  0f 0a 05 e1 0d 0f 14 04  0d 0f 1e 1c dd f2 73 61  |..............sa|
000034f0  76 65 74 61 62 6c 65 3a  e7 ac 73 61 76 65 74 61  |vetable:..saveta|
00003500  62 25 3a e1 0d 0f 28 28  66 69 6c 65 25 3d ae 28  |b%:...((file%=.(|
00003510  22 3c 57 6f 72 64 50 61  69 72 24 44 69 72 3e 2e  |"<WordPair$Dir>.|
00003520  48 69 67 68 53 63 6f 72  65 73 22 29 0d 0f 32 3b  |HighScores")..2;|
00003530  e3 6e 61 6d 65 25 3d 31  b8 31 30 3a f1 23 66 69  |.name%=1.10:.#fi|
00003540  6c 65 25 2c 68 69 67 68  24 28 6e 61 6d 65 25 29  |le%,high$(name%)|
00003550  2c 68 69 67 68 25 28 6e  61 6d 65 25 29 3a ed 3a  |,high%(name%):.:|
00003560  d9 23 66 69 6c 65 25 0d  0f 3c 05 e1 0d 0f 46 04  |.#file%..<....F.|
00003570  0d 0f 50 42 dd f2 6e 65  77 77 6f 72 64 73 3a ea  |..PB..newwords:.|
00003580  20 78 78 25 2c 79 79 25  2c 62 75 74 74 6f 6e 25  | xx%,yy%,button%|
00003590  2c 74 69 6d 65 25 2c 70  72 69 6e 74 24 2c 6f 6c  |,time%,print$,ol|
000035a0  64 66 69 6c 65 25 2c 6e  65 77 66 69 6c 65 25 2c  |dfile%,newfile%,|
000035b0  6e 24 0d 0f 5a 34 f2 73  6c 61 62 28 30 2c 38 32  |n$..Z4.slab(0,82|
000035c0  30 2c 36 33 36 2c 36 34  29 3a f2 74 65 78 74 28  |0,636,64):.text(|
000035d0  22 4c 6f 61 64 20 57 6f  72 64 73 3a 22 2c 2d 32  |"Load Words:",-2|
000035e0  2c 33 39 2c 36 29 0d 0f  64 2a f2 73 6c 61 62 28  |,39,6)..d*.slab(|
000035f0  30 2c 31 34 30 2c 36 33  36 2c 36 37 36 29 3a c8  |0,140,636,676):.|
00003600  97 c8 93 30 2c 31 34 30  2c 36 33 36 2c 36 37 36  |...0,140,636,676|
00003610  0d 0f 6e 14 e3 69 25 3d  31 b8 77 6f 72 64 66 69  |..n..i%=1.wordfi|
00003620  6c 65 73 25 0d 0f 78 23  f2 74 65 78 74 28 66 6e  |les%..x#.text(fn|
00003630  61 6d 65 24 28 69 25 29  2c 38 2c 34 35 2b 69 25  |ame$(i%),8,45+i%|
00003640  2a 31 31 2c 31 31 29 0d  0f 82 35 f2 74 65 78 74  |*11,11)...5.text|
00003650  28 22 28 22 2b c3 77 6f  72 64 73 25 28 69 25 29  |("("+.words%(i%)|
00003660  2b 22 29 22 2c 31 31 35  32 2d 38 2a a9 6e 24 2c  |+")",1152-8*.n$,|
00003670  34 35 2b 69 25 2a 31 31  2c 31 31 29 0d 0f 8c 2f  |45+i%*11,11).../|
00003680  ed 3a c8 97 78 78 25 2c  79 79 25 2c 62 75 74 74  |.:..xx%,yy%,butt|
00003690  6f 6e 25 3a 78 78 25 3d  78 78 25 81 34 2a 34 3a  |on%:xx%=xx%.4*4:|
000036a0  79 79 25 3d 79 79 25 81  34 2a 34 0d 0f 96 35 6f  |yy%=yy%.4*4...5o|
000036b0  66 25 3d 28 38 30 36 2d  79 79 25 29 2f 34 34 2b  |f%=(806-yy%)/44+|
000036c0  31 3a e7 6f 66 25 3e 77  6f 72 64 66 69 6c 65 73  |1:.of%>wordfiles|
000036d0  25 3a 6f 66 25 3d 77 6f  72 64 66 69 6c 65 73 25  |%:of%=wordfiles%|
000036e0  0d 0f a0 10 e7 6f 66 25  3c 31 3a 6f 66 25 3d 31  |.....of%<1:of%=1|
000036f0  0d 0f aa 25 e6 32 31 c8  9c 36 34 3a c8 93 c8 90  |...%.21..64:....|
00003700  31 32 2c 38 34 38 2d 6f  66 25 2a 34 34 2c 36 31  |12,848-of%*44,61|
00003710  32 2c 2d 34 30 0d 0f b4  24 f2 74 65 78 74 28 66  |2,-40...$.text(f|
00003720  6e 61 6d 65 24 28 6f 66  25 29 2c 38 2c 34 35 2b  |name$(of%),8,45+|
00003730  6f 66 25 2a 31 31 2c 32  29 0d 0f be 30 f2 74 65  |of%*11,2)...0.te|
00003740  78 74 28 22 28 22 2b c3  77 6f 72 64 73 25 28 6f  |xt("("+.words%(o|
00003750  66 25 29 2b 22 29 22 2c  31 31 35 32 2c 34 35 2b  |f%)+")",1152,45+|
00003760  6f 66 25 2a 31 31 2c 32  29 0d 0f c8 23 f2 6e 62  |of%*11,2)...#.nb|
00003770  3a f5 3a c8 97 78 78 25  2c 79 79 25 2c 62 75 74  |:.:..xx%,yy%,but|
00003780  74 6f 6e 25 3a f2 73 63  72 6f 6c 6c 0d 0f d2 44  |ton%:.scroll...D|
00003790  6e 65 77 66 69 6c 65 25  3d 28 38 30 36 2d 79 79  |newfile%=(806-yy|
000037a0  25 29 2f 34 34 2b 31 3a  e7 6e 65 77 66 69 6c 65  |%)/44+1:.newfile|
000037b0  25 3e 77 6f 72 64 66 69  6c 65 73 25 3a 6e 65 77  |%>wordfiles%:new|
000037c0  66 69 6c 65 25 3d 77 6f  72 64 66 69 6c 65 73 25  |file%=wordfiles%|
000037d0  0d 0f dc 1a e7 6e 65 77  66 69 6c 65 25 3c 31 3a  |.....newfile%<1:|
000037e0  6e 65 77 66 69 6c 65 25  3d 31 0d 0f e6 14 e7 6e  |newfile%=1.....n|
000037f0  65 77 66 69 6c 65 25 3c  3e 6f 66 25 20 8c 0d 0f  |ewfile%<>of% ...|
00003800  f0 24 e6 34 32 c8 9c 30  3a c8 93 c8 90 31 32 2c  |.$.42..0:....12,|
00003810  38 34 38 2d 6f 66 25 2a  34 34 2c 36 31 32 2c 2d  |848-of%*44,612,-|
00003820  34 30 0d 0f fa 25 f2 74  65 78 74 28 66 6e 61 6d  |40...%.text(fnam|
00003830  65 24 28 6f 66 25 29 2c  38 2c 34 35 2b 6f 66 25  |e$(of%),8,45+of%|
00003840  2a 31 31 2c 31 31 29 0d  10 04 31 f2 74 65 78 74  |*11,11)...1.text|
00003850  28 22 28 22 2b c3 77 6f  72 64 73 25 28 6f 66 25  |("("+.words%(of%|
00003860  29 2b 22 29 22 2c 31 31  35 32 2c 34 35 2b 6f 66  |)+")",1152,45+of|
00003870  25 2a 31 31 2c 31 31 29  0d 10 0e 10 6f 66 25 3d  |%*11,11)....of%=|
00003880  6e 65 77 66 69 6c 65 25  0d 10 18 25 e6 32 31 c8  |newfile%...%.21.|
00003890  9c 36 34 3a c8 93 c8 90  31 32 2c 38 34 38 2d 6f  |.64:....12,848-o|
000038a0  66 25 2a 34 34 2c 36 31  32 2c 2d 34 30 0d 10 22  |f%*44,612,-40.."|
000038b0  24 f2 74 65 78 74 28 66  6e 61 6d 65 24 28 6f 66  |$.text(fname$(of|
000038c0  25 29 2c 38 2c 34 35 2b  6f 66 25 2a 31 31 2c 32  |%),8,45+of%*11,2|
000038d0  29 0d 10 2c 30 f2 74 65  78 74 28 22 28 22 2b c3  |)..,0.text("("+.|
000038e0  77 6f 72 64 73 25 28 6f  66 25 29 2b 22 29 22 2c  |words%(of%)+")",|
000038f0  31 31 35 32 2c 34 35 2b  6f 66 25 2a 31 31 2c 32  |1152,45+of%*11,2|
00003900  29 0d 10 36 05 cd 0d 10  40 0c fd 62 75 74 74 6f  |)..6....@..butto|
00003910  6e 25 0d 10 4a 29 77 6f  72 64 66 69 6c 65 24 3d  |n%..J)wordfile$=|
00003920  66 6e 61 6d 65 24 28 6e  65 77 66 69 6c 65 25 29  |fname$(newfile%)|
00003930  3a f2 6c 6f 61 64 77 6f  72 64 73 0d 10 54 1d e6  |:.loadwords..T..|
00003940  34 32 c8 9c 30 3a c8 93  c8 90 36 35 32 2c 34 35  |42..0:....652,45|
00003950  36 2c 36 31 32 2c 34 30  0d 10 5e 2b f2 74 65 78  |6,612,40..^+.tex|
00003960  74 28 22 46 69 6c 65 3a  20 27 22 2b 77 6f 72 64  |t("File: '"+word|
00003970  66 69 6c 65 24 2b 22 60  22 2c 2d 33 2c 31 33 33  |file$+"`",-3,133|
00003980  2c 36 29 0d 10 68 35 f2  73 6c 61 62 28 30 2c 38  |,6)..h5.slab(0,8|
00003990  32 30 2c 36 33 36 2c 36  34 29 3a f2 74 65 78 74  |20,636,64):.text|
000039a0  28 22 48 69 67 68 20 53  63 6f 72 65 73 3a 22 2c  |("High Scores:",|
000039b0  2d 32 2c 33 39 2c 36 29  0d 10 72 18 f2 73 6c 61  |-2,39,6)..r..sla|
000039c0  62 28 30 2c 31 34 30 2c  36 33 36 2c 36 37 36 29  |b(0,140,636,676)|
000039d0  0d 10 7c 0f e3 74 69 6d  65 25 3d 31 b8 31 30 0d  |..|..time%=1.10.|
000039e0  10 86 20 e7 75 70 31 25  3c 3e 74 69 6d 65 25 20  |.. .up1%<>time% |
000039f0  80 20 75 70 32 25 3c 3e  74 69 6d 65 25 20 8c 0d  |. up2%<>time% ..|
00003a00  10 90 27 f2 74 65 78 74  28 68 69 67 68 24 28 74  |..'.text(high$(t|
00003a10  69 6d 65 25 29 2c 38 2c  33 39 2b 74 69 6d 65 25  |ime%),8,39+time%|
00003a20  2a 31 37 2c 36 29 0d 10  9a 2b f2 74 65 78 74 28  |*17,6)...+.text(|
00003a30  c3 68 69 67 68 25 28 74  69 6d 65 25 29 2c 31 31  |.high%(time%),11|
00003a40  35 32 2c 33 39 2b 74 69  6d 65 25 2a 31 37 2c 36  |52,39+time%*17,6|
00003a50  29 0d 10 a4 05 cc 0d 10  ae 27 f2 74 65 78 74 28  |)........'.text(|
00003a60  68 69 67 68 24 28 74 69  6d 65 25 29 2c 38 2c 33  |high$(time%),8,3|
00003a70  39 2b 74 69 6d 65 25 2a  31 37 2c 37 29 0d 10 b8  |9+time%*17,7)...|
00003a80  2b f2 74 65 78 74 28 c3  68 69 67 68 25 28 74 69  |+.text(.high%(ti|
00003a90  6d 65 25 29 2c 31 31 35  32 2c 33 39 2b 74 69 6d  |me%),1152,39+tim|
00003aa0  65 25 2a 31 37 2c 37 29  0d 10 c2 1b cd 3a ed 3a  |e%*17,7).....:.:|
00003ab0  c8 97 c8 93 30 2c 30 2c  31 32 37 36 2c 31 30 32  |....0,0,1276,102|
00003ac0  30 3a e1 0d 10 cc 04 0d  10 d6 3c dd f2 74 69 74  |0:........<..tit|
00003ad0  6c 65 3a 75 70 25 3d 30  3a 75 70 31 25 3d 30 3a  |le:up%=0:up1%=0:|
00003ae0  75 70 32 25 3d 30 3a 73  63 72 78 25 3d 33 32 3a  |up2%=0:scrx%=32:|
00003af0  73 63 72 73 74 78 25 3d  30 3a 73 63 63 6f 6c 25  |scrstx%=0:sccol%|
00003b00  3d 36 33 0d 10 e0 38 ef  31 39 2c 30 2c 32 34 2c  |=63...8.19,0,24,|
00003b10  30 2c 30 2c 30 3a fb 31  32 38 c8 9c 30 3a 70 61  |0,0,0:.128..0:pa|
00003b20  75 73 65 64 25 3d a3 3a  66 6c 61 73 68 25 3d a3  |used%=.:flash%=.|
00003b30  3a 73 63 72 73 74 65 70  25 3d 34 0d 10 ea 2d ff  |:scrstep%=4...-.|
00003b40  22 46 58 31 31 33 2c 31  22 3a ff 22 46 58 31 31  |"FX113,1":."FX11|
00003b50  32 2c 31 22 3a ee 85 e7  9f 3d 31 37 3a f2 65 73  |2,1":....=17:.es|
00003b60  63 3a 8b 3a f2 65 6e 64  0d 10 f4 35 f2 6d 6f 75  |c:.:.end...5.mou|
00003b70  73 65 6f 66 66 3a e7 73  63 6f 72 65 25 28 31 29  |seoff:.score%(1)|
00003b80  3e 68 69 67 68 25 28 31  30 29 3a f2 65 6e 74 65  |>high%(10):.ente|
00003b90  72 28 31 29 3a 75 70 31  25 3d 75 70 25 0d 10 fe  |r(1):up1%=up%...|
00003ba0  2b e7 73 63 6f 72 65 25  28 32 29 3e 68 69 67 68  |+.score%(2)>high|
00003bb0  25 28 31 30 29 3a f2 65  6e 74 65 72 28 32 29 3a  |%(10):.enter(2):|
00003bc0  75 70 32 25 3d 75 70 25  0d 11 08 2d 73 63 6f 72  |up2%=up%...-scor|
00003bd0  65 25 28 29 3d 30 3a c8  97 c8 93 30 2c 30 2c 31  |e%()=0:....0,0,1|
00003be0  32 37 36 2c 31 30 32 30  3a ff 22 46 58 31 31 32  |276,1020:."FX112|
00003bf0  2c 32 22 3a db 0d 11 12  11 c8 96 3a ff 22 46 58  |,2":.......:."FX|
00003c00  31 31 33 2c 31 22 0d 11  1c 29 c8 99 26 32 45 2c  |113,1"...)..&2E,|
00003c10  33 34 2b 32 35 36 2c 73  70 72 25 2c 22 6d 65 6e  |34+256,spr%,"men|
00003c20  75 74 69 74 6c 65 22 2c  30 2c 38 38 38 2c 30 0d  |utitle",0,888,0.|
00003c30  11 26 2f c8 99 26 32 45  2c 31 36 2b 32 35 36 2c  |.&/..&2E,16+256,|
00003c40  73 70 72 25 2c 22 73 63  72 62 61 63 6b 22 2c 30  |spr%,"scrback",0|
00003c50  2c 32 30 2c 32 30 2c 31  32 36 30 2c 34 38 0d 11  |,20,20,1260,48..|
00003c60  30 35 f2 73 6c 61 62 28  30 2c 38 32 30 2c 36 33  |05.slab(0,820,63|
00003c70  36 2c 36 34 29 3a f2 74  65 78 74 28 22 48 69 67  |6,64):.text("Hig|
00003c80  68 20 53 63 6f 72 65 73  3a 22 2c 2d 32 2c 33 39  |h Scores:",-2,39|
00003c90  2c 36 29 0d 11 3a 33 f2  73 6c 61 62 28 30 2c 37  |,6)..:3.slab(0,7|
00003ca0  32 2c 36 33 36 2c 36 34  29 3a f2 74 65 78 74 28  |2,636,64):.text(|
00003cb0  22 53 74 61 72 74 20 47  61 6d 65 22 2c 2d 32 2c  |"Start Game",-2,|
00003cc0  32 32 36 2c 33 29 0d 11  44 3c f2 73 6c 61 62 28  |226,3)..D<.slab(|
00003cd0  30 2c 31 34 30 2c 36 33  36 2c 36 37 36 29 3a 63  |0,140,636,676):c|
00003ce0  6c 69 63 6b 73 74 61 72  74 25 3d a3 3a f2 73 6c  |lickstart%=.:.sl|
00003cf0  61 62 28 36 34 30 2c 38  38 38 2c 36 33 36 2c 36  |ab(640,888,636,6|
00003d00  34 29 0d 11 4e 2f f2 73  6c 61 62 28 36 34 30 2c  |4)..N/.slab(640,|
00003d10  39 35 36 2c 36 33 36 2c  36 34 29 3a f2 73 6c 61  |956,636,64):.sla|
00003d20  62 28 30 2c 30 2c 31 32  37 36 2c 36 38 29 3a e6  |b(0,0,1276,68):.|
00003d30  30 0d 11 58 15 c8 93 c8  90 31 36 2c 31 36 2c 31  |0..X.....16,16,1|
00003d40  32 34 34 2c 33 36 0d 11  62 0f e7 74 75 6e 65 73  |244,36..b..tunes|
00003d50  25 3e 30 20 8c 0d 11 6c  27 f2 74 65 78 74 28 22  |%>0 ...l'.text("|
00003d60  54 75 6e 65 3a 22 2c 32  30 30 2c 35 2c 36 29 3a  |Tune:",200,5,6):|
00003d70  f2 74 75 6e 65 28 74 75  6e 65 25 29 0d 11 76 05  |.tune(tune%)..v.|
00003d80  cc 0d 11 80 21 f2 74 65  78 74 28 22 62 79 20 53  |....!.text("by S|
00003d90  69 6d 6f 6e 20 48 65 79  73 22 2c 2d 33 2c 35 2c  |imon Heys",-3,5,|
00003da0  36 29 0d 11 8a 3a cd 3a  f2 6f 75 74 70 75 74 3a  |6)...:.:.output:|
00003db0  f2 73 6c 61 62 28 36 34  30 2c 38 38 38 2c 36 33  |.slab(640,888,63|
00003dc0  36 2c 36 34 29 3a f2 73  6c 61 62 28 36 34 30 2c  |6,64):.slab(640,|
00003dd0  37 37 36 2c 36 33 36 2c  31 30 38 29 0d 11 94 31  |776,636,108)...1|
00003de0  f2 73 6c 61 62 28 36 34  30 2c 37 30 38 2c 36 33  |.slab(640,708,63|
00003df0  36 2c 36 34 29 3a f2 74  65 78 74 28 22 57 6f 72  |6,64):.text("Wor|
00003e00  64 73 3a 22 2c 2d 33 2c  36 37 2c 36 29 0d 11 9e  |ds:",-3,67,6)...|
00003e10  1a f2 73 6c 61 62 28 36  34 30 2c 33 38 34 2c 36  |..slab(640,384,6|
00003e20  33 36 2c 33 32 30 29 0d  11 a8 2b f2 74 65 78 74  |36,320)...+.text|
00003e30  28 22 46 69 6c 65 3a 20  27 22 2b 77 6f 72 64 66  |("File: '"+wordf|
00003e40  69 6c 65 24 2b 22 60 22  2c 2d 33 2c 31 33 33 2c  |ile$+"`",-3,133,|
00003e50  36 29 0d 11 b2 24 f2 74  65 78 74 28 22 4c 6f 61  |6)...$.text("Loa|
00003e60  64 20 4e 65 77 20 57 6f  72 64 73 22 2c 2d 33 2c  |d New Words",-3,|
00003e70  31 34 38 2c 33 29 0d 11  bc 2f f2 73 6c 61 62 28  |148,3).../.slab(|
00003e80  36 34 30 2c 33 31 36 2c  36 33 36 2c 36 34 29 3a  |640,316,636,64):|
00003e90  f2 73 6c 61 62 28 36 34  30 2c 37 32 2c 36 33 36  |.slab(640,72,636|
00003ea0  2c 32 34 30 29 0d 11 c6  3c f2 74 65 78 74 28 22  |,240)...<.text("|
00003eb0  50 6c 61 79 65 72 73 3a  22 2c 2d 33 2c 32 32 2c  |Players:",-3,22,|
00003ec0  36 29 3a f2 74 65 78 74  28 22 53 6b 69 6c 6c 20  |6):.text("Skill |
00003ed0  4c 65 76 65 6c 3a 22 2c  2d 33 2c 31 36 35 2c 36  |Level:",-3,165,6|
00003ee0  29 0d 11 d0 0f e3 74 69  6d 65 25 3d 31 b8 31 30  |).....time%=1.10|
00003ef0  0d 11 da 20 e7 75 70 31  25 3c 3e 74 69 6d 65 25  |... .up1%<>time%|
00003f00  20 80 20 75 70 32 25 3c  3e 74 69 6d 65 25 20 8c  | . up2%<>time% .|
00003f10  0d 11 e4 27 f2 74 65 78  74 28 68 69 67 68 24 28  |...'.text(high$(|
00003f20  74 69 6d 65 25 29 2c 38  2c 33 39 2b 74 69 6d 65  |time%),8,39+time|
00003f30  25 2a 31 37 2c 36 29 0d  11 ee 2b f2 74 65 78 74  |%*17,6)...+.text|
00003f40  28 c3 68 69 67 68 25 28  74 69 6d 65 25 29 2c 31  |(.high%(time%),1|
00003f50  31 35 32 2c 33 39 2b 74  69 6d 65 25 2a 31 37 2c  |152,39+time%*17,|
00003f60  36 29 0d 11 f8 05 cc 0d  12 02 27 f2 74 65 78 74  |6)........'.text|
00003f70  28 68 69 67 68 24 28 74  69 6d 65 25 29 2c 38 2c  |(high$(time%),8,|
00003f80  33 39 2b 74 69 6d 65 25  2a 31 37 2c 37 29 0d 12  |39+time%*17,7)..|
00003f90  0c 2b f2 74 65 78 74 28  c3 68 69 67 68 25 28 74  |.+.text(.high%(t|
00003fa0  69 6d 65 25 29 2c 31 31  35 32 2c 33 39 2b 74 69  |ime%),1152,39+ti|
00003fb0  6d 65 25 2a 31 37 2c 37  29 0d 12 16 21 cd 3a ed  |me%*17,7)...!.:.|
00003fc0  3a e3 69 25 3d 31 b8 34  3a f2 68 74 28 69 25 29  |:.i%=1.4:.ht(i%)|
00003fd0  3a ed 3a f2 70 74 72 28  31 29 0d 12 20 35 c8 97  |:.:.ptr(1).. 5..|
00003fe0  fb 31 2c 31 32 30 2c 30  2c 32 34 30 3a c8 97 fb  |.1,120,0,240:...|
00003ff0  33 2c 38 30 2c 30 2c 31  36 30 3a c8 96 3a ff 22  |3,80,0,160:..:."|
00004000  46 58 31 31 32 2c 31 22  3a d6 63 6c 65 61 72 0d  |FX112,1":.clear.|
00004010  12 2a 36 f5 3a f5 3a c8  97 78 78 25 2c 79 79 25  |.*6.:.:..xx%,yy%|
00004020  2c 62 75 74 74 6f 6e 25  3a f2 73 63 72 6f 6c 6c  |,button%:.scroll|
00004030  3a fd 62 75 74 74 6f 6e  25 3a 78 78 25 3d 78 78  |:.button%:xx%=xx|
00004040  25 81 34 2a 34 0d 12 34  1b 79 79 25 3d 79 79 25  |%.4*4..4.yy%=yy%|
00004050  81 34 2a 34 3a e7 20 78  78 25 3e 36 33 36 20 8c  |.4*4:. xx%>636 .|
00004060  0d 12 3e 37 e7 20 79 79  25 3c 3d 38 37 32 20 80  |..>7. yy%<=872 .|
00004070  20 79 79 25 3e 3d 38 33  32 20 80 20 63 6f 6d 77  | yy%>=832 . comw|
00004080  6f 72 64 73 25 3a 70 6c  61 79 65 72 73 25 3d 31  |ords%:players%=1|
00004090  3a f2 68 74 28 31 29 0d  12 48 2b e7 20 79 79 25  |:.ht(1)..H+. yy%|
000040a0  3c 3d 38 32 38 20 80 20  79 79 25 3e 3d 37 38 38  |<=828 . yy%>=788|
000040b0  3a 70 6c 61 79 65 72 73  25 3d 32 3a f2 68 74 28  |:players%=2:.ht(|
000040c0  31 29 0d 12 52 2c e7 20  79 79 25 3c 3d 36 39 32  |1)..R,. yy%<=692|
000040d0  20 80 20 79 79 25 3e 3d  36 35 32 3a 63 6f 6d 77  | . yy%>=652:comw|
000040e0  6f 72 64 73 25 3d b9 3a  f2 68 74 28 32 29 0d 12  |ords%=.:.ht(2)..|
000040f0  5c 39 e7 20 79 79 25 3c  3d 36 34 38 20 80 20 79  |\9. yy%<=648 . y|
00004100  79 25 3e 3d 36 30 38 20  80 20 70 6c 61 79 65 72  |y%>=608 . player|
00004110  73 25 3d 32 3a 63 6f 6d  77 6f 72 64 73 25 3d a3  |s%=2:comwords%=.|
00004120  3a f2 68 74 28 32 29 0d  12 66 2c e7 20 79 79 25  |:.ht(2)..f,. yy%|
00004130  3c 3d 36 30 34 20 80 20  79 79 25 3e 3d 35 36 34  |<=604 . yy%>=564|
00004140  3a 77 6f 72 64 74 79 70  65 25 3d 31 3a f2 68 74  |:wordtype%=1:.ht|
00004150  28 33 29 0d 12 70 2c e7  20 79 79 25 3c 3d 35 36  |(3)..p,. yy%<=56|
00004160  30 20 80 20 79 79 25 3e  3d 35 32 30 3a 77 6f 72  |0 . yy%>=520:wor|
00004170  64 74 79 70 65 25 3d 32  3a f2 68 74 28 33 29 0d  |dtype%=2:.ht(3).|
00004180  12 7a 23 e7 20 79 79 25  3c 3d 34 33 36 20 80 20  |.z#. yy%<=436 . |
00004190  79 79 25 3e 3d 33 39 36  3a f2 6e 65 77 77 6f 72  |yy%>=396:.newwor|
000041a0  64 73 0d 12 84 29 e7 20  79 79 25 3c 3d 33 30 30  |ds...). yy%<=300|
000041b0  20 80 20 79 79 25 3e 3d  32 36 30 3a 73 6b 69 6c  | . yy%>=260:skil|
000041c0  6c 25 3d 31 3a f2 68 74  28 34 29 0d 12 8e 29 e7  |l%=1:.ht(4)...).|
000041d0  20 79 79 25 3c 3d 32 35  36 20 80 20 79 79 25 3e  | yy%<=256 . yy%>|
000041e0  3d 32 31 36 3a 73 6b 69  6c 6c 25 3d 32 3a f2 68  |=216:skill%=2:.h|
000041f0  74 28 34 29 0d 12 98 29  e7 20 79 79 25 3c 3d 32  |t(4)...). yy%<=2|
00004200  31 32 20 80 20 79 79 25  3e 3d 31 37 32 3a 73 6b  |12 . yy%>=172:sk|
00004210  69 6c 6c 25 3d 33 3a f2  68 74 28 34 29 0d 12 a2  |ill%=3:.ht(4)...|
00004220  29 e7 20 79 79 25 3c 3d  31 36 38 20 80 20 79 79  |). yy%<=168 . yy|
00004230  25 3e 3d 31 32 38 3a 73  6b 69 6c 6c 25 3d 34 3a  |%>=128:skill%=4:|
00004240  f2 68 74 28 34 29 0d 12  ac 28 e7 20 79 79 25 3c  |.ht(4)...(. yy%<|
00004250  3d 31 32 34 20 80 20 79  79 25 3e 3d 38 34 3a 73  |=124 . yy%>=84:s|
00004260  6b 69 6c 6c 25 3d 35 3a  f2 68 74 28 34 29 0d 12  |kill%=5:.ht(4)..|
00004270  b6 25 cc 3a e7 79 79 25  3c 3d 31 32 34 80 79 79  |.%.:.yy%<=124.yy|
00004280  25 3e 3d 38 34 3a 63 6c  69 63 6b 73 74 61 72 74  |%>=84:clickstart|
00004290  25 3d b9 0d 12 c0 1b cd  3a e7 79 79 25 3c 3d 31  |%=......:.yy%<=1|
000042a0  30 30 34 80 79 79 25 3e  3d 39 37 32 20 8c 0d 12  |004.yy%>=972 ...|
000042b0  ca 49 e7 20 78 78 25 3e  39 35 34 20 80 20 78 78  |.I. xx%>954 . xx|
000042c0  25 3c 31 31 31 36 3a 74  25 3d 28 78 78 25 2d 39  |%<1116:t%=(xx%-9|
000042d0  35 34 29 2f 33 32 3a e7  74 75 6e 65 73 25 3e 30  |54)/32:.tunes%>0|
000042e0  20 80 20 74 25 3c 3d 74  75 6e 65 73 25 3a f2 74  | . t%<=tunes%:.t|
000042f0  75 6e 65 28 74 25 29 0d  12 d4 30 e7 20 78 78 25  |une(t%)...0. xx%|
00004300  3e 31 31 38 30 80 20 78  78 25 3c 31 32 31 36 3a  |>1180. xx%<1216:|
00004310  73 70 65 61 6b 25 3d 33  2d 73 70 65 61 6b 25 3a  |speak%=3-speak%:|
00004320  f2 6f 75 74 70 75 74 0d  12 de 30 cd 3a f2 6e 62  |.output...0.:.nb|
00004330  3a fd 63 6c 69 63 6b 73  74 61 72 74 25 3a f2 67  |:.clickstart%:.g|
00004340  65 74 6e 61 6d 65 73 3a  f2 69 6e 69 74 67 72 69  |etnames:.initgri|
00004350  64 3a f2 67 61 6d 65 0d  12 e8 05 e1 0d 12 f2 04  |d:.game.........|
00004360  0d 12 fc 3a dd f2 73 6d  69 64 28 73 70 24 2c 73  |...:..smid(sp$,s|
00004370  79 25 2c 67 63 25 29 3a  ea 77 25 3a c8 99 20 26  |y%,gc%):.w%:.. &|
00004380  32 45 2c 34 30 2b 32 35  36 2c 73 70 72 25 2c 73  |2E,40+256,spr%,s|
00004390  70 24 20 b8 20 2c 2c 2c  77 25 0d 13 06 32 c8 99  |p$ . ,,,w%...2..|
000043a0  20 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  | &2E,34+256,spr%|
000043b0  2c 73 70 24 2c 28 31 32  37 36 2d 77 25 2a 34 29  |,sp$,(1276-w%*4)|
000043c0  2f 32 2c 73 79 25 2c 67  63 25 3a e1 0d 13 10 04  |/2,sy%,gc%:.....|
000043d0  0d 13 1a 38 dd f2 63 6f  6e 67 72 61 74 73 3a ff  |...8..congrats:.|
000043e0  22 46 58 31 31 32 2c 32  22 3a f2 73 6c 61 62 28  |"FX112,2":.slab(|
000043f0  30 2c 38 33 32 2c 31 32  37 36 2c 36 30 29 3a e7  |0,832,1276,60):.|
00004400  67 6f 74 69 74 25 20 8c  0d 13 24 11 c8 8e 20 63  |gotit% ...$... c|
00004410  75 72 72 65 6e 74 25 20  ca 0d 13 2e 43 c9 31 3a  |urrent% ....C.1:|
00004420  f2 74 65 78 74 28 22 57  65 6c 6c 20 64 6f 6e 65  |.text("Well done|
00004430  20 22 2b 6e 61 6d 65 24  28 31 29 2b 22 21 20 28  | "+name$(1)+"! (|
00004440  42 6f 6e 75 73 20 22 2b  c3 62 6f 6e 75 73 25 2b  |Bonus "+.bonus%+|
00004450  22 29 22 2c 2d 31 2c 33  36 2c 31 29 0d 13 38 43  |")",-1,36,1)..8C|
00004460  c9 32 3a f2 74 65 78 74  28 22 57 65 6c 6c 20 64  |.2:.text("Well d|
00004470  6f 6e 65 20 22 2b 6e 61  6d 65 24 28 32 29 2b 22  |one "+name$(2)+"|
00004480  21 20 28 42 6f 6e 75 73  20 22 2b c3 62 6f 6e 75  |! (Bonus "+.bonu|
00004490  73 25 2b 22 29 22 2c 2d  31 2c 33 36 2c 34 29 0d  |s%+")",-1,36,4).|
000044a0  13 42 1d cb 3a ff 22 46  58 31 31 32 2c 31 22 3a  |.B..:."FX112,1":|
000044b0  e3 69 25 3d 33 31 36 b8  30 88 2d 34 0d 13 4c 37  |.i%=316.0.-4..L7|
000044c0  f2 73 63 61 6c 65 28 22  77 6f 77 21 22 2c 69 25  |.scale("wow!",i%|
000044d0  2c 31 39 32 2b 69 25 2c  31 32 38 30 2d 69 25 2c  |,192+i%,1280-i%,|
000044e0  38 33 32 2d 69 25 29 3a  ed 3a 69 25 3d a6 28 32  |832-i%):.:i%=.(2|
000044f0  30 30 29 0d 13 56 0e ff  22 46 58 31 31 32 2c 32  |00)..V.."FX112,2|
00004500  22 0d 13 60 35 cc 3a f2  74 65 78 74 28 22 54 6f  |"..`5.:.text("To|
00004510  75 67 68 20 62 75 6e 73  21 20 59 6f 75 20 64 69  |ugh buns! You di|
00004520  64 6e 27 74 20 67 65 74  20 69 74 2e 22 2c 2d 31  |dn't get it.",-1|
00004530  2c 33 36 2c 37 29 0d 13  6a 39 cd 3a e3 78 25 3d  |,36,7)..j9.:.x%=|
00004540  30 b8 39 3a e3 79 25 3d  30 b8 34 3a 74 69 6c 65  |0.9:.y%=0.4:tile|
00004550  24 3d 22 70 69 63 74 75  72 65 2d 22 2b c3 67 72  |$="picture-"+.gr|
00004560  69 64 32 25 28 78 25 2b  31 2c 79 25 2b 31 29 0d  |id2%(x%+1,y%+1).|
00004570  13 74 29 e7 74 69 6c 65  24 3d 22 70 69 63 74 75  |.t).tile$="pictu|
00004580  72 65 2d 32 35 22 3a 74  69 6c 65 24 3d 22 77 69  |re-25":tile$="wi|
00004590  6c 64 2d 63 61 72 64 22  0d 13 7e 2f c8 99 26 32  |ld-card"..~/..&2|
000045a0  45 2c 33 34 2b 32 35 36  2c 73 70 72 25 2c 74 69  |E,34+256,spr%,ti|
000045b0  6c 65 24 2c 78 25 2a 31  32 38 2c 79 25 2a 31 32  |le$,x%*128,y%*12|
000045c0  38 2b 31 39 32 2c 30 0d  13 88 10 ed 3a ed 3a d6  |8+192,0.....:.:.|
000045d0  63 6c 65 61 72 3a db 0d  13 92 0e f2 67 61 6d 65  |clear:......game|
000045e0  74 69 74 6c 65 0d 13 9c  33 f2 73 63 6f 72 65 73  |title...3.scores|
000045f0  3a ff 22 46 58 31 31 33  2c 31 22 3a c8 97 fb 31  |:."FX113,1":...1|
00004600  2c 31 32 30 2c 30 2c 32  34 30 3a c8 97 fb 33 2c  |,120,0,240:...3,|
00004610  38 30 2c 30 2c 31 36 30  0d 13 a6 14 f2 70 74 72  |80,0,160.....ptr|
00004620  28 34 29 3a f2 6d 6f 75  73 65 6f 6e 0d 13 b0 29  |(4):.mouseon...)|
00004630  f5 3a ff 22 46 58 31 31  32 2c 32 22 3a e6 30 c8  |.:."FX112,2":.0.|
00004640  9c 30 3a c8 93 c8 90 30  2c 31 39 32 2c 31 32 37  |.0:....0,192,127|
00004650  36 2c 36 33 36 0d 13 ba  37 f2 70 72 69 6e 74 77  |6,636...7.printw|
00004660  6f 72 64 28 64 69 73 70  6c 61 79 24 28 63 75 72  |ord(display$(cur|
00004670  72 65 6e 74 25 29 29 3a  f2 73 6c 61 62 28 30 2c  |rent%)):.slab(0,|
00004680  38 33 32 2c 31 32 37 36  2c 36 30 29 0d 13 c4 11  |832,1276,60)....|
00004690  e7 70 6c 61 79 65 72 73  25 3d 32 20 8c 0d 13 ce  |.players%=2 ....|
000046a0  11 c8 8e 20 63 75 72 72  65 6e 74 25 20 ca 0d 13  |... current% ...|
000046b0  d8 35 c9 31 3a f2 74 65  78 74 28 6e 61 6d 65 24  |.5.1:.text(name$|
000046c0  28 31 29 2b 22 27 73 20  77 6f 72 64 20 74 6f 20  |(1)+"'s word to |
000046d0  67 75 65 73 73 20 77 61  73 22 2c 2d 31 2c 33 36  |guess was",-1,36|
000046e0  2c 31 29 0d 13 e2 35 c9  32 3a f2 74 65 78 74 28  |,1)...5.2:.text(|
000046f0  6e 61 6d 65 24 28 32 29  2b 22 27 73 20 77 6f 72  |name$(2)+"'s wor|
00004700  64 20 74 6f 20 67 75 65  73 73 20 77 61 73 22 2c  |d to guess was",|
00004710  2d 31 2c 33 36 2c 34 29  0d 13 ec 05 cb 0d 13 f6  |-1,36,4)........|
00004720  2d cc 3a f2 74 65 78 74  28 22 59 6f 75 72 20 77  |-.:.text("Your w|
00004730  6f 72 64 20 74 6f 20 67  75 65 73 73 20 77 61 73  |ord to guess was|
00004740  22 2c 2d 31 2c 33 36 2c  31 29 0d 14 00 30 cd 3a  |",-1,36,1)...0.:|
00004750  69 25 3d a6 28 33 38 30  29 3a d6 63 6c 65 61 72  |i%=.(380):.clear|
00004760  3a ff 22 46 58 31 31 32  2c 31 22 3a c8 8e 20 77  |:."FX112,1":.. w|
00004770  6f 72 64 74 79 70 65 25  20 ca 0d 14 0a 10 c9 32  |ordtype% ......2|
00004780  3a 69 25 3d a6 28 34 30  30 29 0d 14 14 10 c9 31  |:i%=.(400).....1|
00004790  3a 69 25 3d a6 28 32 30  30 29 0d 14 1e 29 f2 70  |:i%=.(200)...).p|
000047a0  72 69 6e 74 77 6f 72 64  28 75 73 65 72 24 28 63  |rintword(user$(c|
000047b0  75 72 72 65 6e 74 25 29  29 3a 69 25 3d a6 28 33  |urrent%)):i%=.(3|
000047c0  30 30 29 0d 14 28 25 cb  3a e7 70 6c 61 79 65 72  |00)..(%.:.player|
000047d0  73 25 3d 32 3a 63 75 72  72 65 6e 74 25 3d 33 2d  |s%=2:current%=3-|
000047e0  63 75 72 72 65 6e 74 25  0d 14 32 0f d6 63 6c 65  |current%..2..cle|
000047f0  61 72 3a fd 30 3a e1 0d  14 3c 04 0d 14 46 2a dd  |ar:.0:...<...F*.|
00004800  f2 65 6e 64 3a ff 22 46  58 31 31 33 2c 31 22 3a  |.end:."FX113,1":|
00004810  ff 22 46 58 31 31 32 2c  32 22 3a ef 34 3a fb 31  |."FX112,2":.4:.1|
00004820  32 38 c8 9c 30 0d 14 50  1b ff 22 46 58 31 33 2c  |28..0..P.."FX13,|
00004830  34 22 3a fb 31 32 38 3a  db 3a d6 63 6c 65 61 72  |4":.128:.:.clear|
00004840  0d 14 5a 0b e7 9f 3d 31  37 20 8c 0d 14 64 34 2a  |..Z...=17 ...d4*|
00004850  49 46 20 22 3c 54 72 61  63 6b 65 72 24 3e 22 3d  |IF "<Tracker$>"=|
00004860  22 59 65 73 22 20 54 48  45 4e 20 52 4d 4b 49 4c  |"Yes" THEN RMKIL|
00004870  4c 20 54 72 61 63 6b 65  72 4d 6f 64 75 6c 65 0d  |L TrackerModule.|
00004880  14 6e 15 ff 22 55 6e 73  65 74 20 54 72 61 63 6b  |.n.."Unset Track|
00004890  65 72 24 22 0d 14 78 1f  ff 22 52 4d 4b 49 4c 4c  |er$"..x.."RMKILL|
000048a0  20 41 6e 69 6d 61 74 65  64 48 6f 75 72 67 6c 61  | AnimatedHourgla|
000048b0  73 73 22 0d 14 82 25 ff  22 52 4d 4b 49 4c 4c 20  |ss"...%."RMKILL |
000048c0  54 65 78 74 46 58 22 3a  2a 41 6c 70 68 61 62 65  |TextFX":*Alphabe|
000048d0  74 20 4c 61 74 69 6e 31  0d 14 8c 0e ff 22 44 65  |t Latin1....."De|
000048e0  73 6b 74 6f 70 22 0d 14  96 05 cd 0d 14 a0 23 c8  |sktop"........#.|
000048f0  96 3a eb 30 3a ff 22 46  58 34 22 3a f6 3a f1 22  |.:.0:."FX4":.:."|
00004900  20 61 74 20 6c 69 6e 65  20 22 3b 9e 3a e0 0d 14  | at line ";.:...|
00004910  aa 04 0d 14 b4 38 dd f2  65 6e 74 65 72 28 6e 25  |.....8..enter(n%|
00004920  29 3a e3 69 25 3d 31 30  b8 31 88 2d 31 3a e7 73  |):.i%=10.1.-1:.s|
00004930  63 6f 72 65 25 28 6e 25  29 3e 68 69 67 68 25 28  |core%(n%)>high%(|
00004940  69 25 29 3a 75 70 25 3d  69 25 0d 14 be 0f ed 3a  |i%):up%=i%.....:|
00004950  e7 75 70 25 3c 31 30 20  8c 0d 14 c8 3f e3 69 25  |.up%<10 ....?.i%|
00004960  3d 31 30 b8 75 70 25 88  2d 31 3a 68 69 67 68 25  |=10.up%.-1:high%|
00004970  28 69 25 29 3d 68 69 67  68 25 28 69 25 2d 31 29  |(i%)=high%(i%-1)|
00004980  3a 68 69 67 68 24 28 69  25 29 3d 68 69 67 68 24  |:high$(i%)=high$|
00004990  28 69 25 2d 31 29 3a ed  0d 14 d2 2a cd 3a f2 73  |(i%-1):....*.:.s|
000049a0  6c 61 62 28 30 2c 38 33  32 2c 31 32 37 36 2c 36  |lab(0,832,1276,6|
000049b0  30 29 3a f2 69 6e 73 28  6e 61 6d 65 24 28 6e 25  |0):.ins(name$(n%|
000049c0  29 29 0d 14 dc 46 68 69  67 68 24 28 75 70 25 29  |))...Fhigh$(up%)|
000049d0  3d a4 67 65 74 73 74 72  69 6e 67 28 22 50 6c 61  |=.getstring("Pla|
000049e0  79 65 72 20 22 2b c3 6e  25 2b 22 20 65 6e 74 65  |yer "+.n%+" ente|
000049f0  72 20 6e 61 6d 65 3a 20  22 2c 33 36 2c 35 2c 31  |r name: ",36,5,1|
00004a00  34 2c 22 41 22 2c 30 29  0d 14 e6 26 68 69 67 68  |4,"A",0)...&high|
00004a10  25 28 75 70 25 29 3d 73  63 6f 72 65 25 28 6e 25  |%(up%)=score%(n%|
00004a20  29 3a f2 73 61 76 65 74  61 62 6c 65 3a e1 0d 14  |):.savetable:...|
00004a30  f0 04 0d 14 fa 1b dd f2  69 6e 73 28 69 6e 73 24  |........ins(ins$|
00004a40  29 3a e3 69 25 3d 31 b8  a9 69 6e 73 24 0d 15 04  |):.i%=1..ins$...|
00004a50  23 ff 28 22 46 58 31 33  38 2c 30 2c 22 2b c3 97  |#.("FX138,0,"+..|
00004a60  c1 69 6e 73 24 2c 69 25  2c 31 29 29 3a ed 3a e1  |.ins$,i%,1)):.:.|
00004a70  0d 15 0e 04 0d 15 18 0f  dd f2 69 6e 69 74 74 75  |..........inittu|
00004a80  6e 65 73 0d 15 22 0c 74  75 6e 65 73 25 3d 30 0d  |nes..".tunes%=0.|
00004a90  15 2c 3b c8 99 22 4f 53  5f 46 69 6c 65 22 2c 35  |.,;.."OS_File",5|
00004aa0  2c 22 3c 57 6f 72 64 50  61 69 72 24 44 69 72 3e  |,"<WordPair$Dir>|
00004ab0  2e 54 75 6e 65 31 22 20  b8 20 65 25 3a e7 20 65  |.Tune1" . e%:. e|
00004ac0  25 3a 74 75 6e 65 73 25  3d 31 0d 15 36 3b c8 99  |%:tunes%=1..6;..|
00004ad0  22 4f 53 5f 46 69 6c 65  22 2c 35 2c 22 3c 57 6f  |"OS_File",5,"<Wo|
00004ae0  72 64 50 61 69 72 24 44  69 72 3e 2e 54 75 6e 65  |rdPair$Dir>.Tune|
00004af0  32 22 20 b8 20 65 25 3a  e7 20 65 25 3a 74 75 6e  |2" . e%:. e%:tun|
00004b00  65 73 25 3d 32 0d 15 40  3b c8 99 22 4f 53 5f 46  |es%=2..@;.."OS_F|
00004b10  69 6c 65 22 2c 35 2c 22  3c 57 6f 72 64 50 61 69  |ile",5,"<WordPai|
00004b20  72 24 44 69 72 3e 2e 54  75 6e 65 33 22 20 b8 20  |r$Dir>.Tune3" . |
00004b30  65 25 3a e7 20 65 25 3a  74 75 6e 65 73 25 3d 33  |e%:. e%:tunes%=3|
00004b40  0d 15 4a 3b c8 99 22 4f  53 5f 46 69 6c 65 22 2c  |..J;.."OS_File",|
00004b50  35 2c 22 3c 57 6f 72 64  50 61 69 72 24 44 69 72  |5,"<WordPair$Dir|
00004b60  3e 2e 54 75 6e 65 34 22  20 b8 20 65 25 3a e7 20  |>.Tune4" . e%:. |
00004b70  65 25 3a 74 75 6e 65 73  25 3d 34 0d 15 54 11 74  |e%:tunes%=4..T.t|
00004b80  75 6e 65 6c 6f 61 64 65  64 25 3d 31 0d 15 5e 05  |uneloaded%=1..^.|
00004b90  e1 0d 15 68 04 0d 15 72  1a dd f2 74 75 6e 65 28  |...h...r...tune(|
00004ba0  6a 25 29 3a e7 74 75 6e  65 73 25 3d 30 3a e1 0d  |j%):.tunes%=0:..|
00004bb0  15 7c 27 f2 74 65 78 74  28 22 f7 22 2b c0 22 f8  |.|'.text("."+.".|
00004bc0  f9 fa fb 22 2c 74 75 6e  65 73 25 29 2c 32 34 30  |...",tunes%),240|
00004bd0  2c 35 2c 31 31 29 0d 15  86 36 f2 74 65 78 74 28  |,5,11)...6.text(|
00004be0  bd 28 32 34 37 2b 6a 25  29 2c 32 34 30 2b 38 2a  |.(247+j%),240+8*|
00004bf0  6a 25 2c 35 2c 32 29 3a  74 75 6e 65 25 3d 6a 25  |j%,5,2):tune%=j%|
00004c00  3a f2 6c 6f 61 64 74 75  6e 65 3a e1 0d 15 90 04  |:.loadtune:.....|
00004c10  0d 15 9a 23 dd f2 6c 6f  61 64 74 75 6e 65 3a e7  |...#..loadtune:.|
00004c20  74 75 6e 65 6c 6f 61 64  65 64 25 3d 74 75 6e 65  |tuneloaded%=tune|
00004c30  25 3a e1 0d 15 a4 13 e7  74 75 6e 65 25 3e 74 75  |%:......tune%>tu|
00004c40  6e 65 73 25 3a e1 0d 15  ae 28 e7 74 75 6e 65 25  |nes%:....(.tune%|
00004c50  3d 30 3a ff 22 50 6c 61  79 4b 69 6c 6c 22 3a 74  |=0:."PlayKill":t|
00004c60  75 6e 65 6c 6f 61 64 65  64 25 3d 30 3a e1 0d 15  |uneloaded%=0:...|
00004c70  b8 3f f2 70 74 72 28 32  29 3a ff 22 46 58 32 30  |.?.ptr(2):."FX20|
00004c80  30 2c 33 22 3a ff 28 22  50 6c 61 79 49 6e 69 74  |0,3":.("PlayInit|
00004c90  20 3c 57 6f 72 64 50 61  69 72 24 44 69 72 3e 2e  | <WordPair$Dir>.|
00004ca0  54 75 6e 65 22 2b c3 74  75 6e 65 25 29 0d 15 c2  |Tune"+.tune%)...|
00004cb0  28 ff 22 46 58 32 30 30  22 3a 74 75 6e 65 6c 6f  |(."FX200":tunelo|
00004cc0  61 64 65 64 25 3d 74 75  6e 65 25 3a f2 70 74 72  |aded%=tune%:.ptr|
00004cd0  28 31 29 3a e1 0d 15 cc  04 0d 15 d6 18 dd f2 6f  |(1):...........o|
00004ce0  75 74 70 75 74 3a e7 73  70 65 61 6b 25 3d 31 20  |utput:.speak%=1 |
00004cf0  8c 0d 15 e0 24 ff 22 53  70 65 61 6b 65 72 20 4f  |....$."Speaker O|
00004d00  6e 22 3a f2 74 65 78 74  28 22 fd 22 2c 32 39 36  |n":.text(".",296|
00004d10  2c 35 2c 32 29 0d 15 ea  05 cc 0d 15 f4 26 ff 22  |,5,2)........&."|
00004d20  53 70 65 61 6b 65 72 20  4f 66 66 22 3a f2 74 65  |Speaker Off":.te|
00004d30  78 74 28 22 fd 22 2c 32  39 36 2c 35 2c 31 31 29  |xt(".",296,5,11)|
00004d40  0d 15 fe 07 cd 3a e1 0d  16 08 04 0d 16 12 27 dd  |.....:........'.|
00004d50  20 a4 72 73 70 61 63 65  28 72 69 67 68 74 24 29  | .rspace(right$)|
00004d60  3a ea 66 69 6e 61 6c 24  3a 66 69 6e 61 6c 24 3d  |:.final$:final$=|
00004d70  22 22 0d 16 1c 3b e3 69  25 3d 31 b8 a9 72 69 67  |""...;.i%=1..rig|
00004d80  68 74 24 3a e7 c1 72 69  67 68 74 24 2c 69 25 2c  |ht$:..right$,i%,|
00004d90  31 29 3c 3e 22 20 22 3a  66 69 6e 61 6c 24 2b 3d  |1)<>" ":final$+=|
00004da0  c1 72 69 67 68 74 24 2c  69 25 2c 31 29 0d 16 26  |.right$,i%,1)..&|
00004db0  27 ed 3a 66 69 6e 61 6c  24 3d c0 66 69 6e 61 6c  |'.:final$=.final|
00004dc0  24 2b 22 20 20 20 20 20  22 2c 35 29 3a 3d 66 69  |$+"     ",5):=fi|
00004dd0  6e 61 6c 24 0d 16 30 04  0d 16 3a 23 dd f2 65 73  |nal$..0...:#..es|
00004de0  63 3a f2 6d 6f 75 73 65  6f 66 66 3a ff 22 46 58  |c:.mouseoff:."FX|
00004df0  34 22 3a 63 6c 65 61 72  25 3d a3 0d 16 44 19 e7  |4":clear%=...D..|
00004e00  a6 28 2d 31 29 80 a6 28  2d 32 29 3a 63 6c 65 61  |.(-1)..(-2):clea|
00004e10  72 25 3d b9 0d 16 4e 14  ff 22 53 65 74 20 44 75  |r%=...N.."Set Du|
00004e20  6d 6d 79 20 59 65 73 22  0d 16 58 2e ff 22 52 4d  |mmy Yes"..X.."RM|
00004e30  45 6e 73 75 72 65 20 54  72 61 63 6b 65 72 4d 6f  |Ensure TrackerMo|
00004e40  64 75 6c 65 20 30 30 30  20 53 65 74 20 44 75 6d  |dule 000 Set Dum|
00004e50  6d 79 20 4e 6f 22 0d 16  62 31 ff 28 22 49 66 20  |my No"..b1.("If |
00004e60  44 75 6d 6d 79 3d 22 2b  bd 33 34 2b 22 59 65 73  |Dummy="+.34+"Yes|
00004e70  22 2b bd 33 34 2b 22 20  54 48 45 4e 20 50 6c 61  |"+.34+" THEN Pla|
00004e80  79 4b 69 6c 6c 22 29 0d  16 6c 12 ff 22 55 6e 73  |yKill")..l.."Uns|
00004e90  65 74 20 44 75 6d 6d 79  22 0d 16 76 11 e7 ac 63  |et Dummy"..v...c|
00004ea0  6c 65 61 72 25 3a f2 65  6e 64 0d 16 80 0e ff 22  |lear%:.end....."|
00004eb0  46 58 31 31 33 2c 31 22  0d 16 8a 37 ff 22 46 58  |FX113,1"...7."FX|
00004ec0  31 31 32 2c 32 22 3a ef  34 3a fb 31 37 30 c8 9c  |112,2":.4:.170..|
00004ed0  30 3a db 3a d6 63 6c 65  61 72 3a ef 31 39 2c 30  |0:.:.clear:.19,0|
00004ee0  2c 32 34 2c 31 33 30 2c  31 33 30 2c 31 33 30 0d  |,24,130,130,130.|
00004ef0  16 94 29 ff 22 46 58 31  31 32 2c 32 22 3a ff 22  |..)."FX112,2":."|
00004f00  46 58 31 31 33 2c 32 22  3a ef 34 3a fb 31 37 30  |FX113,2":.4:.170|
00004f10  c8 9c 30 3a db 3a ef 35  0d 16 9e 49 e7 a4 67 65  |..0:.:.5...I..ge|
00004f20  74 73 74 72 69 6e 67 28  22 43 6c 65 61 72 20 68  |tstring("Clear h|
00004f30  69 67 68 2d 73 63 6f 72  65 73 2e 20 41 72 65 20  |igh-scores. Are |
00004f40  79 6f 75 20 73 75 72 65  3f 20 22 2c 31 32 34 2c  |you sure? ",124,|
00004f50  35 2c 33 2c 22 59 4e 22  2c 30 29 3d 22 59 22 20  |5,3,"YN",0)="Y" |
00004f60  8c 0d 16 a8 23 68 69 67  68 25 28 29 3d 30 3a 68  |....#high%()=0:h|
00004f70  69 67 68 24 28 29 3d 22  22 3a f2 73 61 76 65 74  |igh$()="":.savet|
00004f80  61 62 6c 65 0d 16 b2 18  ff 22 46 58 31 31 32 2c  |able....."FX112,|
00004f90  31 22 3a fb 31 37 30 c8  9c 30 3a db 0d 16 bc 3b  |1":.170..0:....;|
00004fa0  f2 74 65 78 74 28 22 48  69 67 68 20 73 63 6f 72  |.text("High scor|
00004fb0  65 20 74 61 62 6c 65 20  69 73 20 6e 6f 77 20 65  |e table is now e|
00004fc0  6d 70 74 79 2e 22 2c 2d  31 2c 31 32 34 2c 37 29  |mpty.",-1,124,7)|
00004fd0  3a d6 63 6c 65 61 72 0d  16 c6 0d 49 25 3d a6 28  |:.clear....I%=.(|
00004fe0  35 30 30 29 0d 16 d0 0c  cd 3a f2 65 6e 64 3a e1  |500).....:.end:.|
00004ff0  0d 16 da 04 0d 16 e4 2a  dd f2 73 63 72 6f 6c 6c  |.......*..scroll|
00005000  3a e7 73 63 72 73 74 78  25 3d 73 63 72 6f 6c 6c  |:.scrstx%=scroll|
00005010  6d 61 78 25 3a 73 63 72  73 74 78 25 3d 31 0d 16  |max%:scrstx%=1..|
00005020  ee 30 e7 ac 66 6c 61 73  68 25 3a c8 99 26 32 45  |.0..flash%:..&2E|
00005030  2c 33 34 2b 32 35 36 2c  73 70 72 25 2c 22 73 63  |,34+256,spr%,"sc|
00005040  72 62 61 63 6b 22 2c 31  36 2c 32 30 2c 30 0d 16  |rback",16,20,0..|
00005050  f8 18 ef 35 2c 32 34 2c  32 36 3b 31 32 3b 31 32  |...5,24,26;12;12|
00005060  36 30 3b 35 32 3b 0d 17  02 29 e6 30 c8 9c 30 3a  |60;52;...).0..0:|
00005070  c8 96 3a ec 73 63 72 78  25 2b 31 32 33 32 2d 73  |..:.scrx%+1232-s|
00005080  63 72 73 74 65 70 25 2c  34 38 3a f1 22 fe 22 0d  |crstep%,48:.".".|
00005090  17 0c 26 e7 20 bd 28 73  63 72 6f 6c 6c 61 64 64  |..&. .(scrolladd|
000050a0  72 25 3f 28 73 63 72 73  74 78 25 2d 31 29 29 3d  |r%?(scrstx%-1))=|
000050b0  22 5c 22 20 8c 0d 17 16  41 73 63 63 6f 6c 25 3d  |"\" ....Asccol%=|
000050c0  bb 28 bd 28 73 63 72 6f  6c 6c 61 64 64 72 25 3f  |.(.(scrolladdr%?|
000050d0  28 73 63 72 73 74 78 25  29 29 2b bd 28 73 63 72  |(scrstx%))+.(scr|
000050e0  6f 6c 6c 61 64 64 72 25  3f 28 73 63 72 73 74 78  |olladdr%?(scrstx|
000050f0  25 2b 31 29 29 29 0d 17  20 0e 73 63 72 73 74 78  |%+1))).. .scrstx|
00005100  25 2b 3d 33 0d 17 2a 28  cd 3a e7 20 bd 28 73 63  |%+=3..*(.:. .(sc|
00005110  72 6f 6c 6c 61 64 64 72  25 3f 28 73 63 72 73 74  |rolladdr%?(scrst|
00005120  78 25 2d 31 29 29 3d 22  7c 22 20 8c 0d 17 34 36  |x%-1))="|" ...46|
00005130  70 61 75 73 65 64 25 3d  b9 3a 65 6e 64 74 69 6d  |paused%=.:endtim|
00005140  65 25 3d bb bd 28 73 63  72 6f 6c 6c 61 64 64 72  |e%=..(scrolladdr|
00005150  25 3f 28 73 63 72 73 74  78 25 29 29 2a 31 30 30  |%?(scrstx%))*100|
00005160  2b 91 0d 17 3e 25 e7 bd  28 73 63 72 6f 6c 6c 61  |+...>%..(scrolla|
00005170  64 64 72 25 3f 28 73 63  72 73 74 78 25 2b 31 29  |ddr%?(scrstx%+1)|
00005180  29 3d 22 5d 22 20 8c 0d  17 48 10 66 6c 61 73 68  |)="]" ...H.flash|
00005190  25 3d b9 3a ef 32 36 0d  17 52 2f c8 99 26 32 45  |%=.:.26..R/..&2E|
000051a0  2c 31 36 2b 32 35 36 2c  73 70 72 25 2c 22 73 63  |,16+256,spr%,"sc|
000051b0  72 62 61 63 6b 22 2c 30  2c 31 36 2c 32 30 2c 31  |rback",0,16,20,1|
000051c0  32 35 36 2c 34 38 0d 17  5c 16 ef 32 34 2c 32 36  |256,48..\..24,26|
000051d0  3b 31 32 3b 31 32 36 30  3b 35 32 3b 0d 17 66 10  |;12;1260;52;..f.|
000051e0  cd 3a 73 63 72 73 74 78  25 2b 3d 33 0d 17 70 3d  |.:scrstx%+=3..p=|
000051f0  cd 3a e7 20 bd 28 73 63  72 6f 6c 6c 61 64 64 72  |.:. .(scrolladdr|
00005200  25 3f 28 73 63 72 73 74  78 25 2d 31 29 29 3d 22  |%?(scrstx%-1))="|
00005210  7b 22 3a 73 63 72 73 74  65 70 25 3d 31 36 3a 73  |{":scrstep%=16:s|
00005220  63 72 73 74 78 25 2b 3d  31 0d 17 7a 3a e7 20 bd  |crstx%+=1..z:. .|
00005230  28 73 63 72 6f 6c 6c 61  64 64 72 25 3f 28 73 63  |(scrolladdr%?(sc|
00005240  72 73 74 78 25 2d 31 29  29 3d 22 7d 22 3a 73 63  |rstx%-1))="}":sc|
00005250  72 73 74 65 70 25 3d 38  3a 73 63 72 73 74 78 25  |rstep%=8:scrstx%|
00005260  2b 3d 31 0d 17 84 11 e7  20 ac 20 70 61 75 73 65  |+=1..... . pause|
00005270  64 25 20 8c 0d 17 8e 28  e6 73 63 63 6f 6c 25 c8  |d% ....(.sccol%.|
00005280  9c 31 39 32 3a ec 73 63  72 78 25 2b 31 32 33 32  |.192:.scrx%+1232|
00005290  2d 73 63 72 73 74 65 70  25 2c 34 38 0d 17 98 1f  |-scrstep%,48....|
000052a0  f1 bd 28 73 63 72 6f 6c  6c 61 64 64 72 25 3f 28  |..(scrolladdr%?(|
000052b0  73 63 72 73 74 78 25 2d  31 29 29 0d 17 a2 30 73  |scrstx%-1))...0s|
000052c0  63 72 78 25 2d 3d 73 63  72 73 74 65 70 25 3a e7  |crx%-=scrstep%:.|
000052d0  73 63 72 78 25 3d 30 3a  73 63 72 78 25 3d 33 32  |scrx%=0:scrx%=32|
000052e0  3a 73 63 72 73 74 78 25  2b 3d 31 0d 17 ac 09 ef  |:scrstx%+=1.....|
000052f0  34 2c 32 36 0d 17 b6 38  c8 99 26 32 45 2c 31 36  |4,26...8..&2E,16|
00005300  2b 32 35 36 2c 73 70 72  25 2c 22 73 63 72 62 61  |+256,spr%,"scrba|
00005310  63 6b 22 2c 30 2c 31 36  2b 73 63 72 73 74 65 70  |ck",0,16+scrstep|
00005320  25 2c 32 30 2c 31 32 36  30 2c 34 38 0d 17 c0 24  |%,20,1260,48...$|
00005330  cc 3a e7 91 3e 65 6e 64  74 69 6d 65 25 3a 70 61  |.:..>endtime%:pa|
00005340  75 73 65 64 25 3d a3 3a  66 6c 61 73 68 25 3d a3  |used%=.:flash%=.|
00005350  0d 17 ca 0d e7 66 6c 61  73 68 25 20 8c 0d 17 d4  |.....flash% ....|
00005360  1b c8 96 3a c8 8e 20 28  65 6e 64 74 69 6d 65 25  |...:.. (endtime%|
00005370  2d 91 29 81 35 30 20 ca  0d 17 de 27 c9 20 31 2c  |-.).50 ....'. 1,|
00005380  33 2c 35 3a ef 32 36 3a  e6 30 c8 9c 30 3a c8 93  |3,5:.26:.0..0:..|
00005390  c8 90 31 36 2c 31 36 2c  31 32 34 34 2c 33 36 0d  |..16,16,1244,36.|
000053a0  17 e8 33 c9 20 30 2c 32  2c 34 3a ef 32 36 3a c8  |..3. 0,2,4:.26:.|
000053b0  99 26 32 45 2c 33 34 2b  32 35 36 2c 73 70 72 25  |.&2E,34+256,spr%|
000053c0  2c 22 73 63 72 62 61 63  6b 22 2c 31 36 2c 32 30  |,"scrback",16,20|
000053d0  2c 30 0d 17 f2 05 cb 0d  17 fc 0b cd 3a ef 34 2c  |,0..........:.4,|
000053e0  32 36 0d 18 06 07 cd 3a  e1 0d 18 10 04 0d 18 1a  |26.....:........|
000053f0  2d dd f2 73 65 74 75 70  73 63 72 6f 6c 6c 3a ea  |-..setupscroll:.|
00005400  69 25 2c 6a 25 2c 73 63  72 6f 6c 6c 24 3a 73 63  |i%,j%,scroll$:sc|
00005410  72 6f 6c 6c 6d 61 78 25  3d 30 0d 18 24 25 66 69  |rollmax%=0..$%fi|
00005420  6c 65 25 3d 8e 22 3c 57  6f 72 64 50 61 69 72 24  |le%=."<WordPair$|
00005430  44 69 72 3e 2e 4d 65 73  73 61 67 65 22 3a f5 0d  |Dir>.Message":..|
00005440  18 2e 27 73 63 72 6f 6c  6c 24 3d be 23 66 69 6c  |..'scroll$=.#fil|
00005450  65 25 3a e7 c0 73 63 72  6f 6c 6c 24 2c 31 29 3c  |e%:..scroll$,1)<|
00005460  3e 22 2f 22 20 8c 0d 18  38 21 e7 73 63 72 6f 6c  |>"/" ...8!.scrol|
00005470  6c 24 3d 22 40 22 3a 73  63 72 6f 6c 6c 24 3d c4  |l$="@":scroll$=.|
00005480  33 38 2c 22 20 22 29 0d  18 42 1a 73 63 72 6f 6c  |38," ")..B.scrol|
00005490  6c 6d 61 78 25 2b 3d a9  73 63 72 6f 6c 6c 24 2b  |lmax%+=.scroll$+|
000054a0  31 0d 18 4c 0e cd 3a fd  c5 23 66 69 6c 65 25 0d  |1..L..:..#file%.|
000054b0  18 56 2d de 20 73 63 72  6f 6c 6c 61 64 64 72 25  |.V-. scrolladdr%|
000054c0  20 73 63 72 6f 6c 6c 6d  61 78 25 3a 69 25 3d 30  | scrollmax%:i%=0|
000054d0  3a cf 23 66 69 6c 65 25  3d 30 3a f5 0d 18 60 27  |:.#file%=0:...`'|
000054e0  73 63 72 6f 6c 6c 24 3d  be 23 66 69 6c 65 25 3a  |scroll$=.#file%:|
000054f0  e7 c0 73 63 72 6f 6c 6c  24 2c 31 29 3c 3e 22 2f  |..scroll$,1)<>"/|
00005500  22 20 8c 0d 18 6a 21 e7  73 63 72 6f 6c 6c 24 3d  |" ...j!.scroll$=|
00005510  22 40 22 3a 73 63 72 6f  6c 6c 24 3d c4 33 38 2c  |"@":scroll$=.38,|
00005520  22 20 22 29 0d 18 74 3a  e3 6a 25 3d 31 b8 a9 73  |" ")..t:.j%=1..s|
00005530  63 72 6f 6c 6c 24 3a 73  63 72 6f 6c 6c 61 64 64  |croll$:scrolladd|
00005540  72 25 3f 28 69 25 2b 6a  25 2d 31 29 3d 97 c1 73  |r%?(i%+j%-1)=..s|
00005550  63 72 6f 6c 6c 24 2c 6a  25 2c 31 29 3a ed 0d 18  |croll$,j%,1):...|
00005560  7e 23 73 63 72 6f 6c 6c  61 64 64 72 25 3f 28 69  |~#scrolladdr%?(i|
00005570  25 2b 6a 25 2d 31 29 3d  33 32 3a 69 25 2b 3d 6a  |%+j%-1)=32:i%+=j|
00005580  25 0d 18 88 18 cd 3a fd  c5 23 66 69 6c 65 25 3a  |%.....:..#file%:|
00005590  d9 23 66 69 6c 65 25 3a  e1 0d 18 92 04 0d 18 9c  |.#file%:........|
000055a0  2f dd f2 63 68 6f 6f 73  65 70 69 63 73 3a ff 22  |/..choosepics:."|
000055b0  46 58 31 31 32 2c 32 22  3a fb 31 37 30 c8 9c 30  |FX112,2":.170..0|
000055c0  3a db 3a f2 6d 6f 75 73  65 6f 66 66 0d 18 a6 2c  |:.:.mouseoff...,|
000055d0  c8 97 fb 31 2c 31 32 30  2c 30 2c 32 34 30 3a c8  |...1,120,0,240:.|
000055e0  97 fb 33 2c 38 30 2c 30  2c 31 36 30 3a c8 8e 20  |..3,80,0,160:.. |
000055f0  73 6b 69 6c 6c 25 20 ca  0d 18 b0 12 c9 20 31 3a  |skill% ...... 1:|
00005600  6e 75 6d 70 69 63 73 25  3d 34 0d 18 ba 12 c9 20  |numpics%=4..... |
00005610  32 3a 6e 75 6d 70 69 63  73 25 3d 36 0d 18 c4 12  |2:numpics%=6....|
00005620  c9 20 33 3a 6e 75 6d 70  69 63 73 25 3d 38 0d 18  |. 3:numpics%=8..|
00005630  ce 13 c9 20 34 3a 6e 75  6d 70 69 63 73 25 3d 31  |... 4:numpics%=1|
00005640  32 0d 18 d8 05 cb 0d 18  e2 24 f2 74 65 78 74 28  |2........$.text(|
00005650  22 4c 65 66 74 20 62 75  74 74 6f 6e 2e 2e 2e 22  |"Left button..."|
00005660  2c 36 34 2c 32 30 38 2c  32 29 0d 18 ec 25 f2 74  |,64,208,2)...%.t|
00005670  65 78 74 28 22 52 69 67  68 74 20 62 75 74 74 6f  |ext("Right butto|
00005680  6e 2e 2e 2e 22 2c 36 34  2c 32 32 30 2c 32 29 0d  |n...",64,220,2).|
00005690  18 f6 26 f2 74 65 78 74  28 22 4d 69 64 64 6c 65  |..&.text("Middle|
000056a0  20 62 75 74 74 6f 6e 2e  2e 2e 22 2c 36 34 2c 32  | button...",64,2|
000056b0  33 32 2c 32 29 0d 19 00  27 f2 74 65 78 74 28 22  |32,2)...'.text("|
000056c0  73 65 6c 65 63 74 73 20  70 69 63 74 75 72 65 22  |selects picture"|
000056d0  2c 31 32 35 36 2c 32 30  38 2c 36 29 0d 19 0a 29  |,1256,208,6)...)|
000056e0  f2 74 65 78 74 28 22 64  65 73 65 6c 65 63 74 73  |.text("deselects|
000056f0  20 70 69 63 74 75 72 65  22 2c 31 32 35 36 2c 32  | picture",1256,2|
00005700  32 30 2c 36 29 0d 19 14  23 f2 74 65 78 74 28 22  |20,6)...#.text("|
00005710  65 6e 64 73 20 63 68 6f  69 63 65 22 2c 31 32 35  |ends choice",125|
00005720  36 2c 32 33 32 2c 36 29  0d 19 1e 33 f2 74 65 78  |6,232,6)...3.tex|
00005730  74 28 22 43 68 6f 6f 73  65 20 22 2b c3 6e 75 6d  |t("Choose "+.num|
00005740  70 69 63 73 25 2b 22 20  70 69 63 74 75 72 65 73  |pics%+" pictures|
00005750  2e 22 2c 2d 31 2c 34 30  2c 35 29 0d 19 28 17 c8  |.",-1,40,5)..(..|
00005760  97 c8 93 39 36 2c 33 39  32 2c 31 30 37 36 2c 33  |...96,392,1076,3|
00005770  39 36 0d 19 32 3a 74 6f  74 61 6c 70 69 63 73 25  |96..2:totalpics%|
00005780  3d 30 3a 63 68 6f 73 65  6e 25 28 29 3d 30 3a f2  |=0:chosen%()=0:.|
00005790  69 6e 64 69 63 61 74 65  70 69 63 73 3a e3 78 25  |indicatepics:.x%|
000057a0  3d 31 b8 38 3a e3 79 25  3d 31 b8 33 0d 19 3c 48  |=1.8:.y%=1.3..<H|
000057b0  c8 99 26 32 45 2c 33 34  2b 32 35 36 2c 73 70 72  |..&2E,34+256,spr|
000057c0  25 2c 22 70 69 63 74 75  72 65 2d 22 2b c3 28 78  |%,"picture-"+.(x|
000057d0  25 2b 28 79 25 2d 31 29  2a 38 29 2c 28 78 25 2d  |%+(y%-1)*8),(x%-|
000057e0  31 29 2a 31 33 36 2b 39  36 2c 79 25 2a 31 33 36  |1)*136+96,y%*136|
000057f0  2b 32 35 36 0d 19 46 37  ed 3a ed 3a 70 69 63 25  |+256..F7.:.:pic%|
00005800  28 29 3d 30 3a ff 22 46  58 31 31 32 2c 31 22 3a  |()=0:."FX112,1":|
00005810  ef 31 39 2c 30 2c 32 34  2c 31 33 30 2c 31 33 30  |.19,0,24,130,130|
00005820  2c 31 33 30 3a d6 63 6c  65 61 72 0d 19 50 21 f2  |,130:.clear..P!.|
00005830  70 74 72 28 31 29 3a f5  3a f5 3a c8 97 78 78 25  |ptr(1):.:.:..xx%|
00005840  2c 79 79 25 2c 62 75 74  74 6f 6e 25 0d 19 5a 37  |,yy%,button%..Z7|
00005850  fd 62 75 74 74 6f 6e 25  3a 78 78 25 3d 78 78 25  |.button%:xx%=xx%|
00005860  81 34 2a 34 3a 79 79 25  3d 79 79 25 81 34 2a 34  |.4*4:yy%=yy%.4*4|
00005870  3a 70 78 25 3d 28 78 78  25 2d 39 36 29 2f 31 33  |:px%=(xx%-96)/13|
00005880  36 2b 31 0d 19 64 22 70  79 25 3d 28 79 79 25 2d  |6+1..d"py%=(yy%-|
00005890  32 35 36 29 2f 31 33 36  3a c8 8e 20 62 75 74 74  |256)/136:.. butt|
000058a0  6f 6e 25 20 ca 0d 19 6e  5f c9 34 3a e7 74 6f 74  |on% ...n_.4:.tot|
000058b0  61 6c 70 69 63 73 25 3c  6e 75 6d 70 69 63 73 25  |alpics%<numpics%|
000058c0  20 80 20 63 68 6f 73 65  6e 25 28 70 78 25 2c 70  | . chosen%(px%,p|
000058d0  79 25 29 3d 30 3a 63 68  6f 73 65 6e 25 28 70 78  |y%)=0:chosen%(px|
000058e0  25 2c 70 79 25 29 3d 31  3a 74 6f 74 61 6c 70 69  |%,py%)=1:totalpi|
000058f0  63 73 25 2b 3d 31 3a f2  69 6e 64 69 63 61 74 65  |cs%+=1:.indicate|
00005900  70 69 63 73 0d 19 78 58  c9 31 3a e7 74 6f 74 61  |pics..xX.1:.tota|
00005910  6c 70 69 63 73 25 3e 30  20 80 20 63 68 6f 73 65  |lpics%>0 . chose|
00005920  6e 25 28 70 78 25 2c 70  79 25 29 3d 31 3a 63 68  |n%(px%,py%)=1:ch|
00005930  6f 73 65 6e 25 28 70 78  25 2c 70 79 25 29 3d 30  |osen%(px%,py%)=0|
00005940  3a 74 6f 74 61 6c 70 69  63 73 25 2d 3d 31 3a f2  |:totalpics%-=1:.|
00005950  69 6e 64 69 63 61 74 65  70 69 63 73 0d 19 82 24  |indicatepics...$|
00005960  cb 3a fd 62 75 74 74 6f  6e 25 3d 32 80 74 6f 74  |.:.button%=2.tot|
00005970  61 6c 70 69 63 73 25 3d  6e 75 6d 70 69 63 73 25  |alpics%=numpics%|
00005980  0d 19 8c 1e 63 6f 75 6e  74 65 72 25 3d 31 3a e3  |....counter%=1:.|
00005990  78 25 3d 31 b8 38 3a e3  79 25 3d 31 b8 33 0d 19  |x%=1.8:.y%=1.3..|
000059a0  96 3c e7 63 68 6f 73 65  6e 25 28 78 25 2c 79 25  |.<.chosen%(x%,y%|
000059b0  29 3d 31 3a 70 69 63 25  28 63 6f 75 6e 74 65 72  |)=1:pic%(counter|
000059c0  25 29 3d 78 25 2b 28 79  25 2d 31 29 2a 38 3a 63  |%)=x%+(y%-1)*8:c|
000059d0  6f 75 6e 74 65 72 25 2b  3d 31 0d 19 a0 09 ed 3a  |ounter%+=1.....:|
000059e0  ed 3a e1 0d 19 aa 04 0d  19 b4 2b dd f2 69 6e 64  |.:........+..ind|
000059f0  69 63 61 74 65 70 69 63  73 3a e3 78 25 3d 31 b8  |icatepics:.x%=1.|
00005a00  38 3a e3 79 25 3d 31 b8  33 3a e6 31 32 c8 9c 31  |8:.y%=1.3:.12..1|
00005a10  39 32 0d 19 be 1c e7 63  68 6f 73 65 6e 25 28 78  |92.....chosen%(x|
00005a20  25 2c 79 25 29 3d 30 3a  e6 34 32 c8 9c 30 0d 19  |%,y%)=0:.42..0..|
00005a30  c8 2a c8 93 28 78 25 2d  31 29 2a 31 33 36 2b 39  |.*..(x%-1)*136+9|
00005a40  32 2c 79 25 2a 31 33 36  2b 32 35 32 2c 31 33 32  |2,y%*136+252,132|
00005a50  2c 31 33 32 3a ed 3a ed  0d 19 d2 1c e6 34 32 c8  |,132:.:......42.|
00005a60  9c 30 3a c8 93 c8 90 30  2c 33 31 36 2c 31 32 37  |.0:....0,316,127|
00005a70  36 2c 36 34 0d 19 dc 31  74 65 78 74 24 3d 22 59  |6,64...1text$="Y|
00005a80  6f 75 27 76 65 20 63 68  6f 73 65 6e 20 22 2b c3  |ou've chosen "+.|
00005a90  74 6f 74 61 6c 70 69 63  73 25 2b 22 20 70 69 63  |totalpics%+" pic|
00005aa0  74 75 72 65 22 0d 19 e6  1d e7 74 6f 74 61 6c 70  |ture".....totalp|
00005ab0  69 63 73 25 3c 3e 31 3a  74 65 78 74 24 2b 3d 22  |ics%<>1:text$+="|
00005ac0  73 22 0d 19 f0 1b f2 74  65 78 74 28 74 65 78 74  |s".....text(text|
00005ad0  24 2c 2d 31 2c 31 36 38  2c 35 29 3a e1 0d 19 fa  |$,-1,168,5):....|
00005ae0  04 0d 1a 04 30 dd f2 63  68 6f 6f 73 65 73 68 61  |....0..choosesha|
00005af0  70 65 3a f2 6d 6f 75 73  65 6f 66 66 3a ff 22 46  |pe:.mouseoff:."F|
00005b00  58 31 31 32 2c 32 22 3a  fb 31 37 30 c8 9c 30 3a  |X112,2":.170..0:|
00005b10  db 0d 1a 0e 21 ea 78 25  2c 79 25 2c 67 78 25 2c  |....!.x%,y%,gx%,|
00005b20  67 79 25 2c 78 78 25 2c  79 79 25 2c 62 6c 61 6e  |gy%,xx%,yy%,blan|
00005b30  6b 25 0d 1a 18 23 f2 74  65 78 74 28 22 54 48 45  |k%...#.text("THE|
00005b40  20 42 4f 4e 55 53 20 53  48 41 50 45 22 2c 2d 31  | BONUS SHAPE",-1|
00005b50  2c 38 2c 35 29 0d 1a 22  2b f2 74 65 78 74 28 22  |,8,5).."+.text("|
00005b60  28 4c 65 61 76 65 20 69  74 20 62 6c 61 6e 6b 20  |(Leave it blank |
00005b70  69 66 20 79 6f 75 22 2c  2d 31 2c 32 30 2c 36 29  |if you",-1,20,6)|
00005b80  0d 1a 2c 2a f2 74 65 78  74 28 22 64 6f 6e 27 74  |..,*.text("don't|
00005b90  20 77 61 6e 74 20 74 6f  20 75 73 65 20 69 74 29  | want to use it)|
00005ba0  22 2c 2d 31 2c 33 32 2c  36 29 0d 1a 36 24 f2 74  |",-1,32,6)..6$.t|
00005bb0  65 78 74 28 22 4c 65 66  74 20 62 75 74 74 6f 6e  |ext("Left button|
00005bc0  2e 2e 2e 22 2c 36 34 2c  32 32 30 2c 32 29 0d 1a  |...",64,220,2)..|
00005bd0  40 25 f2 74 65 78 74 28  22 52 69 67 68 74 20 62  |@%.text("Right b|
00005be0  75 74 74 6f 6e 2e 2e 2e  22 2c 36 34 2c 32 33 32  |utton...",64,232|
00005bf0  2c 32 29 0d 1a 4a 26 f2  74 65 78 74 28 22 4d 69  |,2)..J&.text("Mi|
00005c00  64 64 6c 65 20 62 75 74  74 6f 6e 2e 2e 2e 22 2c  |ddle button...",|
00005c10  36 34 2c 32 34 34 2c 32  29 0d 1a 54 23 f2 74 65  |64,244,2)..T#.te|
00005c20  78 74 28 22 73 65 74 73  20 73 71 75 61 72 65 22  |xt("sets square"|
00005c30  2c 31 32 35 36 2c 32 32  30 2c 36 29 0d 1a 5e 25  |,1256,220,6)..^%|
00005c40  f2 74 65 78 74 28 22 75  6e 73 65 74 73 20 73 71  |.text("unsets sq|
00005c50  75 61 72 65 22 2c 31 32  35 36 2c 32 33 32 2c 36  |uare",1256,232,6|
00005c60  29 0d 1a 68 23 f2 74 65  78 74 28 22 73 74 61 72  |)..h#.text("star|
00005c70  74 73 20 67 61 6d 65 22  2c 31 32 35 36 2c 32 34  |ts game",1256,24|
00005c80  34 2c 36 29 0d 1a 72 20  c8 97 fb 31 2c 31 32 30  |4,6)..r ...1,120|
00005c90  2c 30 2c 32 34 30 3a c8  97 fb 33 2c 38 30 2c 30  |,0,240:...3,80,0|
00005ca0  2c 31 36 30 0d 1a 7c 36  e3 78 25 3d 30 b8 34 3a  |,160..|6.x%=0.4:|
00005cb0  e3 79 25 3d 30 b8 34 3a  74 69 6c 65 24 3d 22 63  |.y%=0.4:tile$="c|
00005cc0  68 6f 6f 73 65 2d 22 2b  c3 73 68 61 70 65 67 72  |hoose-"+.shapegr|
00005cd0  69 64 25 28 78 25 2c 79  25 29 0d 1a 86 37 c8 99  |id%(x%,y%)...7..|
00005ce0  26 32 45 2c 33 34 2b 32  35 36 2c 73 70 72 25 2c  |&2E,34+256,spr%,|
00005cf0  74 69 6c 65 24 2c 33 32  30 2b 78 25 2a 31 32 38  |tile$,320+x%*128|
00005d00  2c 37 30 34 2d 79 25 2a  31 32 38 2c 30 3a ed 3a  |,704-y%*128,0:.:|
00005d10  ed 0d 1a 90 26 ff 22 46  58 31 31 32 2c 31 22 3a  |....&."FX112,1":|
00005d20  e6 30 c8 9c 30 3a c8 93  33 31 36 2c 31 38 38 2c  |.0..0:..316,188,|
00005d30  36 34 34 2c 36 34 34 0d  1a 9a 3b c8 97 c8 93 33  |644,644...;....3|
00005d40  32 30 2c 31 39 32 2c 36  33 36 2c 36 33 36 3a ef  |20,192,636,636:.|
00005d50  31 39 2c 30 2c 32 34 2c  31 33 30 2c 31 33 30 2c  |19,0,24,130,130,|
00005d60  31 33 30 3a d6 63 6c 65  61 72 3a f2 70 74 72 28  |130:.clear:.ptr(|
00005d70  31 29 0d 1a a4 0c f2 6d  6f 75 73 65 6f 6e 0d 1a  |1).....mouseon..|
00005d80  ae 34 f5 3a f5 3a c8 97  78 78 25 2c 79 79 25 2c  |.4.:.:..xx%,yy%,|
00005d90  62 75 74 74 6f 6e 25 3a  fd 62 75 74 74 6f 6e 25  |button%:.button%|
00005da0  3a 67 78 25 3d 28 78 78  25 2d 33 32 30 29 2f 31  |:gx%=(xx%-320)/1|
00005db0  32 38 0d 1a b8 24 67 79  25 3d 28 37 30 30 2d 79  |28...$gy%=(700-y|
00005dc0  79 25 29 2f 31 32 38 2b  31 3a c8 8e 20 62 75 74  |y%)/128+1:.. but|
00005dd0  74 6f 6e 25 20 ca 0d 1a  c2 20 c9 20 31 3a e7 73  |ton% .... . 1:.s|
00005de0  68 61 70 65 67 72 69 64  25 28 67 78 25 2c 67 79  |hapegrid%(gx%,gy|
00005df0  25 29 3d 31 20 8c 0d 1a  cc 19 73 68 61 70 65 67  |%)=1 .....shapeg|
00005e00  72 69 64 25 28 67 78 25  2c 67 79 25 29 3d 30 0d  |rid%(gx%,gy%)=0.|
00005e10  1a d6 3a c8 99 26 32 45  2c 33 34 2b 32 35 36 2c  |..:..&2E,34+256,|
00005e20  73 70 72 25 2c 22 63 68  6f 6f 73 65 2d 30 22 2c  |spr%,"choose-0",|
00005e30  33 32 30 2b 67 78 25 2a  31 32 38 2c 37 30 34 2d  |320+gx%*128,704-|
00005e40  67 79 25 2a 31 32 38 2c  30 0d 1a e0 05 cd 0d 1a  |gy%*128,0.......|
00005e50  ea 20 c9 20 34 3a e7 73  68 61 70 65 67 72 69 64  |. . 4:.shapegrid|
00005e60  25 28 67 78 25 2c 67 79  25 29 3d 30 20 8c 0d 1a  |%(gx%,gy%)=0 ...|
00005e70  f4 19 73 68 61 70 65 67  72 69 64 25 28 67 78 25  |..shapegrid%(gx%|
00005e80  2c 67 79 25 29 3d 31 0d  1a fe 3a c8 99 26 32 45  |,gy%)=1...:..&2E|
00005e90  2c 33 34 2b 32 35 36 2c  73 70 72 25 2c 22 63 68  |,34+256,spr%,"ch|
00005ea0  6f 6f 73 65 2d 31 22 2c  33 32 30 2b 67 78 25 2a  |oose-1",320+gx%*|
00005eb0  31 32 38 2c 37 30 34 2d  67 79 25 2a 31 32 38 2c  |128,704-gy%*128,|
00005ec0  30 0d 1b 08 05 cd 0d 1b  12 2a cb 3a fd 62 75 74  |0........*.:.but|
00005ed0  74 6f 6e 25 3d 32 3a 73  68 61 70 65 73 25 3d a3  |ton%=2:shapes%=.|
00005ee0  3a e3 78 25 3d 30 b8 34  3a e3 79 25 3d 30 b8 34  |:.x%=0.4:.y%=0.4|
00005ef0  0d 1b 1c 22 e7 73 68 61  70 65 67 72 69 64 25 28  |...".shapegrid%(|
00005f00  78 25 2c 79 25 29 3d 31  3a 73 68 61 70 65 73 25  |x%,y%)=1:shapes%|
00005f10  3d b9 0d 1b 26 2b ed 3a  ed 3a fb 31 32 38 3a e7  |=...&+.:.:.128:.|
00005f20  20 ac 20 73 68 61 70 65  73 25 3a ef 32 33 2c 32  | . shapes%:.23,2|
00005f30  35 32 2c 30 3b 30 3b 30  3b 30 3b 3a e1 0d 1b 30  |52,0;0;0;0;:...0|
00005f40  33 f5 3a 62 6c 61 6e 6b  25 3d b9 3a e3 79 25 3d  |3.:blank%=.:.y%=|
00005f50  30 b8 34 3a e7 73 68 61  70 65 67 72 69 64 25 28  |0.4:.shapegrid%(|
00005f60  30 2c 79 25 29 3d 31 3a  62 6c 61 6e 6b 25 3d a3  |0,y%)=1:blank%=.|
00005f70  0d 1b 3a 11 ed 3a e7 62  6c 61 6e 6b 25 3d b9 20  |..:..:.blank%=. |
00005f80  8c 0d 1b 44 3d e3 78 25  3d 31 b8 34 3a e3 79 25  |...D=.x%=1.4:.y%|
00005f90  3d 30 b8 34 3a 73 68 61  70 65 67 72 69 64 25 28  |=0.4:shapegrid%(|
00005fa0  78 25 2d 31 2c 79 25 29  3d 73 68 61 70 65 67 72  |x%-1,y%)=shapegr|
00005fb0  69 64 25 28 78 25 2c 79  25 29 3a ed 3a ed 0d 1b  |id%(x%,y%):.:...|
00005fc0  4e 20 e3 79 25 3d 30 b8  34 3a 73 68 61 70 65 67  |N .y%=0.4:shapeg|
00005fd0  72 69 64 25 28 34 2c 79  25 29 3d 30 3a ed 0d 1b  |rid%(4,y%)=0:...|
00005fe0  58 0f cd 3a fd 62 6c 61  6e 6b 25 3d a3 0d 1b 62  |X..:.blank%=...b|
00005ff0  33 f5 3a 62 6c 61 6e 6b  25 3d b9 3a e3 78 25 3d  |3.:blank%=.:.x%=|
00006000  30 b8 34 3a e7 73 68 61  70 65 67 72 69 64 25 28  |0.4:.shapegrid%(|
00006010  78 25 2c 30 29 3d 31 3a  62 6c 61 6e 6b 25 3d a3  |x%,0)=1:blank%=.|
00006020  0d 1b 6c 11 ed 3a e7 62  6c 61 6e 6b 25 3d b9 20  |..l..:.blank%=. |
00006030  8c 0d 1b 76 3d e3 79 25  3d 31 b8 34 3a e3 78 25  |...v=.y%=1.4:.x%|
00006040  3d 30 b8 34 3a 73 68 61  70 65 67 72 69 64 25 28  |=0.4:shapegrid%(|
00006050  78 25 2c 79 25 2d 31 29  3d 73 68 61 70 65 67 72  |x%,y%-1)=shapegr|
00006060  69 64 25 28 78 25 2c 79  25 29 3a ed 3a ed 0d 1b  |id%(x%,y%):.:...|
00006070  80 20 e3 78 25 3d 30 b8  34 3a 73 68 61 70 65 67  |. .x%=0.4:shapeg|
00006080  72 69 64 25 28 78 25 2c  34 29 3d 30 3a ed 0d 1b  |rid%(x%,4)=0:...|
00006090  8a 0f cd 3a fd 62 6c 61  6e 6b 25 3d a3 0d 1b 94  |...:.blank%=....|
000060a0  13 ef 32 33 2c 32 35 32  3a e3 79 25 3d 30 b8 34  |..23,252:.y%=0.4|
000060b0  0d 1b 9e 33 6c 69 6e 65  24 3d 22 30 30 30 22 3a  |...3line$="000":|
000060c0  e3 78 25 3d 30 b8 34 3a  6c 69 6e 65 24 2b 3d c3  |.x%=0.4:line$+=.|
000060d0  73 68 61 70 65 67 72 69  64 25 28 78 25 2c 79 25  |shapegrid%(x%,y%|
000060e0  29 3a ed 0d 1b a8 1a ef  a0 28 22 25 22 2b 6c 69  |):.......("%"+li|
000060f0  6e 65 24 29 3a ed 3a ef  30 2c 30 2c 30 0d 1b b2  |ne$):.:.0,0,0...|
00006100  39 78 25 3d 34 3a f5 3a  62 6c 61 6e 6b 25 3d b9  |9x%=4:.:blank%=.|
00006110  3a e3 79 25 3d 30 b8 34  3a e7 73 68 61 70 65 67  |:.y%=0.4:.shapeg|
00006120  72 69 64 25 28 78 25 2c  79 25 29 3d 31 3a 62 6c  |rid%(x%,y%)=1:bl|
00006130  61 6e 6b 25 3d a3 0d 1b  bc 1d ed 3a 78 25 2d 3d  |ank%=......:x%-=|
00006140  31 3a fd 62 6c 61 6e 6b  25 3d a3 20 84 20 78 25  |1:.blank%=. . x%|
00006150  3d 2d 31 0d 1b c6 10 73  68 61 70 65 77 25 3d 78  |=-1....shapew%=x|
00006160  25 2b 32 0d 1b d0 39 79  25 3d 34 3a f5 3a 62 6c  |%+2...9y%=4:.:bl|
00006170  61 6e 6b 25 3d b9 3a e3  78 25 3d 30 b8 34 3a e7  |ank%=.:.x%=0.4:.|
00006180  73 68 61 70 65 67 72 69  64 25 28 78 25 2c 79 25  |shapegrid%(x%,y%|
00006190  29 3d 31 3a 62 6c 61 6e  6b 25 3d a3 0d 1b da 1d  |)=1:blank%=.....|
000061a0  ed 3a 79 25 2d 3d 31 3a  fd 62 6c 61 6e 6b 25 3d  |.:y%-=1:.blank%=|
000061b0  a3 20 84 20 79 25 3d 2d  31 0d 1b e4 10 73 68 61  |. . y%=-1....sha|
000061c0  70 65 68 25 3d 79 25 2b  32 0d 1b ee 05 e1 0d 1b  |peh%=y%+2.......|
000061d0  f8 04 0d 1c 02 36 dd f2  73 68 6f 77 77 6f 72 64  |.....6..showword|
000061e0  28 70 6c 25 29 3a ea 78  25 2c 79 25 2c 6c 65 74  |(pl%):.x%,y%,let|
000061f0  74 65 72 24 2c 70 61 72  74 78 25 2c 70 61 72 74  |ter$,partx%,part|
00006200  79 25 2c 74 79 70 65 24  0d 1c 0c 2a e3 78 25 3d  |y%,type$...*.x%=|
00006210  30 b8 39 3a e3 79 25 3d  30 b8 34 3a e7 67 72 69  |0.9:.y%=0.4:.gri|
00006220  64 25 28 78 25 2b 31 2c  79 25 2b 31 29 3c 32 36  |d%(x%+1,y%+1)<26|
00006230  20 8c 0d 1c 16 35 c8 99  26 32 45 2c 33 34 2b 32  | ....5..&2E,34+2|
00006240  35 36 2c 73 70 72 25 2c  22 67 72 69 64 2d 73 6c  |56,spr%,"grid-sl|
00006250  61 62 22 2c 78 25 2a 31  32 38 2c 79 25 2a 31 32  |ab",x%*128,y%*12|
00006260  38 2b 31 39 32 2c 30 0d  1c 20 3e cc 3a 6c 65 74  |8+192,0.. >.:let|
00006270  74 65 72 24 3d c1 64 69  73 70 6c 61 79 24 28 70  |ter$=.display$(p|
00006280  6c 25 29 2c 78 25 81 32  2b 31 2c 31 29 3a 70 61  |l%),x%.2+1,1):pa|
00006290  72 74 78 25 3d 78 25 83  32 3a 70 61 72 74 79 25  |rtx%=x%.2:party%|
000062a0  3d 34 2d 79 25 0d 1c 2a  12 e7 6c 65 74 74 65 72  |=4-y%..*..letter|
000062b0  24 3e 22 20 22 20 8c 0d  1c 34 3c 74 79 70 65 24  |$>" " ...4<type$|
000062c0  3d 22 6c 65 74 74 65 72  70 2d 22 2b c3 61 6c 70  |="letterp-"+.alp|
000062d0  68 70 61 72 74 25 28 70  61 72 74 78 25 2c 70 61  |hpart%(partx%,pa|
000062e0  72 74 79 25 2c 97 28 6c  65 74 74 65 72 24 29 2d  |rty%,.(letter$)-|
000062f0  36 35 29 0d 1c 3e 2f c8  99 26 32 45 2c 33 34 2b  |65)..>/..&2E,34+|
00006300  32 35 36 2c 73 70 72 25  2c 74 79 70 65 24 2c 78  |256,spr%,type$,x|
00006310  25 2a 31 32 38 2c 79 25  2a 31 32 38 2b 31 39 32  |%*128,y%*128+192|
00006320  2c 30 0d 1c 48 37 cc 3a  c8 99 26 32 45 2c 33 34  |,0..H7.:..&2E,34|
00006330  2b 32 35 36 2c 73 70 72  25 2c 22 6c 65 74 74 65  |+256,spr%,"lette|
00006340  72 70 2d 30 22 2c 78 25  2a 31 32 38 2c 79 25 2a  |rp-0",x%*128,y%*|
00006350  31 32 38 2b 31 39 32 2c  30 0d 1c 52 05 cd 0d 1c  |128+192,0..R....|
00006360  5c 0b cd 3a ed 3a ed 3a  e1 0d 1c 66 04 0d 1c 70  |\..:.:.:...f...p|
00006370  21 dd f2 69 6e 69 74 6c  65 74 74 65 72 73 3a f7  |!..initletters:.|
00006380  8d 74 74 5e 3a ea 69 25  2c 78 25 2c 79 25 0d 1c  |.tt^:.i%,x%,y%..|
00006390  7a 16 de 61 6c 70 68 70  61 72 74 25 28 31 2c 34  |z..alphpart%(1,4|
000063a0  2c 32 35 29 0d 1c 84 39  e3 69 25 3d 30 b8 32 35  |,25)...9.i%=0.25|
000063b0  3a e3 79 25 3d 30 b8 34  3a e3 78 25 3d 30 b8 31  |:.y%=0.4:.x%=0.1|
000063c0  3a f3 61 6c 70 68 70 61  72 74 25 28 78 25 2c 79  |:.alphpart%(x%,y|
000063d0  25 2c 69 25 29 3a ed 78  25 3a ed 79 25 0d 1c 8e  |%,i%):.x%:.y%...|
000063e0  09 ed 69 25 3a e1 0d 1c  98 04 0d 1c a2 39 dd f2  |..i%:........9..|
000063f0  70 72 69 6e 74 77 6f 72  64 28 77 6f 72 64 24 29  |printword(word$)|
00006400  3a ea 78 25 2c 79 25 2c  6c 65 74 74 65 72 24 2c  |:.x%,y%,letter$,|
00006410  70 61 72 74 78 25 2c 70  61 72 74 79 25 2c 74 79  |partx%,party%,ty|
00006420  70 65 24 0d 1c ac 13 e3  78 25 3d 30 b8 39 3a e3  |pe$.....x%=0.9:.|
00006430  79 25 3d 30 b8 34 0d 1c  b6 34 6c 65 74 74 65 72  |y%=0.4...4letter|
00006440  24 3d c1 77 6f 72 64 24  2c 78 25 81 32 2b 31 2c  |$=.word$,x%.2+1,|
00006450  31 29 3a 70 61 72 74 78  25 3d 78 25 83 32 3a 70  |1):partx%=x%.2:p|
00006460  61 72 74 79 25 3d 34 2d  79 25 0d 1c c0 12 e7 6c  |arty%=4-y%.....l|
00006470  65 74 74 65 72 24 3e 22  20 22 20 8c 0d 1c ca 3c  |etter$>" " ....<|
00006480  74 79 70 65 24 3d 22 6c  65 74 74 65 72 70 2d 22  |type$="letterp-"|
00006490  2b c3 61 6c 70 68 70 61  72 74 25 28 70 61 72 74  |+.alphpart%(part|
000064a0  78 25 2c 70 61 72 74 79  25 2c 97 28 6c 65 74 74  |x%,party%,.(lett|
000064b0  65 72 24 29 2d 36 35 29  0d 1c d4 2f c8 99 26 32  |er$)-65).../..&2|
000064c0  45 2c 33 34 2b 32 35 36  2c 73 70 72 25 2c 74 79  |E,34+256,spr%,ty|
000064d0  70 65 24 2c 78 25 2a 31  32 38 2c 79 25 2a 31 32  |pe$,x%*128,y%*12|
000064e0  38 2b 31 39 32 2c 30 0d  1c de 3d cc 3a c8 99 26  |8+192,0...=.:..&|
000064f0  32 45 2c 33 34 2b 32 35  36 2c 73 70 72 25 2c 22  |2E,34+256,spr%,"|
00006500  6c 65 74 74 65 72 70 2d  30 22 2c 74 79 70 65 24  |letterp-0",type$|
00006510  2c 78 25 2a 31 32 38 2c  79 25 2a 31 32 38 2b 31  |,x%*128,y%*128+1|
00006520  39 32 2c 30 0d 1c e8 0b  cd 3a ed 3a ed 3a e1 0d  |92,0.....:.:.:..|
00006530  1c f2 04 0d 1c fc 1e dd  f2 63 68 65 63 6b 73 68  |.........checksh|
00006540  61 70 65 3a e7 20 ac 20  73 68 61 70 65 73 25 3a  |ape:. . shapes%:|
00006550  e1 0d 1d 06 40 ea 78 78  25 2c 79 79 25 2c 78 25  |....@.xx%,yy%,x%|
00006560  2c 79 25 2c 68 25 2c 76  25 2c 79 65 73 25 2c 63  |,y%,h%,v%,yes%,c|
00006570  6f 6c 25 2c 62 6f 6e 75  73 25 2c 6e 75 6d 62 65  |ol%,bonus%,numbe|
00006580  72 25 2c 6e 75 6d 25 3a  6e 75 6d 62 65 72 25 3d  |r%,num%:number%=|
00006590  30 0d 1d 10 26 e3 78 78  25 3d 31 b8 31 31 2d 73  |0...&.xx%=1.11-s|
000065a0  68 61 70 65 77 25 3a e3  79 79 25 3d 31 b8 36 2d  |hapew%:.yy%=1.6-|
000065b0  73 68 61 70 65 68 25 0d  1d 1a 2a 79 65 73 25 3d  |shapeh%...*yes%=|
000065c0  b9 3a e3 78 25 3d 30 b8  73 68 61 70 65 77 25 2d  |.:.x%=0.shapew%-|
000065d0  31 3a e3 79 25 3d 30 b8  73 68 61 70 65 68 25 2d  |1:.y%=0.shapeh%-|
000065e0  31 0d 1d 24 4b e7 67 72  69 64 25 28 78 78 25 2b  |1..$K.grid%(xx%+|
000065f0  78 25 2c 79 79 25 2b 79  25 29 3c 3e 32 35 2b 63  |x%,yy%+y%)<>25+c|
00006600  75 72 72 65 6e 74 25 80  73 68 61 70 65 67 72 69  |urrent%.shapegri|
00006610  64 25 28 78 25 2c 73 68  61 70 65 68 25 2d 79 25  |d%(x%,shapeh%-y%|
00006620  2d 31 29 3d 31 3a 79 65  73 25 3d a3 0d 1d 2e 10  |-1)=1:yes%=.....|
00006630  ed 3a ed 3a e7 20 79 65  73 25 20 8c 0d 1d 38 1c  |.:.:. yes% ...8.|
00006640  68 25 3d 78 78 25 3a 76  25 3d 79 79 25 3a 6e 75  |h%=xx%:v%=yy%:nu|
00006650  6d 62 65 72 25 2b 3d 31  0d 1d 42 2a 6e 75 6d 25  |mber%+=1..B*num%|
00006660  3d 30 3a e3 78 25 3d 30  b8 73 68 61 70 65 77 25  |=0:.x%=0.shapew%|
00006670  2d 31 3a e3 79 25 3d 30  b8 73 68 61 70 65 68 25  |-1:.y%=0.shapeh%|
00006680  2d 31 0d 1d 4c 52 e7 73  68 61 70 65 67 72 69 64  |-1..LR.shapegrid|
00006690  25 28 78 25 2c 73 68 61  70 65 68 25 2d 79 25 2d  |%(x%,shapeh%-y%-|
000066a0  31 29 3d 31 3a 6e 75 6d  25 2b 3d 31 3a 74 75 72  |1)=1:num%+=1:tur|
000066b0  6e 78 25 28 6e 75 6d 25  29 3d 78 78 25 2b 78 25  |nx%(num%)=xx%+x%|
000066c0  3a 74 75 72 6e 79 25 28  6e 75 6d 25 29 3d 79 79  |:turny%(num%)=yy|
000066d0  25 2b 79 25 0d 1d 56 35  ed 3a ed 3a f2 74 75 72  |%+y%..V5.:.:.tur|
000066e0  6e 6f 76 65 72 28 6e 75  6d 25 29 3a 73 68 61 70  |nover(num%):shap|
000066f0  65 73 25 28 63 75 72 72  65 6e 74 25 29 2b 3d 31  |es%(current%)+=1|
00006700  3a 49 25 3d a6 28 31 30  29 0d 1d 60 16 cd 3a ed  |:I%=.(10)..`..:.|
00006710  3a ed 3a e7 6e 75 6d 62  65 72 25 3e 30 20 8c 0d  |:.:.number%>0 ..|
00006720  1d 6a 40 74 65 78 74 24  3d 22 59 6f 75 27 76 65  |.j@text$="You've|
00006730  20 6d 61 64 65 20 22 2b  c3 6e 75 6d 62 65 72 25  | made "+.number%|
00006740  2b 22 20 73 68 61 70 65  22 3a e7 6e 75 6d 62 65  |+" shape":.numbe|
00006750  72 25 3e 31 3a 74 65 78  74 24 2b 3d 22 73 22 0d  |r%>1:text$+="s".|
00006760  1d 74 3c 62 6f 6e 75 73  25 3d 32 2a 6e 75 6d 25  |.t<bonus%=2*num%|
00006770  2d 31 3a 74 65 78 74 24  2b 3d 22 21 20 28 62 6f  |-1:text$+="! (bo|
00006780  6e 75 73 20 22 2b c3 28  6e 75 6d 62 65 72 25 2a  |nus "+.(number%*|
00006790  62 6f 6e 75 73 25 29 2b  22 29 22 0d 1d 7e 24 73  |bonus%)+")"..~$s|
000067a0  63 6f 72 65 25 28 63 75  72 72 65 6e 74 25 29 2b  |core%(current%)+|
000067b0  3d 6e 75 6d 62 65 72 25  2a 62 6f 6e 75 73 25 0d  |=number%*bonus%.|
000067c0  1d 88 1d 63 6f 6c 25 3d  31 3a e7 63 75 72 72 65  |...col%=1:.curre|
000067d0  6e 74 25 3d 32 3a 63 6f  6c 25 3d 34 0d 1d 92 30  |nt%=2:col%=4...0|
000067e0  f2 73 6c 61 62 28 30 2c  38 33 32 2c 31 32 37 36  |.slab(0,832,1276|
000067f0  2c 36 30 29 3a f2 74 65  78 74 28 74 65 78 74 24  |,60):.text(text$|
00006800  2c 2d 31 2c 33 36 2c 63  6f 6c 25 29 0d 1d 9c 0d  |,-1,36,col%)....|
00006810  49 25 3d a6 28 32 30 30  29 0d 1d a6 07 cd 3a e1  |I%=.(200).....:.|
00006820  0d 1d b0 04 0d 1d ba 20  dd f2 74 65 78 74 28 74  |....... ..text(t|
00006830  65 78 74 24 2c 78 25 2c  79 25 2c 63 6f 6c 25 29  |ext$,x%,y%,col%)|
00006840  3a ea 69 25 0d 1d c4 25  f7 2b 28 31 31 2b 63 6f  |:.i%...%.+(11+co|
00006850  6c 25 29 3a e3 69 25 3d  30 b8 37 3a f3 73 68 61  |l%):.i%=0.7:.sha|
00006860  64 65 73 25 3f 69 25 3a  ed 0d 1d ce 15 e7 78 25  |des%?i%:......x%|
00006870  3c 30 20 84 20 78 25 3e  31 30 30 30 20 8c 0d 1d  |<0 . x%>1000 ...|
00006880  d8 16 6c 65 6e 25 3d a4  77 69 64 74 68 28 74 65  |..len%=.width(te|
00006890  78 74 24 29 0d 1d e2 0b  c8 8e 20 78 25 20 ca 0d  |xt$)...... x% ..|
000068a0  1d ec 16 c9 20 2d 31 3a  78 25 3d 31 36 30 2d 6c  |.... -1:x%=160-l|
000068b0  65 6e 25 2f 32 0d 1d f6  15 c9 20 2d 32 3a 78 25  |en%/2..... -2:x%|
000068c0  3d 38 30 2d 6c 65 6e 25  2f 32 0d 1e 00 16 c9 20  |=80-len%/2..... |
000068d0  2d 33 3a 78 25 3d 32 34  30 2d 6c 65 6e 25 2f 32  |-3:x%=240-len%/2|
000068e0  0d 1e 0a 05 cb 0d 1e 14  1e e7 78 25 3e 31 30 30  |..........x%>100|
000068f0  30 3a 78 25 3d 28 78 25  2d 31 30 30 30 29 2d 6c  |0:x%=(x%-1000)-l|
00006900  65 6e 25 0d 1e 1e 05 cd  0d 1e 28 32 c8 99 22 54  |en%.......(2.."T|
00006910  65 78 74 46 58 5f 50 72  69 6e 74 54 65 78 74 22  |extFX_PrintText"|
00006920  2c 31 2c 74 65 78 74 24  2c 78 25 2c 79 25 2c 73  |,1,text$,x%,y%,s|
00006930  68 61 64 65 73 25 2c 30  3a e1 0d 1e 32 04 0d 1e  |hades%,0:...2...|
00006940  3c 2d dc 20 31 36 2c 31  37 2c 31 38 2c 31 39 2c  |<-. 16,17,18,19,|
00006950  36 30 2c 36 31 2c 36 32  2c 36 33 3a 52 45 4d 20  |60,61,62,63:REM |
00006960  20 20 20 20 20 20 20 20  52 65 64 0d 1e 46 2f dc  |        Red..F/.|
00006970  20 36 34 2c 36 35 2c 36  36 2c 36 37 2c 31 30 38  | 64,65,66,67,108|
00006980  2c 31 30 39 2c 31 31 30  2c 31 31 31 3a 52 45 4d  |,109,110,111:REM|
00006990  20 20 20 20 20 47 72 65  65 6e 0d 1e 50 30 dc 20  |     Green..P0. |
000069a0  38 30 2c 38 31 2c 38 32  2c 38 33 2c 31 32 34 2c  |80,81,82,83,124,|
000069b0  31 32 35 2c 31 32 36 2c  31 32 37 3a 52 45 4d 20  |125,126,127:REM |
000069c0  20 20 20 20 59 65 6c 6c  6f 77 0d 1e 5a 2e dc 20  |    Yellow..Z.. |
000069d0  31 32 38 2c 31 32 39 2c  31 33 30 2c 31 33 31 2c  |128,129,130,131,|
000069e0  31 37 32 2c 31 37 33 2c  31 37 34 2c 31 37 35 3a  |172,173,174,175:|
000069f0  52 45 4d 20 42 6c 75 65  0d 1e 64 31 dc 20 31 34  |REM Blue..d1. 14|
00006a00  34 2c 31 34 35 2c 31 34  36 2c 31 34 37 2c 31 38  |4,145,146,147,18|
00006a10  38 2c 31 38 39 2c 31 39  30 2c 31 39 31 3a 52 45  |8,189,190,191:RE|
00006a20  4d 20 4d 61 67 65 6e 74  61 0d 1e 6e 2e dc 20 31  |M Magenta..n.. 1|
00006a30  39 32 2c 31 39 33 2c 31  39 34 2c 31 39 35 2c 32  |92,193,194,195,2|
00006a40  33 36 2c 32 33 37 2c 32  33 38 2c 32 33 39 3a 52  |36,237,238,239:R|
00006a50  45 4d 20 43 79 61 6e 0d  1e 78 2f dc 20 32 30 38  |EM Cyan..x/. 208|
00006a60  2c 32 30 39 2c 32 31 30  2c 32 31 31 2c 32 35 32  |,209,210,211,252|
00006a70  2c 32 35 33 2c 32 35 34  2c 32 35 35 3a 52 45 4d  |,253,254,255:REM|
00006a80  20 57 68 69 74 65 0d 1e  82 30 dc 20 31 33 32 2c  | White...0. 132,|
00006a90  31 33 33 2c 31 33 34 2c  31 33 35 2c 31 38 34 2c  |133,134,135,184,|
00006aa0  31 38 35 2c 31 38 36 2c  31 38 37 3a 52 45 4d 20  |185,186,187:REM |
00006ab0  50 75 72 70 6c 65 0d 1e  8c 05 3a 0d 1e 96 05 3a  |Purple....:....:|
00006ac0  0d 1e a0 36 dc 20 32 30  38 2c 32 30 38 2c 32 30  |...6. 208,208,20|
00006ad0  38 2c 32 30 38 2c 32 30  38 2c 32 30 38 2c 32 30  |8,208,208,208,20|
00006ae0  38 2c 32 30 38 3a 52 45  4d 20 55 6e 69 66 6f 72  |8,208:REM Unifor|
00006af0  6d 20 67 72 65 79 0d 1e  aa 04 0d 1e b4 29 dc 20  |m grey.......). |
00006b00  31 2c 32 2c 37 2c 31 30  2c 31 36 2c 31 37 2c 37  |1,2,7,10,16,17,7|
00006b10  2c 31 30 2c 38 2c 31 31  3a 52 45 4d 20 20 20 20  |,10,8,11:REM    |
00006b20  20 20 41 0d 1e be 29 dc  20 35 2c 32 2c 37 2c 31  |  A...). 5,2,7,1|
00006b30  30 2c 31 36 2c 33 39 2c  37 2c 31 30 2c 36 2c 34  |0,16,39,7,10,6,4|
00006b40  3a 52 45 4d 20 20 20 20  20 20 20 42 0d 1e c8 29  |:REM       B...)|
00006b50  dc 20 31 2c 32 2c 37 2c  31 31 2c 37 2c 30 2c 37  |. 1,2,7,11,7,0,7|
00006b60  2c 31 32 2c 33 2c 34 3a  52 45 4d 20 20 20 20 20  |,12,3,4:REM     |
00006b70  20 20 20 20 43 0d 1e d2  29 dc 20 35 2c 32 2c 37  |    C...). 5,2,7|
00006b80  2c 31 30 2c 37 2c 31 30  2c 37 2c 31 30 2c 36 2c  |,10,7,10,7,10,6,|
00006b90  34 3a 52 45 4d 20 20 20  20 20 20 20 20 44 0d 1e  |4:REM        D..|
00006ba0  dc 29 dc 20 35 2c 31 33  2c 37 2c 30 2c 31 36 2c  |.). 5,13,7,0,16,|
00006bb0  31 35 2c 37 2c 30 2c 36  2c 31 34 3a 52 45 4d 20  |15,7,0,6,14:REM |
00006bc0  20 20 20 20 20 20 45 0d  1e e6 29 dc 20 35 2c 31  |      E...). 5,1|
00006bd0  33 2c 37 2c 30 2c 31 36  2c 31 35 2c 37 2c 30 2c  |3,7,0,16,15,7,0,|
00006be0  38 2c 30 3a 52 45 4d 20  20 20 20 20 20 20 20 46  |8,0:REM        F|
00006bf0  0d 1e f0 29 dc 20 31 2c  32 2c 37 2c 31 31 2c 37  |...). 1,2,7,11,7|
00006c00  2c 31 38 2c 37 2c 31 30  2c 33 2c 34 3a 52 45 4d  |,18,7,10,3,4:REM|
00006c10  20 20 20 20 20 20 20 20  47 0d 1e fa 29 dc 20 39  |        G...). 9|
00006c20  2c 31 32 2c 37 2c 31 30  2c 31 36 2c 31 37 2c 37  |,12,7,10,16,17,7|
00006c30  2c 31 30 2c 38 2c 31 31  3a 52 45 4d 20 20 20 20  |,10,8,11:REM    |
00006c40  20 48 0d 1f 04 29 dc 20  33 31 2c 33 32 2c 33 33  | H...). 31,32,33|
00006c50  2c 33 34 2c 33 33 2c 33  34 2c 33 33 2c 33 34 2c  |,34,33,34,33,34,|
00006c60  33 35 2c 33 36 3a 52 45  4d 20 49 0d 1f 0e 29 dc  |35,36:REM I...).|
00006c70  20 30 2c 31 32 2c 30 2c  31 30 2c 30 2c 31 30 2c  | 0,12,0,10,0,10,|
00006c80  39 2c 31 30 2c 33 2c 34  3a 52 45 4d 20 20 20 20  |9,10,3,4:REM    |
00006c90  20 20 20 4a 0d 1f 18 29  dc 20 39 2c 34 35 2c 32  |   J...). 9,45,2|
00006ca0  31 2c 33 30 2c 32 35 2c  32 39 2c 37 2c 32 37 2c  |1,30,25,29,7,27,|
00006cb0  38 2c 31 31 3a 52 45 4d  20 20 20 20 4b 0d 1f 22  |8,11:REM    K.."|
00006cc0  29 dc 20 39 2c 30 2c 37  2c 30 2c 37 2c 30 2c 37  |). 9,0,7,0,7,0,7|
00006cd0  2c 30 2c 36 2c 31 34 3a  52 45 4d 20 20 20 20 20  |,0,6,14:REM     |
00006ce0  20 20 20 20 20 4c 0d 1f  2c 29 dc 20 32 33 2c 32  |     L..,). 23,2|
00006cf0  34 2c 32 35 2c 32 36 2c  37 2c 31 30 2c 37 2c 31  |4,25,26,7,10,7,1|
00006d00  30 2c 38 2c 31 31 3a 52  45 4d 20 20 20 20 4d 0d  |0,8,11:REM    M.|
00006d10  1f 36 29 dc 20 39 2c 31  32 2c 34 31 2c 31 30 2c  |.6). 9,12,41,10,|
00006d20  32 35 2c 32 32 2c 37 2c  34 32 2c 38 2c 31 31 3a  |25,22,7,42,8,11:|
00006d30  52 45 4d 20 20 20 20 4e  0d 1f 40 29 dc 20 31 2c  |REM    N..@). 1,|
00006d40  32 2c 37 2c 31 30 2c 37  2c 31 30 2c 37 2c 31 30  |2,7,10,7,10,7,10|
00006d50  2c 33 2c 34 3a 52 45 4d  20 20 20 20 20 20 20 20  |,3,4:REM        |
00006d60  4f 0d 1f 4a 29 dc 20 35  2c 32 2c 37 2c 31 30 2c  |O..J). 5,2,7,10,|
00006d70  34 30 2c 34 2c 37 2c 30  2c 38 2c 30 3a 52 45 4d  |40,4,7,0,8,0:REM|
00006d80  20 20 20 20 20 20 20 20  20 50 0d 1f 54 29 dc 20  |         P..T). |
00006d90  31 2c 32 2c 37 2c 31 30  2c 37 2c 31 30 2c 37 2c  |1,2,7,10,7,10,7,|
00006da0  31 30 2c 33 2c 34 33 3a  52 45 4d 20 20 20 20 20  |10,3,43:REM     |
00006db0  20 20 51 0d 1f 5e 29 dc  20 35 2c 32 2c 37 2c 31  |  Q..^). 5,2,7,1|
00006dc0  30 2c 31 36 2c 33 39 2c  37 2c 31 30 2c 38 2c 31  |0,16,39,7,10,8,1|
00006dd0  31 3a 52 45 4d 20 20 20  20 20 20 52 0d 1f 68 29  |1:REM      R..h)|
00006de0  dc 20 31 2c 32 2c 35 30  2c 31 31 2c 35 31 2c 35  |. 1,2,50,11,51,5|
00006df0  32 2c 39 2c 35 33 2c 33  2c 34 3a 52 45 4d 20 20  |2,9,53,3,4:REM  |
00006e00  20 20 20 20 53 0d 1f 72  29 dc 20 33 31 2c 33 32  |    S..r). 31,32|
00006e10  2c 33 33 2c 33 34 2c 33  33 2c 33 34 2c 33 33 2c  |,33,34,33,34,33,|
00006e20  33 34 2c 33 37 2c 33 38  3a 52 45 4d 20 54 0d 1f  |34,37,38:REM T..|
00006e30  7c 29 dc 20 39 2c 31 32  2c 37 2c 31 30 2c 37 2c  ||). 9,12,7,10,7,|
00006e40  31 30 2c 37 2c 31 30 2c  33 2c 34 3a 52 45 4d 20  |10,7,10,3,4:REM |
00006e50  20 20 20 20 20 20 55 0d  1f 86 29 dc 20 39 2c 31  |      U...). 9,1|
00006e60  32 2c 37 2c 31 30 2c 37  2c 31 30 2c 34 38 2c 36  |2,7,10,7,10,48,6|
00006e70  31 2c 34 39 2c 36 32 3a  52 45 4d 20 20 20 20 56  |1,49,62:REM    V|
00006e80  0d 1f 90 29 dc 20 39 2c  31 32 2c 37 2c 31 30 2c  |...). 9,12,7,10,|
00006e90  37 2c 31 30 2c 32 31 2c  32 32 2c 31 39 2c 32 30  |7,10,21,22,19,20|
00006ea0  3a 52 45 4d 20 20 20 20  57 0d 1f 9a 29 dc 20 34  |:REM    W...). 4|
00006eb0  34 2c 34 35 2c 34 36 2c  34 37 2c 33 33 2c 33 34  |4,45,46,47,33,34|
00006ec0  2c 35 34 2c 35 35 2c 35  39 2c 36 30 3a 52 45 4d  |,54,55,59,60:REM|
00006ed0  20 58 0d 1f a4 29 dc 20  34 34 2c 34 35 2c 34 36  | X...). 44,45,46|
00006ee0  2c 34 37 2c 33 33 2c 33  34 2c 33 33 2c 33 34 2c  |,47,33,34,33,34,|
00006ef0  33 37 2c 33 38 3a 52 45  4d 20 59 0d 1f ae 29 dc  |37,38:REM Y...).|
00006f00  20 35 36 2c 35 37 2c 30  2c 36 31 2c 35 38 2c 36  | 56,57,0,61,58,6|
00006f10  32 2c 32 38 2c 30 2c 36  2c 31 34 3a 52 45 4d 20  |2,28,0,6,14:REM |
00006f20  20 20 20 5a 0d 1f b8 04  0d 1f c2 1d dd f2 6d 6f  |   Z..........mo|
00006f30  75 73 65 6f 6e 3a ff 22  41 6e 69 6d 61 74 65 20  |useon:."Animate |
00006f40  4f 6e 22 3a e1 0d 1f cc  04 0d 1f d6 24 dd f2 6d  |On":........$..m|
00006f50  6f 75 73 65 6f 66 66 3a  ff 22 41 6e 69 6d 61 74  |ouseoff:."Animat|
00006f60  65 20 4f 66 66 22 3a c8  97 20 87 3a e1 0d 1f e0  |e Off":.. .:....|
00006f70  04 0d 1f ea 2d dd f2 70  74 72 28 74 79 70 65 25  |....-..ptr(type%|
00006f80  29 3a f2 6d 6f 75 73 65  6f 66 66 3a e3 70 25 3d  |):.mouseoff:.p%=|
00006f90  31 b8 34 3a c8 8e 20 74  79 70 65 25 20 ca 0d 1f  |1.4:.. type% ...|
00006fa0  f4 30 c9 20 31 3a c8 99  26 32 45 2c 33 36 2b 32  |.0. 1:..&2E,36+2|
00006fb0  35 36 2c 73 70 72 25 2c  22 70 74 72 5f 70 61 69  |56,spr%,"ptr_pai|
00006fc0  72 73 22 2b c3 70 25 2c  70 25 2c 30 2c 30 0d 1f  |rs"+.p%,p%,0,0..|
00006fd0  fe 33 c9 20 32 3a c8 99  26 32 45 2c 33 36 2b 32  |.3. 2:..&2E,36+2|
00006fe0  35 36 2c 73 70 72 25 2c  22 70 74 72 5f 6c 6f 61  |56,spr%,"ptr_loa|
00006ff0  64 69 6e 67 22 2b c3 70  25 2c 70 25 2c 31 33 2c  |ding"+.p%,p%,13,|
00007000  38 0d 20 08 32 c9 20 33  3a c8 99 26 32 45 2c 33  |8. .2. 3:..&2E,3|
00007010  36 2b 32 35 36 2c 73 70  72 25 2c 22 70 74 72 5f  |6+256,spr%,"ptr_|
00007020  63 6f 6e 67 72 61 74 22  2b c3 70 25 2c 70 25 2c  |congrat"+.p%,p%,|
00007030  38 2c 38 0d 20 12 30 c9  20 34 3a c8 99 26 32 45  |8,8. .0. 4:..&2E|
00007040  2c 33 36 2b 32 35 36 2c  73 70 72 25 2c 22 70 74  |,36+256,spr%,"pt|
00007050  72 5f 65 66 6d 22 2b c3  70 25 2c 70 25 2c 31 36  |r_efm"+.p%,p%,16|
00007060  2c 31 32 0d 20 1c 16 cb  3a c8 97 87 3a ed 3a f2  |,12. ...:...:.:.|
00007070  6d 6f 75 73 65 6f 6e 3a  e1 0d 20 26 04 0d 20 30  |mouseon:.. &.. 0|
00007080  28 dd 20 f2 61 72 6d 63  6f 64 65 3a ea 20 64 69  |(. .armcode:. di|
00007090  73 70 61 63 65 25 2c 69  25 2c 70 61 73 73 25 2c  |space%,i%,pass%,|
000070a0  63 6f 64 65 25 0d 20 3a  40 de 20 64 69 73 70 61  |code%. :@. dispa|
000070b0  63 65 25 20 38 30 2a 36  34 3a 74 69 6d 65 25 3d  |ce% 80*64:time%=|
000070c0  33 32 3a e3 69 25 3d 30  b8 38 30 2a 36 34 3a 64  |32:.i%=0.80*64:d|
000070d0  69 73 70 61 63 65 25 3f  69 25 3d b3 28 74 69 6d  |ispace%?i%=.(tim|
000070e0  65 25 29 3a ed 0d 20 44  2f de 63 6f 64 65 25 20  |e%):.. D/.code% |
000070f0  35 31 32 3a e3 70 61 73  73 25 3d 30 b8 32 88 32  |512:.pass%=0.2.2|
00007100  3a 50 25 3d 63 6f 64 65  25 3a 5b 4f 50 54 20 70  |:P%=code%:[OPT p|
00007110  61 73 73 25 0d 20 4e 3f  2e 73 63 72 31 20 45 51  |ass%. N?.scr1 EQ|
00007120  55 44 20 26 31 46 44 38  30 30 30 3a 2e 73 63 72  |UD &1FD8000:.scr|
00007130  32 20 45 51 55 44 20 26  31 46 45 43 30 30 30 3a  |2 EQUD &1FEC000:|
00007140  2e 64 69 73 73 20 45 51  55 44 20 64 69 73 70 61  |.diss EQUD dispa|
00007150  63 65 25 0d 20 58 47 2e  63 6c 65 61 72 3a 53 54  |ce%. XG.clear:ST|
00007160  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 31 32  |MFD R13!,{R0-R12|
00007170  2c 52 31 34 7d 3a 4d 4f  56 20 52 31 32 2c 23 33  |,R14}:MOV R12,#3|
00007180  32 30 3a 4c 44 52 20 52  30 2c 73 63 72 31 3a 4c  |20:LDR R0,scr1:L|
00007190  44 52 20 52 31 2c 73 63  72 32 0d 20 62 48 4c 44  |DR R1,scr2. bHLD|
000071a0  52 20 52 32 2c 64 69 73  73 3a 4d 4f 56 20 52 33  |R R2,diss:MOV R3|
000071b0  2c 23 74 69 6d 65 25 3a  2e 6c 6f 6f 70 31 3a 4d  |,#time%:.loop1:M|
000071c0  4f 56 20 52 34 2c 23 37  39 3a 2e 6c 6f 6f 70 32  |OV R4,#79:.loop2|
000071d0  3a 4d 4f 56 20 52 35 2c  23 36 33 3a 2e 6c 6f 6f  |:MOV R5,#63:.loo|
000071e0  70 33 0d 20 6c 3a 41 44  44 20 52 36 2c 52 34 2c  |p3. l:ADD R6,R4,|
000071f0  52 35 2c 4c 53 4c 20 23  36 3a 4c 44 52 42 20 52  |R5,LSL #6:LDRB R|
00007200  36 2c 5b 52 32 2c 52 36  5d 3a 43 4d 50 20 52 36  |6,[R2,R6]:CMP R6|
00007210  2c 52 33 3a 42 4e 45 20  6e 65 78 74 0d 20 76 2e  |,R3:BNE next. v.|
00007220  4d 4c 41 20 52 37 2c 52  35 2c 52 31 32 2c 52 34  |MLA R7,R5,R12,R4|
00007230  3a 41 44 44 20 52 38 2c  52 37 2c 52 30 3a 41 44  |:ADD R8,R7,R0:AD|
00007240  44 20 52 39 2c 52 37 2c  52 31 0d 20 80 25 53 54  |D R9,R7,R1. .%ST|
00007250  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 34 7d  |MFD R13!,{R0-R4}|
00007260  3a 41 44 52 20 52 34 2c  6f 66 66 73 65 74 73 0d  |:ADR R4,offsets.|
00007270  20 8a 18 5d 3a e3 69 25  3d 31 b8 34 3a 5b 4f 50  | ..]:.i%=1.4:[OP|
00007280  54 20 70 61 73 73 25 0d  20 94 15 4c 44 4d 49 41  |T pass%. ..LDMIA|
00007290  20 52 34 21 2c 7b 52 30  2d 52 33 7d 0d 20 9e 47  | R4!,{R0-R3}. .G|
000072a0  4c 44 52 42 20 52 31 30  2c 5b 52 39 2c 52 30 5d  |LDRB R10,[R9,R0]|
000072b0  3a 4c 44 52 42 20 52 31  31 2c 5b 52 38 2c 52 30  |:LDRB R11,[R8,R0|
000072c0  5d 3a 53 54 52 42 20 52  31 30 2c 5b 52 38 2c 52  |]:STRB R10,[R8,R|
000072d0  30 5d 3a 53 54 52 42 20  52 31 31 2c 5b 52 39 2c  |0]:STRB R11,[R9,|
000072e0  52 30 5d 0d 20 a8 47 4c  44 52 42 20 52 31 30 2c  |R0]. .GLDRB R10,|
000072f0  5b 52 39 2c 52 31 5d 3a  4c 44 52 42 20 52 31 31  |[R9,R1]:LDRB R11|
00007300  2c 5b 52 38 2c 52 31 5d  3a 53 54 52 42 20 52 31  |,[R8,R1]:STRB R1|
00007310  30 2c 5b 52 38 2c 52 31  5d 3a 53 54 52 42 20 52  |0,[R8,R1]:STRB R|
00007320  31 31 2c 5b 52 39 2c 52  31 5d 0d 20 b2 47 4c 44  |11,[R9,R1]. .GLD|
00007330  52 42 20 52 31 30 2c 5b  52 39 2c 52 32 5d 3a 4c  |RB R10,[R9,R2]:L|
00007340  44 52 42 20 52 31 31 2c  5b 52 38 2c 52 32 5d 3a  |DRB R11,[R8,R2]:|
00007350  53 54 52 42 20 52 31 30  2c 5b 52 38 2c 52 32 5d  |STRB R10,[R8,R2]|
00007360  3a 53 54 52 42 20 52 31  31 2c 5b 52 39 2c 52 32  |:STRB R11,[R9,R2|
00007370  5d 0d 20 bc 47 4c 44 52  42 20 52 31 30 2c 5b 52  |]. .GLDRB R10,[R|
00007380  39 2c 52 33 5d 3a 4c 44  52 42 20 52 31 31 2c 5b  |9,R3]:LDRB R11,[|
00007390  52 38 2c 52 33 5d 3a 53  54 52 42 20 52 31 30 2c  |R8,R3]:STRB R10,|
000073a0  5b 52 38 2c 52 33 5d 3a  53 54 52 42 20 52 31 31  |[R8,R3]:STRB R11|
000073b0  2c 5b 52 39 2c 52 33 5d  0d 20 c6 12 5d 3a ed 3a  |,[R9,R3]. ..]:.:|
000073c0  5b 4f 50 54 20 70 61 73  73 25 0d 20 d0 16 4c 44  |[OPT pass%. ..LD|
000073d0  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 34 7d  |MFD R13!,{R0-R4}|
000073e0  0d 20 da 39 2e 6e 65 78  74 3a 53 55 42 53 20 52  |. .9.next:SUBS R|
000073f0  35 2c 52 35 2c 23 31 3a  42 50 4c 20 6c 6f 6f 70  |5,R5,#1:BPL loop|
00007400  33 3a 53 55 42 53 20 52  34 2c 52 34 2c 23 31 3a  |3:SUBS R4,R4,#1:|
00007410  42 50 4c 20 6c 6f 6f 70  32 0d 20 e4 32 53 55 42  |BPL loop2. .2SUB|
00007420  53 20 52 33 2c 52 33 2c  23 31 3a 42 4e 45 20 6c  |S R3,R3,#1:BNE l|
00007430  6f 6f 70 31 3a 4c 44 4d  46 44 20 52 31 33 21 2c  |oop1:LDMFD R13!,|
00007440  7b 52 30 2d 52 31 32 2c  50 43 7d 0d 20 ee 0c 2e  |{R0-R12,PC}. ...|
00007450  6f 66 66 73 65 74 73 0d  20 f8 24 45 51 55 44 20  |offsets. .$EQUD |
00007460  30 3a 45 51 55 44 20 38  30 3a 45 51 55 44 20 31  |0:EQUD 80:EQUD 1|
00007470  36 30 3a 45 51 55 44 20  32 34 30 0d 21 02 3e 45  |60:EQUD 240.!.>E|
00007480  51 55 44 20 33 32 30 2a  36 34 3a 45 51 55 44 20  |QUD 320*64:EQUD |
00007490  33 32 30 2a 36 34 2b 38  30 3a 45 51 55 44 20 33  |320*64+80:EQUD 3|
000074a0  32 30 2a 36 34 2b 31 36  30 3a 45 51 55 44 20 33  |20*64+160:EQUD 3|
000074b0  32 30 2a 36 34 2b 32 34  30 0d 21 0c 42 45 51 55  |20*64+240.!.BEQU|
000074c0  44 20 33 32 30 2a 31 32  38 3a 45 51 55 44 20 33  |D 320*128:EQUD 3|
000074d0  32 30 2a 31 32 38 2b 38  30 3a 45 51 55 44 20 33  |20*128+80:EQUD 3|
000074e0  32 30 2a 31 32 38 2b 31  36 30 3a 45 51 55 44 20  |20*128+160:EQUD |
000074f0  33 32 30 2a 31 32 38 2b  32 34 30 0d 21 16 42 45  |320*128+240.!.BE|
00007500  51 55 44 20 33 32 30 2a  31 39 32 3a 45 51 55 44  |QUD 320*192:EQUD|
00007510  20 33 32 30 2a 31 39 32  2b 38 30 3a 45 51 55 44  | 320*192+80:EQUD|
00007520  20 33 32 30 2a 31 39 32  2b 31 36 30 3a 45 51 55  | 320*192+160:EQU|
00007530  44 20 33 32 30 2a 31 39  32 2b 32 34 30 0d 21 20  |D 320*192+240.! |
00007540  08 5d ed 3a e1 0d 21 2a  04 0d 21 34 45 dd 20 a4  |.].:..!*..!4E. .|
00007550  72 65 61 64 66 69 6c 65  73 28 64 69 72 24 2c 66  |readfiles(dir$,f|
00007560  69 6c 65 74 79 70 65 25  29 3a ea 20 63 75 72 66  |iletype%):. curf|
00007570  69 6c 65 25 2c 66 69 6c  65 25 2c 6e 61 6d 65 24  |ile%,file%,name$|
00007580  2c 6e 61 6d 65 25 2c 6e  75 6d 62 65 72 25 0d 21  |,name%,number%.!|
00007590  3e 24 63 75 72 66 69 6c  65 25 3d 31 3a 66 6e 61  |>$curfile%=1:fna|
000075a0  6d 65 24 28 29 3d 22 22  3a 66 69 6c 65 25 3d 30  |me$()="":file%=0|
000075b0  3a f5 0d 21 48 3b c8 99  20 22 4f 53 5f 47 42 50  |:..!H;.. "OS_GBP|
000075c0  42 22 2c 31 30 2c 64 69  72 24 2c 62 6c 6f 63 6b  |B",10,dir$,block|
000075d0  25 2c 31 2c 66 69 6c 65  25 2c 36 33 2c 22 2a 22  |%,1,file%,63,"*"|
000075e0  20 b8 20 2c 2c 2c 6e 75  6d 62 65 72 25 0d 21 52  | . ,,,number%.!R|
000075f0  16 6e 61 6d 65 24 3d 22  22 3a 6e 61 6d 65 25 3d  |.name$="":name%=|
00007600  26 31 34 0d 21 5c 16 c8  95 20 62 6c 6f 63 6b 25  |&14.!\... block%|
00007610  3f 6e 61 6d 65 25 3c 3e  30 0d 21 66 23 6e 61 6d  |?name%<>0.!f#nam|
00007620  65 24 2b 3d bd 28 62 6c  6f 63 6b 25 3f 6e 61 6d  |e$+=.(block%?nam|
00007630  65 25 29 3a 6e 61 6d 65  25 2b 3d 31 0d 21 70 05  |e%):name%+=1.!p.|
00007640  ce 0d 21 7a 49 e7 28 28  21 62 6c 6f 63 6b 25 20  |..!zI.((!block% |
00007650  3e 3e 3e 20 38 29 80 20  26 46 46 46 29 3d 66 69  |>>> 8). &FFF)=fi|
00007660  6c 65 74 79 70 65 25 3a  66 6e 61 6d 65 24 28 63  |letype%:fname$(c|
00007670  75 72 66 69 6c 65 25 29  3d 6e 61 6d 65 24 3a 63  |urfile%)=name$:c|
00007680  75 72 66 69 6c 65 25 2b  3d 31 0d 21 84 24 66 69  |urfile%+=1.!.$fi|
00007690  6c 65 25 2b 3d 31 3a fd  6e 75 6d 62 65 72 25 3c  |le%+=1:.number%<|
000076a0  3e 31 3a 3d 63 75 72 66  69 6c 65 25 2d 32 0d ff  |>1:=curfile%-2..|
000076b0