Home » Archimedes archive » Micro User » MU 1991-01.adf » Listings » !PicPairs/!RunImage

!PicPairs/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1991-01.adf » Listings
Filename: !PicPairs/!RunImage
Read OK:
File size: 3A0B bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage
   20REM Picture Pairs
   30REM for Archimedes
   40REM by Mike Whiteman
   50REM Version A1.10
   60REM (c) August 1990
   70:
   80*fx200 1
   90ON ERROR PROCerror
   95MODE 15
   97PROCheading
  100PROCinitialise
  107*Pointer
  200REPEAT choice%=FNmenu(target%)
  210CASE choice% OF
  220WHEN 1:PROCplayers
  230WHEN 2:target%=FNtarget(target%)
  240WHEN 3:PROCplay
  250WHEN 4:PROCquit
  260ENDCASE
  270UNTIL FALSE
  280:
 1000DEFPROCspriteSpace
 1010DIM spriteArea &20000
 1020!spriteArea=&20000
 1030spriteArea!4=0
 1040spriteArea!8=16
 1050spriteArea!12=16
 1060PROCplinth(300,400,680,120,14,64,TRUE)
 1065COLOUR 63 TINT 128:COLOUR128 TINT 128
 1070PROCpCentre("Please Wait... Loading 'Gallery'",17)
 1080SYS "OS_SpriteOp",266,spriteArea,"<Obey$Dir>.Gallery"
 1090ENDPROC
 1095:
 1100DEFPROCinitialise
 1105LOCAL Z%
 1120PROCspriteSpace
 1130PROCvars
 1150keyBoard$(1)="QWERTYUIOP"
 1155keyBoard$(2)="ASDFGHJKL"
 1160keyBoard$(3)="ZXCVBNM"
 1165keyBoard$(4)="Return"
 1170keyBoard$(5)="Delete"
 1172numberSprites%=124:REM + One Joker
 1175DIM sprites%(numberSprites%)
 1177target%=50
 1180Z%=RND(-TIME)
 1185PROCinitSound
 1190ENDPROC
 1195:
 1200DEFPROCheading
 1210GCOL 52 TINT 128
 1215RECTANGLE FILL 0,0,1280,1024
 1220PROCplinth(220,840,840,160,20,64,TRUE)
 1225VDU 5,23,17,7,6,14;14|
 1230GCOL 2
 1235MOVE 290,950
 1240PRINT"P I C T U R E   P A I R S"
 1245VDU 4:OFF
 1280ENDPROC
 1290:
 1300DEFFNmenu(T%)
 1305GCOL 52 TINT 128
 1307RECTANGLE FILL 0,0,1280,830
 1310PROCmenuPlinths(48,TRUE)
 1325COLOUR 0 TINT 128:COLOUR 176 TINT 128
 1340PROCpCentre("Enter Names",11)
 1345PROCpCentre("  "+STR$T%+" �� Reset Target �� "+STR$T%+"  ",16)
 1350PROCpCentre("Play  Game",21)
 1355PROCpCentre("Quit",26)
 1360REPEAT
 1370button%=FNmouseCharPosition(X%,Y%)
 1380UNTIL (button%=4 AND Y%=11) OR (button%=4 AND Y%=16) OR (button%=4 AND Y%=21 AND player$(1)<>"") OR (button%=4 AND Y%=26)
 1390=((Y%-11)/5)+1
 1399:
 1400DEFFNtarget(T%)
 1410PROCmenuPlinths(21,FALSE)
 1412COLOUR 0 TINT 128
 1413COLOUR 149 TINT 128
 1415PROCpCentre("� Use 'ADJUST' to increase �",11)
 1420PROCpCentre("� Use 'SELECT' to decrease �",21)
 1425PROCpCentre("Use 'MENU' to confirm choice",26)
 1430REPEAT MOUSE x,y,b:UNTIL b=0
 1440REPEAT MOUSE x,y,button%
 1450CASE button% OF
 1455WHEN 1:T%+=2:IF T%>200 T%=40
 1460WHEN 4:T%-=2:IF T%<40 T%=200
 1465ENDCASE
 1470PROCpCentre("  �� Target = "+STR$T%+" ��  ",16)
 1475I=INKEY10
 1480UNTIL button%=2
 1490=T%
 1495:
 1600DEFPROCdisplayWinner(P$,S%)
 1610LOCAL Y%,Z%
 1615GCOL 48 TINT 128
 1620Y%=500
 1625FOR Z%=620 TO 230 STEP-2
 1630Y%-=1
 1635RECTANGLE FILL Z%,Y%,(620-Z%)*2+40,(500-Y%)*2+12
 1640NEXT
 1645PROCplinth(Z%,Y%,(620-Z%)*2+40,(500-Y%)*2+12,10,48,TRUE)
 1650PROCplinth(350,550,580,80,10,64,TRUE)
 1653COLOUR 63 TINT 128:COLOUR 128 TINT 128
 1655PROCpCentre("'"+P$+"' wins with a score of",13)
 1660PROCplinth(580,420,120,80,10,64,TRUE)
 1665PROCpCentre(STR$S%,17)
 1670PROCplinth(350,320,580,80,10,64,TRUE)
 1672PROCfanfare(140)
 1675PROCpCentre("Click 'SELECT' to continue",20)
 1680REPEAT UNTIL FNmouseCharPosition(X%,Y%)=4
 1685ENDPROC
 1698:
 1700DEFPROCmakeSound(channel%,volume%,pitch%,length%)
 1730SOUND channel%,volume%,pitch%,length%
 1770ENDPROC
 1790:
 1800DEFPROCresetSprites(N%)
 1810LOCAL Z%
 1820FOR Z%=0 TO N%-1
 1830sprites%(Z%)=Z%
 1840NEXT
 1850ENDPROC
 1880:
 1900DEFPROCinitSound
 1905VOICE 2,"UserLib-Bell"
 1910VOICE 3,"UserLib-Horn"
 1915VOICE 4,"UserLib-Saw"
 1920VOICE 5,"UserLib-HammondOrg"
 1925VOICE 6,"UserLib-HammondOrg"
 1950VOICES 6
 1960BEATS 176
 1970TEMPO &1300
 1980sound%=TRUE
 1985snd$(0)="ON":snd$(1)="OFF"
 1995ENDPROC
 1998:
 2000DEFPROCplayers
 2005LOCAL Z%
 2010GCOL 52 TINT 128
 2015RECTANGLE FILL 0,0,1280,830
 2020PROCsetUpKeyboard
 2030PROCplayersPlinth
 2050FOR Z%=1 TO 2
 2053PRINTTAB(23,(Z%-1)*4+7)"��"
 2055player$(Z%)=FNgetMouseCharacters(Z%)
 2057PRINTTAB(23,(Z%-1)*4+7)"  "
 2060IF Z%=2 IF FNusedPlayer(player$(1),player$(2)) THEN 2053
 2067PRINTTAB(23,(Z%-1)*4+7)"  "
 2070NEXT
 2080MOUSE RECTANGLE 0,0,1280,1024
 2090ENDPROC
 2092:
 2200DEFPROCsetUpKeyboard
 2210LOCAL Z%,W%
 2215COLOUR 63:COLOUR 192 TINT 128
 2220FOR Z%=1 TO 3
 2225FOR W%=1 TO LENkeyBoard$(Z%)
 2227PROCplinth((W%*96)-55+((Z%-1)*15),(3-Z%)*130+73,70,70,10,64,TRUE)
 2230PRINTTAB(W%*6-3+Z%,Z%*4+16)MID$(keyBoard$(Z%),W%,1)
 2240NEXT
 2250NEXT
 2255PROCplinth(1010,267,160,70,10,64,TRUE)
 2260PRINTTAB(65,22)keyBoard$(4)
 2265PROCplinth(915,137,160,70,10,64,TRUE)
 2270PRINTTAB(59,26)keyBoard$(5)
 2280MOUSE RECTANGLE 0,65,1280,345
 2290ENDPROC
 2295:
 2400DEFPROCplayersPlinth
 2410LOCAL Z%
 2415COLOUR 0:COLOUR 164 TINT 128
 2420FOR Z%=1 TO 2
 2430PROCplinth(30,Z%*120+500,400,80,10,36,TRUE)
 2435PRINTTAB(4,(2-Z%)*4+7)"Player ";3-Z%" :"
 2440NEXT
 2450PROCplinth(610,470,510,360,20,36,FALSE)
 2455COLOUR 45
 2460PRINTTAB(39+(INT(30-LEN"Click 'SELECT' Over")/2),8)"Click 'SELECT' Over"
 2466PRINTTAB(39+(INT(30-LEN"Required Letter")/2),9)"Required Letter"
 2470PRINTTAB(39+(INT(30-LEN"Over Delete to")/2),11)"Over Delete to"
 2472PRINTTAB(39+(INT(30-LEN"Restart Name")/2),12)"Restart Name"
 2474PRINTTAB(39+(INT(30-LEN"Return to Confirm")/2),14)"Return to Confirm"
 2490ENDPROC
 2497:
 2600DEFFNgetMouseCharacters(P%)
 2605LOCAL Z%,data$
 2610REPEAT
 2615Z%+=1
 2620REPEAT UNTIL FNmouseCharPosition(X%,Y%)=4
 2625CASE Y% OF
 2630WHEN 20:char$=FNtopRow(X%)
 2635WHEN 22:char$=FNreturn(X%)
 2640WHEN 24:char$=FNmidRow(X%)
 2645WHEN 26:char$=FNdelete(X%)
 2650WHEN 28:char$=FNbottomRow(X%)
 2660WHEN 19,21,23,25,27,29,30,31:char$=""
 2665ENDCASE
 2670IF char$="" Z%-=1:UNTIL FALSE
 2680IF char$="r" AND Z%=1 Z%=0:UNTIL FALSE
 2695IF char$="d" data$="":Z%=0:PRINTTAB(15,(P%-1)*4+7)"       ":PROCmakeSound(4,-15,30,10):UNTIL FALSE
 2700IF Z%=8 AND char$<>"r" Z%-=1:UNTIL FALSE
 2705IF char$="r" UNTIL char$="r":PROCmakeSound(2,-15,30,10):=data$
 2710data$+=char$
 2715PRINTTAB(15,(P%-1)*4+7)data$
 2716PROCmakeSound(3,-15,90,10)
 2718ENDIF
 2720UNTIL FALSE
 2728:
 2800DEFFNusedPlayer(P1$,P2$)
 2805LOCAL used%
 2810IF P1$=P2$ THEN
 2820PRINTTAB(15,11)"Used   "
 2830OSCLI"FX21":I=INKEY300
 2840used%=TRUE
 2845PRINTTAB(15,11)"       "
 2850ENDIF
 2860=used%
 2897:
 3000DEFFNtopRow(X%)
 3010IF X%>=3 AND X%<=5 THEN="Q"
 3015IF X%>=9 AND X%<=11 THEN="W"
 3020IF X%>=15 AND X%<=17 THEN="E"
 3025IF X%>=21 AND X%<=23 THEN="R"
 3030IF X%>=27 AND X%<=29 THEN="T"
 3035IF X%>=33 AND X%<=35 THEN="Y"
 3040IF X%>=39 AND X%<=41 THEN="U"
 3045IF X%>=45 AND X%<=47 THEN="I"
 3050IF X%>=51 AND X%<=53 THEN="O"
 3055IF X%>=57 AND X%<=59 THEN="P"
 3060=""
 3065:
 3100DEFFNmidRow(X%)
 3110IF X%>=4 AND X%<=6 THEN="A"
 3115IF X%>=10 AND X%<=12 THEN="S"
 3120IF X%>=16 AND X%<=18 THEN="D"
 3125IF X%>=22 AND X%<=24 THEN="F"
 3130IF X%>=28 AND X%<=30 THEN="G"
 3135IF X%>=34 AND X%<=36 THEN="H"
 3140IF X%>=40 AND X%<=42 THEN="J"
 3145IF X%>=46 AND X%<=48 THEN="K"
 3150IF X%>=52 AND X%<=54 THEN="L"
 3155=""
 3157:
 3200DEFFNbottomRow(X%)
 3210IF X%>=5 AND X%<=7 THEN="Z"
 3215IF X%>=11 AND X%<=13 THEN="X"
 3220IF X%>=17 AND X%<=19 THEN="C"
 3225IF X%>=23 AND X%<=25 THEN="V"
 3230IF X%>=29 AND X%<=31 THEN="B"
 3235IF X%>=35 AND X%<=37 THEN="N"
 3240IF X%>=41 AND X%<=43 THEN="M"
 3245=""
 3247:
 3300DEFFNreturn(X%)
 3310IF X%>=65 AND X%<=70 THEN="r"
 3320=""
 3400DEFFNdelete(X%)
 3410IF X%>=59 AND X%<=64 THEN="d"
 3420=""
 3427:
 4000DEFPROCplay
 4002LOCAL match%,firstTime%,allPaired%
 4003firstTime%=TRUE
 4005GCOL 52 TINT 128
 4007score%()=0
 4010RECTANGLE FILL 0,0,1280,830
 4015REPEAT
 4017paired%=0:allPaired%=FALSE:jokersFound%=0
 4020PROCsetGameDisplay
 4050PROCsetRandomCards
 4065COLOUR 0 TINT 0:COLOUR 132 TINT 128
 4067IF firstTime% THEN
 4070PROCpCentre("Click 'SELECT' to find who goes first",30)
 4072REPEAT UNTIL FNmouseCharPosition(X%,Y%)=4
 4074player%=RND(2):firstTime%=FALSE
 4075ENDIF
 4076PROCmakeSound(2,-15,5,20)
 4077PROCpCentre(STRING$(4,"*  ")+player$(player%)+" to go first "+STRING$(4,"  *"),30)
 4078TIME=0:REPEAT UNTIL TIME>200
 4100REPEAT
 4120match%=FNgetPlayersGo(player%)
 4124IF match%=-2:UNTIL match%=-2:UNTIL match%=-2:ENDPROC
 4140IF score%(player%)>=target% UNTIL score%(player%)>=target%:UNTIL score%(player%)>=target%:PROCdisplayWinner(player$(player%),score%(player%)):ENDPROC
 4143IF paired%>27 allPaired%=FNallPaired(paired%)
 4144IF allPaired% UNTIL allPaired%:PROCshowUnPaired:UNTIL FALSE
 4145IF match% UNTIL FALSE
 4150player%=player%+1:IF player%>2 player%=1
 4170UNTIL FALSE
 4198:
 4400DEFFNsound(S%)
 4410LOCAL sonoffarea
 4420S%=NOTS%
 4430MOVE 500,500:MOVE 780,420
 4435*SGet sonoffarea
 4440GCOL 64 TINT 192:RECTANGLE FILL 510,420,270,70
 4445GCOL 63 TINT 128:RECTANGLE FILL 500,430,270,70
 4447GCOL 49 TINT 128:RECTANGLE 505,435,260,60
 4450COLOUR 2 TINT 128:COLOUR 191 TINT 128:PROCpCentre("Sound "+snd$(S%+1),17)
 4460IF S% THEN OSCLI"Volume 127" ELSE OSCLI"Volume 1"
 4465TIME=0:REPEAT UNTIL TIME>300
 4470*SChoose sonoffarea
 4475PLOT &ED,500,420
 4480*SDelete sonoffarea
 4490=S%
 4495:
 5000DEFPROCsetGameDisplay
 5005LOCAL Z%
 5007COLOUR 0 TINT 128:COLOUR 135 TINT 128
 5010FOR Z%=1 TO 2
 5015PROCplinth((Z%-1)*730+115,745,320,80,10,7,TRUE)
 5020PRINTTAB((Z%-1)*45+11,7)player$(Z%)" : ";score%(Z%)
 5025NEXT
 5030PROCplinth(500,745,280,80,10,2,TRUE)
 5035COLOUR 130 TINT 128
 5040PROCpCentre("Target = "+STR$target%,7)
 5100FOR Y%=1 TO 6
 5110FOR X%=1 TO 10
 5120PROCplinth((X%-1)*125+20,(Y%-1)*110+80,115,100,10,21,TRUE)
 5140NEXT
 5150NEXT
 5160PROCplinth(200,5,880,70,8,4,TRUE)
 5190ENDPROC
 5195:
 5200DEFPROCsetRandomCards
 5202COLOUR 0 TINT 128:COLOUR 132 TINT 128
 5210LOCAL X%,Z%
 5214tempSprites%()=0:useSprites%()=0:single%()=0
 5217PROCresetSprites(numberSprites%)
 5220FOR Z%=0 TO 54 STEP 2
 5225tempSprites%(Z%)=RND(numberSprites%)-1:IF sprites%(tempSprites%(Z%))=-1 THEN 5225
 5235sprites%(tempSprites%(Z%))=-1
 5237tempSprites%(Z%+1)=tempSprites%(Z%)
 5240NEXT
 5245tempSprites%(56)=RND(numberSprites%)-1:IF sprites%(tempSprites%(56))=-1 THEN 5245 ELSE single%(1)=tempSprites%(56)
 5250tempSprites%(57)=RND(numberSprites%)-1:IF sprites%(tempSprites%(57))=-1 THEN 5250 ELSE single%(2)=tempSprites%(57)
 5255tempSprites%(58)=numberSprites%:tempSprites%(59)=numberSprites%
 5260FOR Z%=0 TO 59
 5265X%=RND(60)-1:IF tempSprites%(X%)=-1 THEN 5265
 5270useSprites%(Z%)=tempSprites%(X%)
 5275tempSprites%(X%)=-1
 5280NEXT
 5295ENDPROC
 5299:
 6000DEFFNgetPlayersGo(P%)
 6005LOCAL Z%,match%,quit%
 6010choice%()=-1
 6014FOR Z%=1 TO 2
 6016COLOUR 0 TINT 0:COLOUR 132 TINT 128
 6018IF Z%=1 PROCpCentre("   "+player$(P%)+" : Please click 'SELECT' on first choice   ",30) ELSE PROCpCentre("   "+player$(P%)+" : Please click 'SELECT' on second choice   ",30)
 6020REPEAT MOUSE x,y,b:UNTIL b=0
 6025REPEAT OSCLI"FX21 9"
 6027MOUSE x,y,b
 6030CASE b OF
 6032WHEN 1:sound%=FNsound(sound%)
 6035WHEN 2:quit%=FNquitMenu(x,y)
 6037WHEN 4:choice%(Z%)=FNcardChoice(x,y,Z%)
 6040ENDCASE
 6046IF quit% UNTIL quit%:Z%=2:NEXT:=-2
 6060UNTIL choice%(Z%)>-1
 6070PROCturnCard(choice%(Z%))
 6090NEXT
 6095=FNcheckChoices(choice%(),P%)
 6097:
 7000DEFFNcardChoice(x,y,go%)
 7002LOCAL C%
 7010IF POINT(x,y)<>21 THEN=-1
 7020C%=((((y-80) DIV 110)*10)+((x-20) DIV 125)+1)-1
 7025IF go%=2 IF choice%(1)=C%  THEN=-1
 7030=C%
 7099:
 7200DEFPROCturnCard(C%)
 7220SYS "OS_SpriteOp",290,spriteArea,STR$(useSprites%(C%)),((C% MOD 10))*125+45,(C% DIV 10)*110+100
 7260ENDPROC
 7265:
 7400DEFFNcheckChoices(C%(),P%)
 7405LOCAL Z%,extra%
 7410COLOUR 0 TINT 0:COLOUR 132 TINT 128
 7415IF useSprites%(C%(1))=numberSprites% AND useSprites%(C%(2))=numberSprites% THEN
 7420PROCpCentre(STRING$(15," ")+"Can't match Jokers"+STRING$(15," "),30)
 7425PROCdelay(200)
 7430PROCturnBack(C%())
 7435=FALSE
 7440ENDIF
 7445IF useSprites%(C%(1))=useSprites%(C%(2)) THEN
 7450PROCpCentre(STRING$(10," ")+"A match : Well done 2 Points"+STRING$(10," "),30)
 7455score%(P%)+=2
 7460PROCmatchSound(100)
 7465PROCdelay(300)
 7470PROCerasePlinths(C%())
 7475PROCupdateScore(P%,score%(P%))
 7480paired%+=1
 7485=TRUE
 7490ENDIF
 7495IF useSprites%(C%(1))=numberSprites% OR useSprites%(C%(2))=numberSprites% THEN
 7500jokersFound%+=1
 7505FOR Z%=1 TO 2
 7510IF useSprites%(C%(1))=single%(Z%) OR useSprites%(C%(2))=single%(Z%) score%(P%)+=2:extra%=TRUE:single%(Z%)=TRUE
 7515NEXT
 7520IF NOT(extra%) AND jokersFound%<2 single%(3)=FNanotherSingle(useSprites%(C%(1)),useSprites%(C%(2)))
 7525IF jokersFound%=2 AND NOT(extra%) AND NOT(single%(3)) IF useSprites%(C%(1))=single%(3) OR useSprites%(C%(2))=single%(3) score%(P%)+=2:extra%=TRUE:single%(3)=TRUE
 7530score%(P%)+=2
 7535IF extra% PROCpCentre(STRING$(4," ")+"A match : Joker & single card : 4 Points"+STRING$(4," "),30) ELSE PROCpCentre(STRING$(8," ")+"A Joker match : Well done 2 Points"+STRING$(8," "),30)
 7540PROCmatchSound(100)
 7545PROCdelay(300)
 7550PROCerasePlinths(C%())
 7555PROCupdateScore(P%,score%(P%))
 7560paired%+=1
 7565=TRUE
 7570ENDIF
 7575PROCpCentre(STRING$(20," ")+"No match"+STRING$(20," "),30)
 7580PROCdelay(200)
 7585PROCturnBack(C%())
 7590=FALSE
 7595:
 7800DEFFNallPaired(D%)
 7810LOCAL X%,Y%,ap%
 7820IF D%=30 THEN=TRUE
 7825IF jokersFound%<2 THEN=FALSE
 7830FOR X%=0 TO 59
 7831IF useSprites%(X%)<0 THEN 7860
 7832FOR Y%=0 TO 59
 7835IF Y%=X% THEN 7855
 7837IF useSprites%(Y%)<0 THEN 7855
 7850IF useSprites%(X%)=useSprites%(Y%) ap%=TRUE:Y%=59:X%=59
 7855NEXT
 7860NEXT
 7890=NOT(ap%)
 7895:
 8000DEFPROCerasePlinths(pl%())
 8010LOCAL Z%
 8015GCOL 52 TINT 128
 8020FOR Z%=1 TO 2
 8030useSprites%(pl%(Z%))=TRUE
 8040RECTANGLE FILL (pl%(Z%) MOD 10)*125+20,(pl%(Z%) DIV 10)*110+80,115,100
 8050NEXT
 8090ENDPROC
 8095:
 8200DEFFNanotherSingle(S1%,S2%)
 8210IF S1%=numberSprites% AND S2%=numberSprites% THEN=0
 8220IF jokersFound%=2 THEN=0
 8230IF S1%<>numberSprites% THEN=S1% ELSE =S2%
 8400DEFPROCturnBack(pl%())
 8410LOCAL Z%
 8415GCOL 21 TINT 128
 8420FOR Z%=1 TO 2
 8430RECTANGLE FILL (pl%(Z%) MOD 10)*125+45,(pl%(Z%) DIV 10)*110+100,70,70
 8440NEXT
 8480ENDPROC
 8490:
 8800DEFPROCupdateScore(P%,S%)
 8805COLOUR 0 TINT 128:COLOUR 135 TINT 128
 8810PRINTTAB((P%-1)*45+11+LENplayer$(P%)+3,7);S%
 8820ENDPROC
 9000DEFPROCshowUnPaired
 9010LOCAL Z%
 9020FOR Z%=0 TO 59
 9030IF NOT(useSprites%(Z%)) SYS "OS_SpriteOp",290,spriteArea,STR$(useSprites%(Z%)),((Z% MOD 10))*125+45,(Z% DIV 10)*110+100
 9040NEXT
 9052COLOUR 63 TINT 128:COLOUR 132 TINT 128
 9055PROCpCentre("� Unmatched pictures � : Click 'SELECT when ready",30)
 9057REPEAT UNTIL FNmouseCharPosition(X%,Y%)=4
 9059ENDPROC
 9060:
 9200DEFFNquitMenu(X%,Y%)
 9205LOCAL quit%,menu
 9215X%-=100:IF X%<0X%=10
 9217IF X%>1085 X%=1085
 9220Y%-=30:IF Y%<0 Y%=10
 9222IF Y%>900 Y%=900
 9225MOVE X%-10,Y%:MOVE X%+200,Y%+120
 9227*SGet menu
 9230GCOL 64 TINT 192:RECTANGLE FILL X%,Y%,190,110
 9231GCOL 63 TINT 128:RECTANGLE FILL X%-10,Y%+10,190,110
 9232GCOL 48 TINT 128:RECTANGLE X%-5,Y%+15,180,100
 9240MOUSE RECTANGLE X%-10,Y%+10,190,110
 9242VDU 5,23,17,7,6,8;8|
 9243GCOL 0 TINT 128:GCOL 191 TINT 128
 9244MOVE X%+50,Y%+100:PRINT"Quit"
 9245GCOL 2 TINT 128
 9248MOVE X%+20,Y%+50:PRINT"Continue"
 9250MOUSE TO X%+100,Y%+30
 9255REPEAT MOUSE x,y,b:UNTIL b=0
 9257REPEAT MOUSE x,y,b
 9260CASE b OF
 9262WHEN 0,1,2,3,5,6,7:quit%=FNquitState(y,X%,Y%)
 9265ENDCASE
 9270UNTIL b=4
 9280*SChoose menu
 9283PLOT &ED,X%-10,Y%
 9285*SDelete menu
 9287REPEAT MOUSE x,y,b:UNTIL b=0
 9288VDU 4:OFF
 9289MOUSE RECTANGLE 0,0,1280,1024
 9290=quit%
 9400DEFFNquitState(ypos%,X%,Y%)
 9420IF ypos%>=Y%+60 THEN
 9425GCOL 2 TINT 128
 9427MOVE X%+50,Y%+100:PRINT"Quit"
 9430GCOL 0 TINT 128
 9432MOVE X%+20,Y%+50:PRINT"Continue"
 9435=TRUE
 9440ELSE
 9445GCOL 0 TINT 128
 9447MOVE X%+50,Y%+100:PRINT"Quit"
 9450GCOL 2 TINT 128
 9452MOVE X%+20,Y%+50:PRINT"Continue"
 9454ENDIF
 9460=FALSE
 9600DEFFNreply(X%,Y%)
 9620IF X%>=52 AND X%<=54 THEN=TRUE
 9630=FALSE
 9690:
 9800DEFPROCquit
 9802LOCAL quit%
 9815GCOL 52 TINT 128
 9820RECTANGLE FILL 0,0,1280,830
 9830PROCplinth(300,300,680,400,20,48,FALSE)
 9835COLOUR 0 TINT 128:COLOUR 176 TINT 128
 9840PROCpCentre("Quit Program (Y/N) ?",13)
 9845PROCpCentre("Click 'SELECT' over appropriate plinth",15)
 9850PROCplinth(360,360,120,80,10,64,TRUE)
 9852COLOUR 2 TINT 128:COLOUR 128 TINT 128
 9855PRINTTAB(25,19)"NO"
 9860PROCplinth(800,360,120,80,10,2,TRUE)
 9862COLOUR 0 TINT 128:COLOUR 130 TINT 128
 9865PRINTTAB(52,19)"YES"
 9870REPEAT
 9875button%=FNmouseCharPosition(X%,Y%)
 9878CASE button% OF
 9880WHEN 4:IF Y%=19 quit%=FNreply(X%,Y%)
 9882ENDCASE
 9884UNTIL (button%=4 AND X%>=25 AND X%<=26 AND Y%=19) OR (button%=4 AND X%>=52 AND X%<=54 AND Y%=19)
 9890IF quit% OSCLI"fx 200":SYS "Wimp_CommandWindow",-1:VDU 4:END
 9895ENDPROC
 9899:
10000DEFPROCplinth(xpos%,ypos%,width%,height%,w%,col%,raise%)
10005LOCAL tint1%,tint2%,tint3%
10007tint1%=192:tint2%=128:tint3%=64
10010IF NOT raise% SWAP tint1%,tint3%
10020GCOL col% TINT tint1%
10030RECTANGLE FILL xpos%,ypos%,width%,height%
10040GCOL col% TINT tint2%
10050RECTANGLE FILL xpos%+w%,ypos%+w%,width%-(2*w%),height%-(2*w%)
10060GCOL col% TINT tint3%
10070LINE xpos%,ypos%,xpos%+w%,ypos%+w%
10080PLOT 85,xpos%+w%,ypos%
10090RECTANGLE FILL xpos%+w%,ypos%,width%-(2*w%),w%
10100LINE xpos%+width%-w%,ypos%+height%-w%,xpos%+width%,ypos%+height%
10110PLOT 85,xpos%+width%,ypos%+height%-w%
10120RECTANGLE FILL xpos%+width%-w%,ypos%,w%,height%-w%
10130ENDPROC
10140:
10200DEFPROCpCentre(message$,ypos)
10210PRINTTAB((INT(80-LENmessage$)/2),ypos)message$
10220ENDPROC
10225:
10400DEFFNmouseCharPosition(RETURN X%,RETURN Y%)
10410OSCLI"fx 21 9"
10420REPEAT MOUSE x,y,b:UNTIL b=0
10430REPEAT MOUSE x,y,b:UNTIL b>0
10440X%=(x DIV 16):Y%=31-(y DIV 32)
10450=b
10460:
10500DEFPROCmenuPlinths(colour%,raise%)
10510LOCAL Z%
10520FOR Z%=1 TO 4
10530PROCplinth(400,(Z%-1)*160+125,480,100,10,colour%,raise%)
10540NEXT
10550ENDPROC
10590:
10600DEFPROCdelay(T%)
10610T%=TIME
10620REPEAT UNTIL TIME>T%+200
10630ENDPROC
10650:
11000DEFPROCfanfare(C%)
11010REPEATUNTILBEAT=0
11020SOUND 3,-15,C%,5,0
11030SOUND 5,-15,C%-96,5,-1
11040SOUND 3,-15,C%+8,5,32
11050SOUND 5,-15,C%-100,5,-1
11060SOUND 3,-15,C%+16,5,64
11070SOUND 5,-15,C%-108,5,-1
11080SOUND 3,-15,C%+20,5,96
11090SOUND 5,-15,C%-116,5,-1
11100SOUND 3,-15,C%+28,5,128
11110SOUND 5,-15,C%-96,5,-1
11120SOUND 3,-15,C%+36,5,144
11130SOUND 5,-15,C%-76,5,-1
11140SOUND 3,-15,C%+44,5,160
11150SOUND 5,-15,C%-68,5,-1
11160SOUND 3,-15,C%+48,5,176
11170SOUND 5,-15,C%-96,5,-1
11180ENDPROC
11190:
12000DEFPROCmatchSound(C%)
12010REPEATUNTILBEAT=0
12020SOUND 3,-15,C%,20,0
12030SOUND 5,-15,C%-48,20,-1
12035SOUND 6,-15,C%-12,20,-1
12040SOUND 3,-15,C%,5,60
12050SOUND 5,-15,C%-48,5,-1
12055SOUND 6,-15,C%-12,5,-1
12060SOUND 3,-15,C%+20,15,80
12070SOUND 5,-15,C%-76,15,-1
12075SOUND 6,-15,C%-12,15,-1
12190ENDPROC
12195:
19000DEFPROCerror
19015GCOL 52 TINT 128
19020RECTANGLE FILL 0,0,1280,830
19025PROCplinth(300,300,680,400,20,48,FALSE)
19030PROCplinth(400,580,480,80,10,64,TRUE)
19035COLOUR 63 TINT 128:COLOUR 192 TINT 128
19040PROCpCentre(REPORT$,12)
19042PROCplinth(500,490,280,80,10,64,TRUE)
19044PROCpCentre("at line "+STR$ERL,15)
19050PROCplinth(400,360,480,80,10,64,TRUE)
19055PROCpCentre("Click 'SELECT' to continue",19)
19060REPEAT
19065UNTIL FNmouseCharPosition(X%,Y%)=4
19070OSCLI"fx 200"
19075SYS "Wimp_CommandWindow",-1
19077VDU 4
19080END
19099:
25000DEFPROCvars
25010DIM keyBoard$(5),player$(2),useSprites%(59),single%(4)
25020DIM tempSprites%(59),choice%(2),score%(2),snd$(1)
25090ENDPROC

� >!RunImage
� Picture Pairs
� for Archimedes
(� by Mike Whiteman
2� Version A1.10
<� (c) August 1990
F:
P*fx200 1
Z� � �error
_� 15
a�heading
d�initialise
k*Pointer
�� choice%=�menu(target%)
�Ȏ choice% �
�� 1:�players
� � 2:target%=�target(target%)
�
� 3:�play
�
� 4:�quit
�
� �
:
���spriteSpace
�� spriteArea &20000
�!spriteArea=&20000
spriteArea!4=0
spriteArea!8=16
spriteArea!12=16
$$�plinth(300,400,680,120,14,64,�)
)� 63 Ȝ 128:�128 Ȝ 128
.3�pCentre("Please Wait... Loading 'Gallery'",17)
88ș "OS_SpriteOp",266,spriteArea,"<Obey$Dir>.Gallery"
B�
G:
L��initialise
Q� Z%
`�spriteSpace
j	�vars
~keyBoard$(1)="QWERTYUIOP"
�keyBoard$(2)="ASDFGHJKL"
�keyBoard$(3)="ZXCVBNM"
�keyBoard$(4)="Return"
�keyBoard$(5)="Delete"
�$numberSprites%=124:� + One Joker
�� sprites%(numberSprites%)
�target%=50
�Z%=�(-�)
��initSound
��
�:
�
��heading
�� 52 Ȝ 128
�ȓ Ȑ 0,0,1280,1024
�$�plinth(220,840,840,160,20,64,�)
�� 5,23,17,7,6,14;14|
�� 2
�
� 290,950
� �"P I C T U R E   P A I R S"
�	� 4:�
�

:
ݤmenu(T%)
� 52 Ȝ 128
ȓ Ȑ 0,0,1280,830
�menuPlinths(48,�)
-� 0 Ȝ 128:� 176 Ȝ 128
<�pCentre("Enter Names",11)
A9�pCentre("  "+�T%+" �� Reset Target �� "+�T%+"  ",16)
F�pCentre("Play  Game",21)
K�pCentre("Quit",26)
P�
Z%button%=�mouseCharPosition(X%,Y%)
dl� (button%=4 � Y%=11) � (button%=4 � Y%=16) � (button%=4 � Y%=21 � player$(1)<>"") � (button%=4 � Y%=26)
n=((Y%-11)/5)+1
w:
xݤtarget(T%)
��menuPlinths(21,�)
�� 0 Ȝ 128
�� 149 Ȝ 128
�/�pCentre("� Use 'ADJUST' to increase �",11)
�/�pCentre("� Use 'SELECT' to decrease �",21)
�/�pCentre("Use 'MENU' to confirm choice",26)
�� ȗ x,y,b:� b=0
�� ȗ x,y,button%
�Ȏ button% �
�� 1:T%+=2:� T%>200 T%=40
�� 4:T%-=2:� T%<40 T%=200
��
�-�pCentre("  �� Target = "+�T%+" ��  ",16)
�	I=�10
�� button%=2
�=T%
�:
@��displayWinner(P$,S%)
J� Y%,Z%
O� 48 Ȝ 128
T
Y%=500
Y� Z%=620 � 230 �-2
^	Y%-=1
c+ȓ Ȑ Z%,Y%,(620-Z%)*2+40,(500-Y%)*2+12
h�
m6�plinth(Z%,Y%,(620-Z%)*2+40,(500-Y%)*2+12,10,48,�)
r#�plinth(350,550,580,80,10,64,�)
u� 63 Ȝ 128:� 128 Ȝ 128
w0�pCentre("'"+P$+"' wins with a score of",13)
|#�plinth(580,420,120,80,10,64,�)
��pCentre(�S%,17)
�#�plinth(350,320,580,80,10,64,�)
��fanfare(140)
�-�pCentre("Click 'SELECT' to continue",20)
�#� � �mouseCharPosition(X%,Y%)=4
��
�:
�0��makeSound(channel%,volume%,pitch%,length%)
�%� channel%,volume%,pitch%,length%
��
�:
��resetSprites(N%)
� Z%
� Z%=0 � N%-1
&sprites%(Z%)=Z%
0�
:�
X:
l��initSound
qȡ 2,"UserLib-Bell"
vȡ 3,"UserLib-Horn"
{ȡ 4,"UserLib-Saw"
�ȡ 5,"UserLib-HammondOrg"
�ȡ 6,"UserLib-HammondOrg"
�Ƞ 6
�
Ȟ 176
�ȟ &1300
�sound%=�
�snd$(0)="ON":snd$(1)="OFF"
��
�:
�
��players
�� Z%
�� 52 Ȝ 128
�ȓ Ȑ 0,0,1280,830
��setUpKeyboard
��playersPlinth
� Z%=1 � 2
�23,(Z%-1)*4+7)"��"
'player$(Z%)=�getMouseCharacters(Z%)
	�23,(Z%-1)*4+7)"  "
6� Z%=2 � �usedPlayer(player$(1),player$(2)) � �TEH
�23,(Z%-1)*4+7)"  "
�
 ȗ ȓ 0,0,1280,1024
*�
,:
���setUpKeyboard
�� Z%,W%
�� 63:� 192 Ȝ 128
�� Z%=1 � 3
�� W%=1 � �keyBoard$(Z%)
�?�plinth((W%*96)-55+((Z%-1)*15),(3-Z%)*130+73,70,70,10,64,�)
�,�W%*6-3+Z%,Z%*4+16)�keyBoard$(Z%),W%,1)
��
��
�$�plinth(1010,267,160,70,10,64,�)
��65,22)keyBoard$(4)
�#�plinth(915,137,160,70,10,64,�)
��59,26)keyBoard$(5)
�ȗ ȓ 0,65,1280,345
��
�:
	`��playersPlinth
	j� Z%
	o� 0:� 164 Ȝ 128
	t� Z%=1 � 2
	~)�plinth(30,Z%*120+500,400,80,10,36,�)
	�%�4,(2-Z%)*4+7)"Player ";3-Z%" :"
	��
	�$�plinth(610,470,510,360,20,36,�)
	�� 45
	�A�39+(�(30-�"Click 'SELECT' Over")/2),8)"Click 'SELECT' Over"
	�9�39+(�(30-�"Required Letter")/2),9)"Required Letter"
	�8�39+(�(30-�"Over Delete to")/2),11)"Over Delete to"
	�4�39+(�(30-�"Restart Name")/2),12)"Restart Name"
	�>�39+(�(30-�"Return to Confirm")/2),14)"Return to Confirm"
	��
	�:
(ݤgetMouseCharacters(P%)
-� Z%,data$
2�
7	Z%+=1
<#� � �mouseCharPosition(X%,Y%)=4
AȎ Y% �
F� 20:char$=�topRow(X%)
K� 22:char$=�return(X%)
P� 24:char$=�midRow(X%)
U� 26:char$=�delete(X%)
Z� 28:char$=�bottomRow(X%)
d&� 19,21,23,25,27,29,30,31:char$=""
i�
n� char$="" Z%-=1:� �
x� char$="r" � Z%=1 Z%=0:� �
�S� char$="d" data$="":Z%=0:�15,(P%-1)*4+7)"       ":�makeSound(4,-15,30,10):� �
�!� Z%=8 � char$<>"r" Z%-=1:� �
�:� char$="r" � char$="r":�makeSound(2,-15,30,10):=data$
�data$+=char$
��15,(P%-1)*4+7)data$
��makeSound(3,-15,90,10)
��
�� �
�:
�ݤusedPlayer(P1$,P2$)
�� used%
�� P1$=P2$ �
�15,11)"Used   "
�"FX21":I=�300
used%=�
�15,11)"       "
"�
,
=used%
Q:
�ݤtopRow(X%)
�� X%>=3 � X%<=5 �="Q"
�� X%>=9 � X%<=11 �="W"
�� X%>=15 � X%<=17 �="E"
�� X%>=21 � X%<=23 �="R"
�� X%>=27 � X%<=29 �="T"
�� X%>=33 � X%<=35 �="Y"
�� X%>=39 � X%<=41 �="U"
�� X%>=45 � X%<=47 �="I"
�� X%>=51 � X%<=53 �="O"
�� X%>=57 � X%<=59 �="P"
�=""
�:
ݤmidRow(X%)
&� X%>=4 � X%<=6 �="A"
+� X%>=10 � X%<=12 �="S"
0� X%>=16 � X%<=18 �="D"
5� X%>=22 � X%<=24 �="F"
:� X%>=28 � X%<=30 �="G"
?� X%>=34 � X%<=36 �="H"
D� X%>=40 � X%<=42 �="J"
I� X%>=46 � X%<=48 �="K"
N� X%>=52 � X%<=54 �="L"
S=""
U:
�ݤbottomRow(X%)
�� X%>=5 � X%<=7 �="Z"
�� X%>=11 � X%<=13 �="X"
�� X%>=17 � X%<=19 �="C"
�� X%>=23 � X%<=25 �="V"
�� X%>=29 � X%<=31 �="B"
�� X%>=35 � X%<=37 �="N"
�� X%>=41 � X%<=43 �="M"
�=""
�:
�ݤreturn(X%)
�� X%>=65 � X%<=70 �="r"
�=""

Hݤdelete(X%)

R� X%>=59 � X%<=64 �="d"

\=""

c:
�
��play
�"� match%,firstTime%,allPaired%
�firstTime%=�
�� 52 Ȝ 128
�score%()=0
�ȓ Ȑ 0,0,1280,830
��
�)paired%=0:allPaired%=�:jokersFound%=0
��setGameDisplay
��setRandomCards
�� 0 Ȝ 0:� 132 Ȝ 128
�� firstTime% �
�8�pCentre("Click 'SELECT' to find who goes first",30)
�#� � �mouseCharPosition(X%,Y%)=4
�player%=�(2):firstTime%=�
��
��makeSound(2,-15,5,20)
�E�pCentre(�4,"*  ")+player$(player%)+" to go first "+�4,"  *"),30)
��=0:� � �>200
�
!match%=�getPlayersGo(player%)
)� match%=-2:� match%=-2:� match%=-2:�
,�� score%(player%)>=target% � score%(player%)>=target%:� score%(player%)>=target%:�displayWinner(player$(player%),score%(player%)):�
//� paired%>27 allPaired%=�allPaired(paired%)
0/� allPaired% � allPaired%:�showUnPaired:� �
1� match% � �
6+player%=player%+1:� player%>2 player%=1
J� �
f:
0ݤsound(S%)
:� sonoffarea
D
S%=�S%
N� 500,500:� 780,420
S*SGet sonoffarea
X$� 64 Ȝ 192:ȓ Ȑ 510,420,270,70
]$� 63 Ȝ 128:ȓ Ȑ 500,430,270,70
_!� 49 Ȝ 128:ȓ 505,435,260,60
b<� 2 Ȝ 128:� 191 Ȝ 128:�pCentre("Sound "+snd$(S%+1),17)
l&� S% � �"Volume 127" � �"Volume 1"
q�=0:� � �>300
v*SChoose sonoffarea
{� &ED,500,420
�*SDelete sonoffarea
�=S%
�:
���setGameDisplay
�� Z%
�� 0 Ȝ 128:� 135 Ȝ 128
�� Z%=1 � 2
�-�plinth((Z%-1)*730+115,745,320,80,10,7,�)
�0�(Z%-1)*45+11,7)player$(Z%)" : ";score%(Z%)
��
�"�plinth(500,745,280,80,10,2,�)
�� 130 Ȝ 128
�$�pCentre("Target = "+�target%,7)
�� Y%=1 � 6
�� X%=1 � 10
8�plinth((X%-1)*125+20,(Y%-1)*110+80,115,100,10,21,�)
�
�
(�plinth(200,5,880,70,8,4,�)
F�
K:
P��setRandomCards
R� 0 Ȝ 128:� 132 Ȝ 128
Z� X%,Z%
^0tempSprites%()=0:useSprites%()=0:single%()=0
a!�resetSprites(numberSprites%)
d� Z%=0 � 54 � 2
iOtempSprites%(Z%)=�(numberSprites%)-1:� sprites%(tempSprites%(Z%))=-1 � �DiT
s!sprites%(tempSprites%(Z%))=-1
u'tempSprites%(Z%+1)=tempSprites%(Z%)
x�
}mtempSprites%(56)=�(numberSprites%)-1:� sprites%(tempSprites%(56))=-1 � �D}T � single%(1)=tempSprites%(56)
�mtempSprites%(57)=�(numberSprites%)-1:� sprites%(tempSprites%(57))=-1 � �tBT � single%(2)=tempSprites%(57)
�CtempSprites%(58)=numberSprites%:tempSprites%(59)=numberSprites%
�� Z%=0 � 59
�+X%=�(60)-1:� tempSprites%(X%)=-1 � �tQT
�$useSprites%(Z%)=tempSprites%(X%)
�tempSprites%(X%)=-1
��
��
�:
pݤgetPlayersGo(P%)
u� Z%,match%,quit%
zchoice%()=-1
~� Z%=1 � 2
�� 0 Ȝ 0:� 132 Ȝ 128
��� Z%=1 �pCentre("   "+player$(P%)+" : Please click 'SELECT' on first choice   ",30) � �pCentre("   "+player$(P%)+" : Please click 'SELECT' on second choice   ",30)
�� ȗ x,y,b:� b=0
�� �"FX21 9"
�ȗ x,y,b
�
Ȏ b �
�� 1:sound%=�sound(sound%)
�� 2:quit%=�quitMenu(x,y)
�'� 4:choice%(Z%)=�cardChoice(x,y,Z%)
��
�� quit% � quit%:Z%=2:�:=-2
�� choice%(Z%)>-1
��turnCard(choice%(Z%))
��
� =�checkChoices(choice%(),P%)
�:
XݤcardChoice(x,y,go%)
Z� C%
b� �x,y)<>21 �=-1
l/C%=((((y-80) � 110)*10)+((x-20) � 125)+1)-1
q!� go%=2 � choice%(1)=C%  �=-1
v=C%
�:
 ��turnCard(C%)
4[ș "OS_SpriteOp",290,spriteArea,�(useSprites%(C%)),((C% � 10))*125+45,(C% � 10)*110+100
\�
a:
�ݤcheckChoices(C%(),P%)
�� Z%,extra%
�� 0 Ȝ 0:� 132 Ȝ 128
�M� useSprites%(C%(1))=numberSprites% � useSprites%(C%(2))=numberSprites% �
�7�pCentre(�15," ")+"Can't match Jokers"+�15," "),30)
�delay(200)
�turnBack(C%())
=�
�
-� useSprites%(C%(1))=useSprites%(C%(2)) �
A�pCentre(�10," ")+"A match : Well done 2 Points"+�10," "),30)
score%(P%)+=2
$�matchSound(100)
)�delay(300)
.�erasePlinths(C%())
3�updateScore(P%,score%(P%))
8paired%+=1
==�
B�
GM� useSprites%(C%(1))=numberSprites% � useSprites%(C%(2))=numberSprites% �
LjokersFound%+=1
Q� Z%=1 � 2
Vj� useSprites%(C%(1))=single%(Z%) � useSprites%(C%(2))=single%(Z%) score%(P%)+=2:extra%=�:single%(Z%)=�
[�
`a� �(extra%) � jokersFound%<2 single%(3)=�anotherSingle(useSprites%(C%(1)),useSprites%(C%(2)))
e�� jokersFound%=2 � �(extra%) � �(single%(3)) � useSprites%(C%(1))=single%(3) � useSprites%(C%(2))=single%(3) score%(P%)+=2:extra%=�:single%(3)=�
jscore%(P%)+=2
o�� extra% �pCentre(�4," ")+"A match : Joker & single card : 4 Points"+�4," "),30) � �pCentre(�8," ")+"A Joker match : Well done 2 Points"+�8," "),30)
t�matchSound(100)
y�delay(300)
~�erasePlinths(C%())
��updateScore(P%,score%(P%))
�paired%+=1
�=�
��
�-�pCentre(�20," ")+"No match"+�20," "),30)
��delay(200)
��turnBack(C%())
�=�
�:
xݤallPaired(D%)
�� X%,Y%,ap%
�� D%=30 �=�
�� jokersFound%<2 �=�
�� X%=0 � 59
�� useSprites%(X%)<0 � �tt^
�� Y%=0 � 59
�� Y%=X% � �to^
�� useSprites%(Y%)<0 � �to^
�7� useSprites%(X%)=useSprites%(Y%) ap%=�:Y%=59:X%=59
��
��
�=�(ap%)
�:
@��erasePlinths(pl%())
J� Z%
O� 52 Ȝ 128
T� Z%=1 � 2
^useSprites%(pl%(Z%))=�
h=ȓ Ȑ (pl%(Z%) � 10)*125+20,(pl%(Z%) � 10)*110+80,115,100
r�
��
�:
 ݤanotherSingle(S1%,S2%)
 1� S1%=numberSprites% � S2%=numberSprites% �=0
 � jokersFound%=2 �=0
 &&� S1%<>numberSprites% �=S1% � =S2%
 ���turnBack(pl%())
 �� Z%
 �� 21 Ȝ 128
 �� Z%=1 � 2
 �<ȓ Ȑ (pl%(Z%) � 10)*125+45,(pl%(Z%) � 10)*110+100,70,70
 ��
! �
!*:
"`��updateScore(P%,S%)
"e� 0 Ȝ 128:� 135 Ȝ 128
"j'�(P%-1)*45+11+�player$(P%)+3,7);S%
"t�
#(��showUnPaired
#2� Z%
#<� Z%=0 � 59
#Fp� �(useSprites%(Z%)) ș "OS_SpriteOp",290,spriteArea,�(useSprites%(Z%)),((Z% � 10))*125+45,(Z% � 10)*110+100
#P�
#\� 63 Ȝ 128:� 132 Ȝ 128
#_D�pCentre("� Unmatched pictures � : Click 'SELECT when ready",30)
#a#� � �mouseCharPosition(X%,Y%)=4
#c�
#d:
#�ݤquitMenu(X%,Y%)
#�� quit%,menu
#�X%-=100:� X%<0X%=10
$� X%>1085 X%=1085
$Y%-=30:� Y%<0 Y%=10
$� Y%>900 Y%=900
$	� X%-10,Y%:� X%+200,Y%+120
$*SGet menu
$#� 64 Ȝ 192:ȓ Ȑ X%,Y%,190,110
$)� 63 Ȝ 128:ȓ Ȑ X%-10,Y%+10,190,110
$%� 48 Ȝ 128:ȓ X%-5,Y%+15,180,100
$ȗ ȓ X%-10,Y%+10,190,110
$� 5,23,17,7,6,8;8|
$� 0 Ȝ 128:� 191 Ȝ 128
$� X%+50,Y%+100:�"Quit"
$� 2 Ȝ 128
$ � X%+20,Y%+50:�"Continue"
$"ȗ � X%+100,Y%+30
$'� ȗ x,y,b:� b=0
$)� ȗ x,y,b
$,
Ȏ b �
$.-� 0,1,2,3,5,6,7:quit%=�quitState(y,X%,Y%)
$1�
$6	� b=4
$@*SChoose menu
$C� &ED,X%-10,Y%
$E*SDelete menu
$G� ȗ x,y,b:� b=0
$H	� 4:�
$Iȗ ȓ 0,0,1280,1024
$J
=quit%
$�ݤquitState(ypos%,X%,Y%)
$�� ypos%>=Y%+60 �
$�� 2 Ȝ 128
$�� X%+50,Y%+100:�"Quit"
$�� 0 Ȝ 128
$�� X%+20,Y%+50:�"Continue"
$�=�
$��
$�� 0 Ȝ 128
$�� X%+50,Y%+100:�"Quit"
$�� 2 Ȝ 128
$�� X%+20,Y%+50:�"Continue"
$��
$�=�
%�ݤreply(X%,Y%)
%�� X%>=52 � X%<=54 �=�
%�=�
%�:
&H
��quit
&J� quit%
&W� 52 Ȝ 128
&\ȓ Ȑ 0,0,1280,830
&f$�plinth(300,300,680,400,20,48,�)
&k� 0 Ȝ 128:� 176 Ȝ 128
&p'�pCentre("Quit Program (Y/N) ?",13)
&u9�pCentre("Click 'SELECT' over appropriate plinth",15)
&z#�plinth(360,360,120,80,10,64,�)
&|� 2 Ȝ 128:� 128 Ȝ 128
&�25,19)"NO"
&�"�plinth(800,360,120,80,10,2,�)
&�� 0 Ȝ 128:� 130 Ȝ 128
&��52,19)"YES"
&��
&�%button%=�mouseCharPosition(X%,Y%)
&�Ȏ button% �
&�#� 4:� Y%=19 quit%=�reply(X%,Y%)
&��
&�S� (button%=4 � X%>=25 � X%<=26 � Y%=19) � (button%=4 � X%>=52 � X%<=54 � Y%=19)
&�6� quit% �"fx 200":ș "Wimp_CommandWindow",-1:� 4:�
&��
&�:
'7��plinth(xpos%,ypos%,width%,height%,w%,col%,raise%)
'� tint1%,tint2%,tint3%
'#tint1%=192:tint2%=128:tint3%=64
'� � raise% Ȕ tint1%,tint3%
'$� col% Ȝ tint1%
'.$ȓ Ȑ xpos%,ypos%,width%,height%
'8� col% Ȝ tint2%
'B8ȓ Ȑ xpos%+w%,ypos%+w%,width%-(2*w%),height%-(2*w%)
'L� col% Ȝ tint3%
'V#� xpos%,ypos%,xpos%+w%,ypos%+w%
'`� 85,xpos%+w%,ypos%
'j)ȓ Ȑ xpos%+w%,ypos%,width%-(2*w%),w%
'tA� xpos%+width%-w%,ypos%+height%-w%,xpos%+width%,ypos%+height%
'~&� 85,xpos%+width%,ypos%+height%-w%
'�-ȓ Ȑ xpos%+width%-w%,ypos%,w%,height%-w%
'��
'�:
'���pCentre(message$,ypos)
'�'�(�(80-�message$)/2),ypos)message$
'��
'�:
(�"ݤmouseCharPosition(� X%,� Y%)
(��"fx 21 9"
(�� ȗ x,y,b:� b=0
(�� ȗ x,y,b:� b>0
(�X%=(x � 16):Y%=31-(y � 32)
(�=b
(�:
)!��menuPlinths(colour%,raise%)
)� Z%
)� Z%=1 � 4
)"9�plinth(400,(Z%-1)*160+125,480,100,10,colour%,raise%)
),�
)6�
)^:
)h��delay(T%)
)rT%=�
)|� � �>T%+200
)��
)�:
*���fanfare(C%)
+
��Ə=0
+� 3,-15,C%,5,0
+� 5,-15,C%-96,5,-1
+ � 3,-15,C%+8,5,32
+*� 5,-15,C%-100,5,-1
+4� 3,-15,C%+16,5,64
+>� 5,-15,C%-108,5,-1
+H� 3,-15,C%+20,5,96
+R� 5,-15,C%-116,5,-1
+\� 3,-15,C%+28,5,128
+f� 5,-15,C%-96,5,-1
+p� 3,-15,C%+36,5,144
+z� 5,-15,C%-76,5,-1
+�� 3,-15,C%+44,5,160
+�� 5,-15,C%-68,5,-1
+�� 3,-15,C%+48,5,176
+�� 5,-15,C%-96,5,-1
+��
+�:
.���matchSound(C%)
.�
��Ə=0
.�� 3,-15,C%,20,0
.�� 5,-15,C%-48,20,-1
/� 6,-15,C%-12,20,-1
/� 3,-15,C%,5,60
/� 5,-15,C%-48,5,-1
/� 6,-15,C%-12,5,-1
/� 3,-15,C%+20,15,80
/&� 5,-15,C%-76,15,-1
/+� 6,-15,C%-12,15,-1
/��
/�:
J8��error
JG� 52 Ȝ 128
JLȓ Ȑ 0,0,1280,830
JQ$�plinth(300,300,680,400,20,48,�)
JV#�plinth(400,580,480,80,10,64,�)
J[� 63 Ȝ 128:� 192 Ȝ 128
J`�pCentre(�$,12)
Jb#�plinth(500,490,280,80,10,64,�)
Jd�pCentre("at line "+Þ,15)
Jj#�plinth(400,360,480,80,10,64,�)
Jo-�pCentre("Click 'SELECT' to continue",19)
Jt�
Jy!� �mouseCharPosition(X%,Y%)=4
J~
�"fx 200"
J�ș "Wimp_CommandWindow",-1
J�� 4
J��
J�:
a�
��vars
a�8� keyBoard$(5),player$(2),useSprites%(59),single%(4)
a�3� tempSprites%(59),choice%(2),score%(2),snd$(1)
b�
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 13 f4 20 50 69  63 74 75 72 65 20 50 61  |..... Picture Pa|
00000020  69 72 73 0d 00 1e 14 f4  20 66 6f 72 20 41 72 63  |irs..... for Arc|
00000030  68 69 6d 65 64 65 73 0d  00 28 16 f4 20 62 79 20  |himedes..(.. by |
00000040  4d 69 6b 65 20 57 68 69  74 65 6d 61 6e 0d 00 32  |Mike Whiteman..2|
00000050  13 f4 20 56 65 72 73 69  6f 6e 20 41 31 2e 31 30  |.. Version A1.10|
00000060  0d 00 3c 15 f4 20 28 63  29 20 41 75 67 75 73 74  |..<.. (c) August|
00000070  20 31 39 39 30 0d 00 46  05 3a 0d 00 50 0c 2a 66  | 1990..F.:..P.*f|
00000080  78 32 30 30 20 31 0d 00  5a 0e ee 20 85 20 f2 65  |x200 1..Z.. . .e|
00000090  72 72 6f 72 0d 00 5f 08  eb 20 31 35 0d 00 61 0c  |rror.._.. 15..a.|
000000a0  f2 68 65 61 64 69 6e 67  0d 00 64 0f f2 69 6e 69  |.heading..d..ini|
000000b0  74 69 61 6c 69 73 65 0d  00 6b 0c 2a 50 6f 69 6e  |tialise..k.*Poin|
000000c0  74 65 72 0d 00 c8 1c f5  20 63 68 6f 69 63 65 25  |ter..... choice%|
000000d0  3d a4 6d 65 6e 75 28 74  61 72 67 65 74 25 29 0d  |=.menu(target%).|
000000e0  00 d2 10 c8 8e 20 63 68  6f 69 63 65 25 20 ca 0d  |..... choice% ..|
000000f0  00 dc 10 c9 20 31 3a f2  70 6c 61 79 65 72 73 0d  |.... 1:.players.|
00000100  00 e6 20 c9 20 32 3a 74  61 72 67 65 74 25 3d a4  |.. . 2:target%=.|
00000110  74 61 72 67 65 74 28 74  61 72 67 65 74 25 29 0d  |target(target%).|
00000120  00 f0 0d c9 20 33 3a f2  70 6c 61 79 0d 00 fa 0d  |.... 3:.play....|
00000130  c9 20 34 3a f2 71 75 69  74 0d 01 04 05 cb 0d 01  |. 4:.quit.......|
00000140  0e 07 fd 20 a3 0d 01 18  05 3a 0d 03 e8 11 dd f2  |... .....:......|
00000150  73 70 72 69 74 65 53 70  61 63 65 0d 03 f2 17 de  |spriteSpace.....|
00000160  20 73 70 72 69 74 65 41  72 65 61 20 26 32 30 30  | spriteArea &200|
00000170  30 30 0d 03 fc 16 21 73  70 72 69 74 65 41 72 65  |00....!spriteAre|
00000180  61 3d 26 32 30 30 30 30  0d 04 06 12 73 70 72 69  |a=&20000....spri|
00000190  74 65 41 72 65 61 21 34  3d 30 0d 04 10 13 73 70  |teArea!4=0....sp|
000001a0  72 69 74 65 41 72 65 61  21 38 3d 31 36 0d 04 1a  |riteArea!8=16...|
000001b0  14 73 70 72 69 74 65 41  72 65 61 21 31 32 3d 31  |.spriteArea!12=1|
000001c0  36 0d 04 24 24 f2 70 6c  69 6e 74 68 28 33 30 30  |6..$$.plinth(300|
000001d0  2c 34 30 30 2c 36 38 30  2c 31 32 30 2c 31 34 2c  |,400,680,120,14,|
000001e0  36 34 2c b9 29 0d 04 29  1b fb 20 36 33 20 c8 9c  |64,.)..).. 63 ..|
000001f0  20 31 32 38 3a fb 31 32  38 20 c8 9c 20 31 32 38  | 128:.128 .. 128|
00000200  0d 04 2e 33 f2 70 43 65  6e 74 72 65 28 22 50 6c  |...3.pCentre("Pl|
00000210  65 61 73 65 20 57 61 69  74 2e 2e 2e 20 4c 6f 61  |ease Wait... Loa|
00000220  64 69 6e 67 20 27 47 61  6c 6c 65 72 79 27 22 2c  |ding 'Gallery'",|
00000230  31 37 29 0d 04 38 38 c8  99 20 22 4f 53 5f 53 70  |17)..88.. "OS_Sp|
00000240  72 69 74 65 4f 70 22 2c  32 36 36 2c 73 70 72 69  |riteOp",266,spri|
00000250  74 65 41 72 65 61 2c 22  3c 4f 62 65 79 24 44 69  |teArea,"<Obey$Di|
00000260  72 3e 2e 47 61 6c 6c 65  72 79 22 0d 04 42 05 e1  |r>.Gallery"..B..|
00000270  0d 04 47 05 3a 0d 04 4c  10 dd f2 69 6e 69 74 69  |..G.:..L...initi|
00000280  61 6c 69 73 65 0d 04 51  08 ea 20 5a 25 0d 04 60  |alise..Q.. Z%..`|
00000290  10 f2 73 70 72 69 74 65  53 70 61 63 65 0d 04 6a  |..spriteSpace..j|
000002a0  09 f2 76 61 72 73 0d 04  7e 1d 6b 65 79 42 6f 61  |..vars..~.keyBoa|
000002b0  72 64 24 28 31 29 3d 22  51 57 45 52 54 59 55 49  |rd$(1)="QWERTYUI|
000002c0  4f 50 22 0d 04 83 1c 6b  65 79 42 6f 61 72 64 24  |OP"....keyBoard$|
000002d0  28 32 29 3d 22 41 53 44  46 47 48 4a 4b 4c 22 0d  |(2)="ASDFGHJKL".|
000002e0  04 88 1a 6b 65 79 42 6f  61 72 64 24 28 33 29 3d  |...keyBoard$(3)=|
000002f0  22 5a 58 43 56 42 4e 4d  22 0d 04 8d 19 6b 65 79  |"ZXCVBNM"....key|
00000300  42 6f 61 72 64 24 28 34  29 3d 22 52 65 74 75 72  |Board$(4)="Retur|
00000310  6e 22 0d 04 92 19 6b 65  79 42 6f 61 72 64 24 28  |n"....keyBoard$(|
00000320  35 29 3d 22 44 65 6c 65  74 65 22 0d 04 94 24 6e  |5)="Delete"...$n|
00000330  75 6d 62 65 72 53 70 72  69 74 65 73 25 3d 31 32  |umberSprites%=12|
00000340  34 3a f4 20 2b 20 4f 6e  65 20 4a 6f 6b 65 72 0d  |4:. + One Joker.|
00000350  04 97 1e de 20 73 70 72  69 74 65 73 25 28 6e 75  |.... sprites%(nu|
00000360  6d 62 65 72 53 70 72 69  74 65 73 25 29 0d 04 99  |mberSprites%)...|
00000370  0e 74 61 72 67 65 74 25  3d 35 30 0d 04 9c 0c 5a  |.target%=50....Z|
00000380  25 3d b3 28 2d 91 29 0d  04 a1 0e f2 69 6e 69 74  |%=.(-.).....init|
00000390  53 6f 75 6e 64 0d 04 a6  05 e1 0d 04 ab 05 3a 0d  |Sound.........:.|
000003a0  04 b0 0d dd f2 68 65 61  64 69 6e 67 0d 04 ba 0f  |.....heading....|
000003b0  e6 20 35 32 20 c8 9c 20  31 32 38 0d 04 bf 17 c8  |. 52 .. 128.....|
000003c0  93 20 c8 90 20 30 2c 30  2c 31 32 38 30 2c 31 30  |. .. 0,0,1280,10|
000003d0  32 34 0d 04 c4 24 f2 70  6c 69 6e 74 68 28 32 32  |24...$.plinth(22|
000003e0  30 2c 38 34 30 2c 38 34  30 2c 31 36 30 2c 32 30  |0,840,840,160,20|
000003f0  2c 36 34 2c b9 29 0d 04  c9 18 ef 20 35 2c 32 33  |,64,.)..... 5,23|
00000400  2c 31 37 2c 37 2c 36 2c  31 34 3b 31 34 7c 0d 04  |,17,7,6,14;14|..|
00000410  ce 07 e6 20 32 0d 04 d3  0d ec 20 32 39 30 2c 39  |... 2..... 290,9|
00000420  35 30 0d 04 d8 20 f1 22  50 20 49 20 43 20 54 20  |50... ."P I C T |
00000430  55 20 52 20 45 20 20 20  50 20 41 20 49 20 52 20  |U R E   P A I R |
00000440  53 22 0d 04 dd 09 ef 20  34 3a 87 0d 05 00 05 e1  |S"..... 4:......|
00000450  0d 05 0a 05 3a 0d 05 14  0e dd a4 6d 65 6e 75 28  |....:......menu(|
00000460  54 25 29 0d 05 19 0f e6  20 35 32 20 c8 9c 20 31  |T%)..... 52 .. 1|
00000470  32 38 0d 05 1b 16 c8 93  20 c8 90 20 30 2c 30 2c  |28...... .. 0,0,|
00000480  31 32 38 30 2c 38 33 30  0d 05 1e 16 f2 6d 65 6e  |1280,830.....men|
00000490  75 50 6c 69 6e 74 68 73  28 34 38 2c b9 29 0d 05  |uPlinths(48,.)..|
000004a0  2d 1b fb 20 30 20 c8 9c  20 31 32 38 3a fb 20 31  |-.. 0 .. 128:. 1|
000004b0  37 36 20 c8 9c 20 31 32  38 0d 05 3c 1e f2 70 43  |76 .. 128..<..pC|
000004c0  65 6e 74 72 65 28 22 45  6e 74 65 72 20 4e 61 6d  |entre("Enter Nam|
000004d0  65 73 22 2c 31 31 29 0d  05 41 39 f2 70 43 65 6e  |es",11)..A9.pCen|
000004e0  74 72 65 28 22 20 20 22  2b c3 54 25 2b 22 20 88  |tre("  "+.T%+" .|
000004f0  88 20 52 65 73 65 74 20  54 61 72 67 65 74 20 89  |. Reset Target .|
00000500  89 20 22 2b c3 54 25 2b  22 20 20 22 2c 31 36 29  |. "+.T%+"  ",16)|
00000510  0d 05 46 1d f2 70 43 65  6e 74 72 65 28 22 50 6c  |..F..pCentre("Pl|
00000520  61 79 20 20 47 61 6d 65  22 2c 32 31 29 0d 05 4b  |ay  Game",21)..K|
00000530  17 f2 70 43 65 6e 74 72  65 28 22 51 75 69 74 22  |..pCentre("Quit"|
00000540  2c 32 36 29 0d 05 50 05  f5 0d 05 5a 25 62 75 74  |,26)..P....Z%but|
00000550  74 6f 6e 25 3d a4 6d 6f  75 73 65 43 68 61 72 50  |ton%=.mouseCharP|
00000560  6f 73 69 74 69 6f 6e 28  58 25 2c 59 25 29 0d 05  |osition(X%,Y%)..|
00000570  64 6c fd 20 28 62 75 74  74 6f 6e 25 3d 34 20 80  |dl. (button%=4 .|
00000580  20 59 25 3d 31 31 29 20  84 20 28 62 75 74 74 6f  | Y%=11) . (butto|
00000590  6e 25 3d 34 20 80 20 59  25 3d 31 36 29 20 84 20  |n%=4 . Y%=16) . |
000005a0  28 62 75 74 74 6f 6e 25  3d 34 20 80 20 59 25 3d  |(button%=4 . Y%=|
000005b0  32 31 20 80 20 70 6c 61  79 65 72 24 28 31 29 3c  |21 . player$(1)<|
000005c0  3e 22 22 29 20 84 20 28  62 75 74 74 6f 6e 25 3d  |>"") . (button%=|
000005d0  34 20 80 20 59 25 3d 32  36 29 0d 05 6e 12 3d 28  |4 . Y%=26)..n.=(|
000005e0  28 59 25 2d 31 31 29 2f  35 29 2b 31 0d 05 77 05  |(Y%-11)/5)+1..w.|
000005f0  3a 0d 05 78 10 dd a4 74  61 72 67 65 74 28 54 25  |:..x...target(T%|
00000600  29 0d 05 82 16 f2 6d 65  6e 75 50 6c 69 6e 74 68  |).....menuPlinth|
00000610  73 28 32 31 2c a3 29 0d  05 84 0e fb 20 30 20 c8  |s(21,.)..... 0 .|
00000620  9c 20 31 32 38 0d 05 85  10 fb 20 31 34 39 20 c8  |. 128..... 149 .|
00000630  9c 20 31 32 38 0d 05 87  2f f2 70 43 65 6e 74 72  |. 128.../.pCentr|
00000640  65 28 22 8b 20 55 73 65  20 27 41 44 4a 55 53 54  |e(". Use 'ADJUST|
00000650  27 20 74 6f 20 69 6e 63  72 65 61 73 65 20 8b 22  |' to increase ."|
00000660  2c 31 31 29 0d 05 8c 2f  f2 70 43 65 6e 74 72 65  |,11).../.pCentre|
00000670  28 22 8a 20 55 73 65 20  27 53 45 4c 45 43 54 27  |(". Use 'SELECT'|
00000680  20 74 6f 20 64 65 63 72  65 61 73 65 20 8a 22 2c  | to decrease .",|
00000690  32 31 29 0d 05 91 2f f2  70 43 65 6e 74 72 65 28  |21).../.pCentre(|
000006a0  22 55 73 65 20 27 4d 45  4e 55 27 20 74 6f 20 63  |"Use 'MENU' to c|
000006b0  6f 6e 66 69 72 6d 20 63  68 6f 69 63 65 22 2c 32  |onfirm choice",2|
000006c0  36 29 0d 05 96 14 f5 20  c8 97 20 78 2c 79 2c 62  |6)..... .. x,y,b|
000006d0  3a fd 20 62 3d 30 0d 05  a0 14 f5 20 c8 97 20 78  |:. b=0..... .. x|
000006e0  2c 79 2c 62 75 74 74 6f  6e 25 0d 05 aa 10 c8 8e  |,y,button%......|
000006f0  20 62 75 74 74 6f 6e 25  20 ca 0d 05 af 1c c9 20  | button% ...... |
00000700  31 3a 54 25 2b 3d 32 3a  e7 20 54 25 3e 32 30 30  |1:T%+=2:. T%>200|
00000710  20 54 25 3d 34 30 0d 05  b4 1c c9 20 34 3a 54 25  | T%=40..... 4:T%|
00000720  2d 3d 32 3a e7 20 54 25  3c 34 30 20 54 25 3d 32  |-=2:. T%<40 T%=2|
00000730  30 30 0d 05 b9 05 cb 0d  05 be 2d f2 70 43 65 6e  |00........-.pCen|
00000740  74 72 65 28 22 20 20 88  88 20 54 61 72 67 65 74  |tre("  .. Target|
00000750  20 3d 20 22 2b c3 54 25  2b 22 20 89 89 20 20 22  | = "+.T%+" ..  "|
00000760  2c 31 36 29 0d 05 c3 09  49 3d a6 31 30 0d 05 c8  |,16)....I=.10...|
00000770  0f fd 20 62 75 74 74 6f  6e 25 3d 32 0d 05 d2 07  |.. button%=2....|
00000780  3d 54 25 0d 05 d7 05 3a  0d 06 40 1a dd f2 64 69  |=T%....:..@...di|
00000790  73 70 6c 61 79 57 69 6e  6e 65 72 28 50 24 2c 53  |splayWinner(P$,S|
000007a0  25 29 0d 06 4a 0b ea 20  59 25 2c 5a 25 0d 06 4f  |%)..J.. Y%,Z%..O|
000007b0  0f e6 20 34 38 20 c8 9c  20 31 32 38 0d 06 54 0a  |.. 48 .. 128..T.|
000007c0  59 25 3d 35 30 30 0d 06  59 16 e3 20 5a 25 3d 36  |Y%=500..Y.. Z%=6|
000007d0  32 30 20 b8 20 32 33 30  20 88 2d 32 0d 06 5e 09  |20 . 230 .-2..^.|
000007e0  59 25 2d 3d 31 0d 06 63  2b c8 93 20 c8 90 20 5a  |Y%-=1..c+.. .. Z|
000007f0  25 2c 59 25 2c 28 36 32  30 2d 5a 25 29 2a 32 2b  |%,Y%,(620-Z%)*2+|
00000800  34 30 2c 28 35 30 30 2d  59 25 29 2a 32 2b 31 32  |40,(500-Y%)*2+12|
00000810  0d 06 68 05 ed 0d 06 6d  36 f2 70 6c 69 6e 74 68  |..h....m6.plinth|
00000820  28 5a 25 2c 59 25 2c 28  36 32 30 2d 5a 25 29 2a  |(Z%,Y%,(620-Z%)*|
00000830  32 2b 34 30 2c 28 35 30  30 2d 59 25 29 2a 32 2b  |2+40,(500-Y%)*2+|
00000840  31 32 2c 31 30 2c 34 38  2c b9 29 0d 06 72 23 f2  |12,10,48,.)..r#.|
00000850  70 6c 69 6e 74 68 28 33  35 30 2c 35 35 30 2c 35  |plinth(350,550,5|
00000860  38 30 2c 38 30 2c 31 30  2c 36 34 2c b9 29 0d 06  |80,80,10,64,.)..|
00000870  75 1c fb 20 36 33 20 c8  9c 20 31 32 38 3a fb 20  |u.. 63 .. 128:. |
00000880  31 32 38 20 c8 9c 20 31  32 38 0d 06 77 30 f2 70  |128 .. 128..w0.p|
00000890  43 65 6e 74 72 65 28 22  27 22 2b 50 24 2b 22 27  |Centre("'"+P$+"'|
000008a0  20 77 69 6e 73 20 77 69  74 68 20 61 20 73 63 6f  | wins with a sco|
000008b0  72 65 20 6f 66 22 2c 31  33 29 0d 06 7c 23 f2 70  |re of",13)..|#.p|
000008c0  6c 69 6e 74 68 28 35 38  30 2c 34 32 30 2c 31 32  |linth(580,420,12|
000008d0  30 2c 38 30 2c 31 30 2c  36 34 2c b9 29 0d 06 81  |0,80,10,64,.)...|
000008e0  14 f2 70 43 65 6e 74 72  65 28 c3 53 25 2c 31 37  |..pCentre(.S%,17|
000008f0  29 0d 06 86 23 f2 70 6c  69 6e 74 68 28 33 35 30  |)...#.plinth(350|
00000900  2c 33 32 30 2c 35 38 30  2c 38 30 2c 31 30 2c 36  |,320,580,80,10,6|
00000910  34 2c b9 29 0d 06 88 11  f2 66 61 6e 66 61 72 65  |4,.).....fanfare|
00000920  28 31 34 30 29 0d 06 8b  2d f2 70 43 65 6e 74 72  |(140)...-.pCentr|
00000930  65 28 22 43 6c 69 63 6b  20 27 53 45 4c 45 43 54  |e("Click 'SELECT|
00000940  27 20 74 6f 20 63 6f 6e  74 69 6e 75 65 22 2c 32  |' to continue",2|
00000950  30 29 0d 06 90 23 f5 20  fd 20 a4 6d 6f 75 73 65  |0)...#. . .mouse|
00000960  43 68 61 72 50 6f 73 69  74 69 6f 6e 28 58 25 2c  |CharPosition(X%,|
00000970  59 25 29 3d 34 0d 06 95  05 e1 0d 06 a2 05 3a 0d  |Y%)=4.........:.|
00000980  06 a4 30 dd f2 6d 61 6b  65 53 6f 75 6e 64 28 63  |..0..makeSound(c|
00000990  68 61 6e 6e 65 6c 25 2c  76 6f 6c 75 6d 65 25 2c  |hannel%,volume%,|
000009a0  70 69 74 63 68 25 2c 6c  65 6e 67 74 68 25 29 0d  |pitch%,length%).|
000009b0  06 c2 25 d4 20 63 68 61  6e 6e 65 6c 25 2c 76 6f  |..%. channel%,vo|
000009c0  6c 75 6d 65 25 2c 70 69  74 63 68 25 2c 6c 65 6e  |lume%,pitch%,len|
000009d0  67 74 68 25 0d 06 ea 05  e1 0d 06 fe 05 3a 0d 07  |gth%.........:..|
000009e0  08 16 dd f2 72 65 73 65  74 53 70 72 69 74 65 73  |....resetSprites|
000009f0  28 4e 25 29 0d 07 12 08  ea 20 5a 25 0d 07 1c 11  |(N%)..... Z%....|
00000a00  e3 20 5a 25 3d 30 20 b8  20 4e 25 2d 31 0d 07 26  |. Z%=0 . N%-1..&|
00000a10  13 73 70 72 69 74 65 73  25 28 5a 25 29 3d 5a 25  |.sprites%(Z%)=Z%|
00000a20  0d 07 30 05 ed 0d 07 3a  05 e1 0d 07 58 05 3a 0d  |..0....:....X.:.|
00000a30  07 6c 0f dd f2 69 6e 69  74 53 6f 75 6e 64 0d 07  |.l...initSound..|
00000a40  71 17 c8 a1 20 32 2c 22  55 73 65 72 4c 69 62 2d  |q... 2,"UserLib-|
00000a50  42 65 6c 6c 22 0d 07 76  17 c8 a1 20 33 2c 22 55  |Bell"..v... 3,"U|
00000a60  73 65 72 4c 69 62 2d 48  6f 72 6e 22 0d 07 7b 16  |serLib-Horn"..{.|
00000a70  c8 a1 20 34 2c 22 55 73  65 72 4c 69 62 2d 53 61  |.. 4,"UserLib-Sa|
00000a80  77 22 0d 07 80 1d c8 a1  20 35 2c 22 55 73 65 72  |w"...... 5,"User|
00000a90  4c 69 62 2d 48 61 6d 6d  6f 6e 64 4f 72 67 22 0d  |Lib-HammondOrg".|
00000aa0  07 85 1d c8 a1 20 36 2c  22 55 73 65 72 4c 69 62  |..... 6,"UserLib|
00000ab0  2d 48 61 6d 6d 6f 6e 64  4f 72 67 22 0d 07 9e 08  |-HammondOrg"....|
00000ac0  c8 a0 20 36 0d 07 a8 0a  c8 9e 20 31 37 36 0d 07  |.. 6...... 176..|
00000ad0  b2 0c c8 9f 20 26 31 33  30 30 0d 07 bc 0c 73 6f  |.... &1300....so|
00000ae0  75 6e 64 25 3d b9 0d 07  c1 1e 73 6e 64 24 28 30  |und%=.....snd$(0|
00000af0  29 3d 22 4f 4e 22 3a 73  6e 64 24 28 31 29 3d 22  |)="ON":snd$(1)="|
00000b00  4f 46 46 22 0d 07 cb 05  e1 0d 07 ce 05 3a 0d 07  |OFF".........:..|
00000b10  d0 0d dd f2 70 6c 61 79  65 72 73 0d 07 d5 08 ea  |....players.....|
00000b20  20 5a 25 0d 07 da 0f e6  20 35 32 20 c8 9c 20 31  | Z%..... 52 .. 1|
00000b30  32 38 0d 07 df 16 c8 93  20 c8 90 20 30 2c 30 2c  |28...... .. 0,0,|
00000b40  31 32 38 30 2c 38 33 30  0d 07 e4 12 f2 73 65 74  |1280,830.....set|
00000b50  55 70 4b 65 79 62 6f 61  72 64 0d 07 ee 12 f2 70  |UpKeyboard.....p|
00000b60  6c 61 79 65 72 73 50 6c  69 6e 74 68 0d 08 02 0e  |layersPlinth....|
00000b70  e3 20 5a 25 3d 31 20 b8  20 32 0d 08 05 18 f1 8a  |. Z%=1 . 2......|
00000b80  32 33 2c 28 5a 25 2d 31  29 2a 34 2b 37 29 22 88  |23,(Z%-1)*4+7)".|
00000b90  88 22 0d 08 07 27 70 6c  61 79 65 72 24 28 5a 25  |."...'player$(Z%|
00000ba0  29 3d a4 67 65 74 4d 6f  75 73 65 43 68 61 72 61  |)=.getMouseChara|
00000bb0  63 74 65 72 73 28 5a 25  29 0d 08 09 18 f1 8a 32  |cters(Z%)......2|
00000bc0  33 2c 28 5a 25 2d 31 29  2a 34 2b 37 29 22 20 20  |3,(Z%-1)*4+7)"  |
00000bd0  22 0d 08 0c 36 e7 20 5a  25 3d 32 20 e7 20 a4 75  |"...6. Z%=2 . .u|
00000be0  73 65 64 50 6c 61 79 65  72 28 70 6c 61 79 65 72  |sedPlayer(player|
00000bf0  24 28 31 29 2c 70 6c 61  79 65 72 24 28 32 29 29  |$(1),player$(2))|
00000c00  20 8c 20 8d 54 45 48 0d  08 13 18 f1 8a 32 33 2c  | . .TEH......23,|
00000c10  28 5a 25 2d 31 29 2a 34  2b 37 29 22 20 20 22 0d  |(Z%-1)*4+7)"  ".|
00000c20  08 16 05 ed 0d 08 20 17  c8 97 20 c8 93 20 30 2c  |...... ... .. 0,|
00000c30  30 2c 31 32 38 30 2c 31  30 32 34 0d 08 2a 05 e1  |0,1280,1024..*..|
00000c40  0d 08 2c 05 3a 0d 08 98  13 dd f2 73 65 74 55 70  |..,.:......setUp|
00000c50  4b 65 79 62 6f 61 72 64  0d 08 a2 0b ea 20 5a 25  |Keyboard..... Z%|
00000c60  2c 57 25 0d 08 a7 15 fb  20 36 33 3a fb 20 31 39  |,W%..... 63:. 19|
00000c70  32 20 c8 9c 20 31 32 38  0d 08 ac 0e e3 20 5a 25  |2 .. 128..... Z%|
00000c80  3d 31 20 b8 20 33 0d 08  b1 1b e3 20 57 25 3d 31  |=1 . 3..... W%=1|
00000c90  20 b8 20 a9 6b 65 79 42  6f 61 72 64 24 28 5a 25  | . .keyBoard$(Z%|
00000ca0  29 0d 08 b3 3f f2 70 6c  69 6e 74 68 28 28 57 25  |)...?.plinth((W%|
00000cb0  2a 39 36 29 2d 35 35 2b  28 28 5a 25 2d 31 29 2a  |*96)-55+((Z%-1)*|
00000cc0  31 35 29 2c 28 33 2d 5a  25 29 2a 31 33 30 2b 37  |15),(3-Z%)*130+7|
00000cd0  33 2c 37 30 2c 37 30 2c  31 30 2c 36 34 2c b9 29  |3,70,70,10,64,.)|
00000ce0  0d 08 b6 2c f1 8a 57 25  2a 36 2d 33 2b 5a 25 2c  |...,..W%*6-3+Z%,|
00000cf0  5a 25 2a 34 2b 31 36 29  c1 6b 65 79 42 6f 61 72  |Z%*4+16).keyBoar|
00000d00  64 24 28 5a 25 29 2c 57  25 2c 31 29 0d 08 c0 05  |d$(Z%),W%,1)....|
00000d10  ed 0d 08 ca 05 ed 0d 08  cf 24 f2 70 6c 69 6e 74  |.........$.plint|
00000d20  68 28 31 30 31 30 2c 32  36 37 2c 31 36 30 2c 37  |h(1010,267,160,7|
00000d30  30 2c 31 30 2c 36 34 2c  b9 29 0d 08 d4 18 f1 8a  |0,10,64,.)......|
00000d40  36 35 2c 32 32 29 6b 65  79 42 6f 61 72 64 24 28  |65,22)keyBoard$(|
00000d50  34 29 0d 08 d9 23 f2 70  6c 69 6e 74 68 28 39 31  |4)...#.plinth(91|
00000d60  35 2c 31 33 37 2c 31 36  30 2c 37 30 2c 31 30 2c  |5,137,160,70,10,|
00000d70  36 34 2c b9 29 0d 08 de  18 f1 8a 35 39 2c 32 36  |64,.)......59,26|
00000d80  29 6b 65 79 42 6f 61 72  64 24 28 35 29 0d 08 e8  |)keyBoard$(5)...|
00000d90  17 c8 97 20 c8 93 20 30  2c 36 35 2c 31 32 38 30  |... .. 0,65,1280|
00000da0  2c 33 34 35 0d 08 f2 05  e1 0d 08 f7 05 3a 0d 09  |,345.........:..|
00000db0  60 13 dd f2 70 6c 61 79  65 72 73 50 6c 69 6e 74  |`...playersPlint|
00000dc0  68 0d 09 6a 08 ea 20 5a  25 0d 09 6f 14 fb 20 30  |h..j.. Z%..o.. 0|
00000dd0  3a fb 20 31 36 34 20 c8  9c 20 31 32 38 0d 09 74  |:. 164 .. 128..t|
00000de0  0e e3 20 5a 25 3d 31 20  b8 20 32 0d 09 7e 29 f2  |.. Z%=1 . 2..~).|
00000df0  70 6c 69 6e 74 68 28 33  30 2c 5a 25 2a 31 32 30  |plinth(30,Z%*120|
00000e00  2b 35 30 30 2c 34 30 30  2c 38 30 2c 31 30 2c 33  |+500,400,80,10,3|
00000e10  36 2c b9 29 0d 09 83 25  f1 8a 34 2c 28 32 2d 5a  |6,.)...%..4,(2-Z|
00000e20  25 29 2a 34 2b 37 29 22  50 6c 61 79 65 72 20 22  |%)*4+7)"Player "|
00000e30  3b 33 2d 5a 25 22 20 3a  22 0d 09 88 05 ed 0d 09  |;3-Z%" :".......|
00000e40  92 24 f2 70 6c 69 6e 74  68 28 36 31 30 2c 34 37  |.$.plinth(610,47|
00000e50  30 2c 35 31 30 2c 33 36  30 2c 32 30 2c 33 36 2c  |0,510,360,20,36,|
00000e60  a3 29 0d 09 97 08 fb 20  34 35 0d 09 9c 41 f1 8a  |.)..... 45...A..|
00000e70  33 39 2b 28 a8 28 33 30  2d a9 22 43 6c 69 63 6b  |39+(.(30-."Click|
00000e80  20 27 53 45 4c 45 43 54  27 20 4f 76 65 72 22 29  | 'SELECT' Over")|
00000e90  2f 32 29 2c 38 29 22 43  6c 69 63 6b 20 27 53 45  |/2),8)"Click 'SE|
00000ea0  4c 45 43 54 27 20 4f 76  65 72 22 0d 09 a2 39 f1  |LECT' Over"...9.|
00000eb0  8a 33 39 2b 28 a8 28 33  30 2d a9 22 52 65 71 75  |.39+(.(30-."Requ|
00000ec0  69 72 65 64 20 4c 65 74  74 65 72 22 29 2f 32 29  |ired Letter")/2)|
00000ed0  2c 39 29 22 52 65 71 75  69 72 65 64 20 4c 65 74  |,9)"Required Let|
00000ee0  74 65 72 22 0d 09 a6 38  f1 8a 33 39 2b 28 a8 28  |ter"...8..39+(.(|
00000ef0  33 30 2d a9 22 4f 76 65  72 20 44 65 6c 65 74 65  |30-."Over Delete|
00000f00  20 74 6f 22 29 2f 32 29  2c 31 31 29 22 4f 76 65  | to")/2),11)"Ove|
00000f10  72 20 44 65 6c 65 74 65  20 74 6f 22 0d 09 a8 34  |r Delete to"...4|
00000f20  f1 8a 33 39 2b 28 a8 28  33 30 2d a9 22 52 65 73  |..39+(.(30-."Res|
00000f30  74 61 72 74 20 4e 61 6d  65 22 29 2f 32 29 2c 31  |tart Name")/2),1|
00000f40  32 29 22 52 65 73 74 61  72 74 20 4e 61 6d 65 22  |2)"Restart Name"|
00000f50  0d 09 aa 3e f1 8a 33 39  2b 28 a8 28 33 30 2d a9  |...>..39+(.(30-.|
00000f60  22 52 65 74 75 72 6e 20  74 6f 20 43 6f 6e 66 69  |"Return to Confi|
00000f70  72 6d 22 29 2f 32 29 2c  31 34 29 22 52 65 74 75  |rm")/2),14)"Retu|
00000f80  72 6e 20 74 6f 20 43 6f  6e 66 69 72 6d 22 0d 09  |rn to Confirm"..|
00000f90  ba 05 e1 0d 09 c1 05 3a  0d 0a 28 1c dd a4 67 65  |.......:..(...ge|
00000fa0  74 4d 6f 75 73 65 43 68  61 72 61 63 74 65 72 73  |tMouseCharacters|
00000fb0  28 50 25 29 0d 0a 2d 0e  ea 20 5a 25 2c 64 61 74  |(P%)..-.. Z%,dat|
00000fc0  61 24 0d 0a 32 05 f5 0d  0a 37 09 5a 25 2b 3d 31  |a$..2....7.Z%+=1|
00000fd0  0d 0a 3c 23 f5 20 fd 20  a4 6d 6f 75 73 65 43 68  |..<#. . .mouseCh|
00000fe0  61 72 50 6f 73 69 74 69  6f 6e 28 58 25 2c 59 25  |arPosition(X%,Y%|
00000ff0  29 3d 34 0d 0a 41 0b c8  8e 20 59 25 20 ca 0d 0a  |)=4..A... Y% ...|
00001000  46 1a c9 20 32 30 3a 63  68 61 72 24 3d a4 74 6f  |F.. 20:char$=.to|
00001010  70 52 6f 77 28 58 25 29  0d 0a 4b 1a c9 20 32 32  |pRow(X%)..K.. 22|
00001020  3a 63 68 61 72 24 3d a4  72 65 74 75 72 6e 28 58  |:char$=.return(X|
00001030  25 29 0d 0a 50 1a c9 20  32 34 3a 63 68 61 72 24  |%)..P.. 24:char$|
00001040  3d a4 6d 69 64 52 6f 77  28 58 25 29 0d 0a 55 1a  |=.midRow(X%)..U.|
00001050  c9 20 32 36 3a 63 68 61  72 24 3d a4 64 65 6c 65  |. 26:char$=.dele|
00001060  74 65 28 58 25 29 0d 0a  5a 1d c9 20 32 38 3a 63  |te(X%)..Z.. 28:c|
00001070  68 61 72 24 3d a4 62 6f  74 74 6f 6d 52 6f 77 28  |har$=.bottomRow(|
00001080  58 25 29 0d 0a 64 26 c9  20 31 39 2c 32 31 2c 32  |X%)..d&. 19,21,2|
00001090  33 2c 32 35 2c 32 37 2c  32 39 2c 33 30 2c 33 31  |3,25,27,29,30,31|
000010a0  3a 63 68 61 72 24 3d 22  22 0d 0a 69 05 cb 0d 0a  |:char$=""..i....|
000010b0  6e 18 e7 20 63 68 61 72  24 3d 22 22 20 5a 25 2d  |n.. char$="" Z%-|
000010c0  3d 31 3a fd 20 a3 0d 0a  78 1f e7 20 63 68 61 72  |=1:. ...x.. char|
000010d0  24 3d 22 72 22 20 80 20  5a 25 3d 31 20 5a 25 3d  |$="r" . Z%=1 Z%=|
000010e0  30 3a fd 20 a3 0d 0a 87  53 e7 20 63 68 61 72 24  |0:. ....S. char$|
000010f0  3d 22 64 22 20 64 61 74  61 24 3d 22 22 3a 5a 25  |="d" data$="":Z%|
00001100  3d 30 3a f1 8a 31 35 2c  28 50 25 2d 31 29 2a 34  |=0:..15,(P%-1)*4|
00001110  2b 37 29 22 20 20 20 20  20 20 20 22 3a f2 6d 61  |+7)"       ":.ma|
00001120  6b 65 53 6f 75 6e 64 28  34 2c 2d 31 35 2c 33 30  |keSound(4,-15,30|
00001130  2c 31 30 29 3a fd 20 a3  0d 0a 8c 21 e7 20 5a 25  |,10):. ....!. Z%|
00001140  3d 38 20 80 20 63 68 61  72 24 3c 3e 22 72 22 20  |=8 . char$<>"r" |
00001150  5a 25 2d 3d 31 3a fd 20  a3 0d 0a 91 3a e7 20 63  |Z%-=1:. ....:. c|
00001160  68 61 72 24 3d 22 72 22  20 fd 20 63 68 61 72 24  |har$="r" . char$|
00001170  3d 22 72 22 3a f2 6d 61  6b 65 53 6f 75 6e 64 28  |="r":.makeSound(|
00001180  32 2c 2d 31 35 2c 33 30  2c 31 30 29 3a 3d 64 61  |2,-15,30,10):=da|
00001190  74 61 24 0d 0a 96 10 64  61 74 61 24 2b 3d 63 68  |ta$....data$+=ch|
000011a0  61 72 24 0d 0a 9b 19 f1  8a 31 35 2c 28 50 25 2d  |ar$......15,(P%-|
000011b0  31 29 2a 34 2b 37 29 64  61 74 61 24 0d 0a 9c 1b  |1)*4+7)data$....|
000011c0  f2 6d 61 6b 65 53 6f 75  6e 64 28 33 2c 2d 31 35  |.makeSound(3,-15|
000011d0  2c 39 30 2c 31 30 29 0d  0a 9e 05 cd 0d 0a a0 07  |,90,10).........|
000011e0  fd 20 a3 0d 0a a8 05 3a  0d 0a f0 19 dd a4 75 73  |. .....:......us|
000011f0  65 64 50 6c 61 79 65 72  28 50 31 24 2c 50 32 24  |edPlayer(P1$,P2$|
00001200  29 0d 0a f5 0b ea 20 75  73 65 64 25 0d 0a fa 0f  |)..... used%....|
00001210  e7 20 50 31 24 3d 50 32  24 20 8c 0d 0b 04 15 f1  |. P1$=P2$ ......|
00001220  8a 31 35 2c 31 31 29 22  55 73 65 64 20 20 20 22  |.15,11)"Used   "|
00001230  0d 0b 0e 12 ff 22 46 58  32 31 22 3a 49 3d a6 33  |....."FX21":I=.3|
00001240  30 30 0d 0b 18 0b 75 73  65 64 25 3d b9 0d 0b 1d  |00....used%=....|
00001250  15 f1 8a 31 35 2c 31 31  29 22 20 20 20 20 20 20  |...15,11)"      |
00001260  20 22 0d 0b 22 05 cd 0d  0b 2c 0a 3d 75 73 65 64  | ".."....,.=used|
00001270  25 0d 0b 51 05 3a 0d 0b  b8 10 dd a4 74 6f 70 52  |%..Q.:......topR|
00001280  6f 77 28 58 25 29 0d 0b  c2 19 e7 20 58 25 3e 3d  |ow(X%)..... X%>=|
00001290  33 20 80 20 58 25 3c 3d  35 20 8c 3d 22 51 22 0d  |3 . X%<=5 .="Q".|
000012a0  0b c7 1a e7 20 58 25 3e  3d 39 20 80 20 58 25 3c  |.... X%>=9 . X%<|
000012b0  3d 31 31 20 8c 3d 22 57  22 0d 0b cc 1b e7 20 58  |=11 .="W"..... X|
000012c0  25 3e 3d 31 35 20 80 20  58 25 3c 3d 31 37 20 8c  |%>=15 . X%<=17 .|
000012d0  3d 22 45 22 0d 0b d1 1b  e7 20 58 25 3e 3d 32 31  |="E"..... X%>=21|
000012e0  20 80 20 58 25 3c 3d 32  33 20 8c 3d 22 52 22 0d  | . X%<=23 .="R".|
000012f0  0b d6 1b e7 20 58 25 3e  3d 32 37 20 80 20 58 25  |.... X%>=27 . X%|
00001300  3c 3d 32 39 20 8c 3d 22  54 22 0d 0b db 1b e7 20  |<=29 .="T"..... |
00001310  58 25 3e 3d 33 33 20 80  20 58 25 3c 3d 33 35 20  |X%>=33 . X%<=35 |
00001320  8c 3d 22 59 22 0d 0b e0  1b e7 20 58 25 3e 3d 33  |.="Y"..... X%>=3|
00001330  39 20 80 20 58 25 3c 3d  34 31 20 8c 3d 22 55 22  |9 . X%<=41 .="U"|
00001340  0d 0b e5 1b e7 20 58 25  3e 3d 34 35 20 80 20 58  |..... X%>=45 . X|
00001350  25 3c 3d 34 37 20 8c 3d  22 49 22 0d 0b ea 1b e7  |%<=47 .="I".....|
00001360  20 58 25 3e 3d 35 31 20  80 20 58 25 3c 3d 35 33  | X%>=51 . X%<=53|
00001370  20 8c 3d 22 4f 22 0d 0b  ef 1b e7 20 58 25 3e 3d  | .="O"..... X%>=|
00001380  35 37 20 80 20 58 25 3c  3d 35 39 20 8c 3d 22 50  |57 . X%<=59 .="P|
00001390  22 0d 0b f4 07 3d 22 22  0d 0b f9 05 3a 0d 0c 1c  |"....=""....:...|
000013a0  10 dd a4 6d 69 64 52 6f  77 28 58 25 29 0d 0c 26  |...midRow(X%)..&|
000013b0  19 e7 20 58 25 3e 3d 34  20 80 20 58 25 3c 3d 36  |.. X%>=4 . X%<=6|
000013c0  20 8c 3d 22 41 22 0d 0c  2b 1b e7 20 58 25 3e 3d  | .="A"..+.. X%>=|
000013d0  31 30 20 80 20 58 25 3c  3d 31 32 20 8c 3d 22 53  |10 . X%<=12 .="S|
000013e0  22 0d 0c 30 1b e7 20 58  25 3e 3d 31 36 20 80 20  |"..0.. X%>=16 . |
000013f0  58 25 3c 3d 31 38 20 8c  3d 22 44 22 0d 0c 35 1b  |X%<=18 .="D"..5.|
00001400  e7 20 58 25 3e 3d 32 32  20 80 20 58 25 3c 3d 32  |. X%>=22 . X%<=2|
00001410  34 20 8c 3d 22 46 22 0d  0c 3a 1b e7 20 58 25 3e  |4 .="F"..:.. X%>|
00001420  3d 32 38 20 80 20 58 25  3c 3d 33 30 20 8c 3d 22  |=28 . X%<=30 .="|
00001430  47 22 0d 0c 3f 1b e7 20  58 25 3e 3d 33 34 20 80  |G"..?.. X%>=34 .|
00001440  20 58 25 3c 3d 33 36 20  8c 3d 22 48 22 0d 0c 44  | X%<=36 .="H"..D|
00001450  1b e7 20 58 25 3e 3d 34  30 20 80 20 58 25 3c 3d  |.. X%>=40 . X%<=|
00001460  34 32 20 8c 3d 22 4a 22  0d 0c 49 1b e7 20 58 25  |42 .="J"..I.. X%|
00001470  3e 3d 34 36 20 80 20 58  25 3c 3d 34 38 20 8c 3d  |>=46 . X%<=48 .=|
00001480  22 4b 22 0d 0c 4e 1b e7  20 58 25 3e 3d 35 32 20  |"K"..N.. X%>=52 |
00001490  80 20 58 25 3c 3d 35 34  20 8c 3d 22 4c 22 0d 0c  |. X%<=54 .="L"..|
000014a0  53 07 3d 22 22 0d 0c 55  05 3a 0d 0c 80 13 dd a4  |S.=""..U.:......|
000014b0  62 6f 74 74 6f 6d 52 6f  77 28 58 25 29 0d 0c 8a  |bottomRow(X%)...|
000014c0  19 e7 20 58 25 3e 3d 35  20 80 20 58 25 3c 3d 37  |.. X%>=5 . X%<=7|
000014d0  20 8c 3d 22 5a 22 0d 0c  8f 1b e7 20 58 25 3e 3d  | .="Z"..... X%>=|
000014e0  31 31 20 80 20 58 25 3c  3d 31 33 20 8c 3d 22 58  |11 . X%<=13 .="X|
000014f0  22 0d 0c 94 1b e7 20 58  25 3e 3d 31 37 20 80 20  |"..... X%>=17 . |
00001500  58 25 3c 3d 31 39 20 8c  3d 22 43 22 0d 0c 99 1b  |X%<=19 .="C"....|
00001510  e7 20 58 25 3e 3d 32 33  20 80 20 58 25 3c 3d 32  |. X%>=23 . X%<=2|
00001520  35 20 8c 3d 22 56 22 0d  0c 9e 1b e7 20 58 25 3e  |5 .="V"..... X%>|
00001530  3d 32 39 20 80 20 58 25  3c 3d 33 31 20 8c 3d 22  |=29 . X%<=31 .="|
00001540  42 22 0d 0c a3 1b e7 20  58 25 3e 3d 33 35 20 80  |B"..... X%>=35 .|
00001550  20 58 25 3c 3d 33 37 20  8c 3d 22 4e 22 0d 0c a8  | X%<=37 .="N"...|
00001560  1b e7 20 58 25 3e 3d 34  31 20 80 20 58 25 3c 3d  |.. X%>=41 . X%<=|
00001570  34 33 20 8c 3d 22 4d 22  0d 0c ad 07 3d 22 22 0d  |43 .="M"....="".|
00001580  0c af 05 3a 0d 0c e4 10  dd a4 72 65 74 75 72 6e  |...:......return|
00001590  28 58 25 29 0d 0c ee 1b  e7 20 58 25 3e 3d 36 35  |(X%)..... X%>=65|
000015a0  20 80 20 58 25 3c 3d 37  30 20 8c 3d 22 72 22 0d  | . X%<=70 .="r".|
000015b0  0c f8 07 3d 22 22 0d 0d  48 10 dd a4 64 65 6c 65  |...=""..H...dele|
000015c0  74 65 28 58 25 29 0d 0d  52 1b e7 20 58 25 3e 3d  |te(X%)..R.. X%>=|
000015d0  35 39 20 80 20 58 25 3c  3d 36 34 20 8c 3d 22 64  |59 . X%<=64 .="d|
000015e0  22 0d 0d 5c 07 3d 22 22  0d 0d 63 05 3a 0d 0f a0  |"..\.=""..c.:...|
000015f0  0a dd f2 70 6c 61 79 0d  0f a2 22 ea 20 6d 61 74  |...play...". mat|
00001600  63 68 25 2c 66 69 72 73  74 54 69 6d 65 25 2c 61  |ch%,firstTime%,a|
00001610  6c 6c 50 61 69 72 65 64  25 0d 0f a3 10 66 69 72  |llPaired%....fir|
00001620  73 74 54 69 6d 65 25 3d  b9 0d 0f a5 0f e6 20 35  |stTime%=...... 5|
00001630  32 20 c8 9c 20 31 32 38  0d 0f a7 0e 73 63 6f 72  |2 .. 128....scor|
00001640  65 25 28 29 3d 30 0d 0f  aa 16 c8 93 20 c8 90 20  |e%()=0...... .. |
00001650  30 2c 30 2c 31 32 38 30  2c 38 33 30 0d 0f af 05  |0,0,1280,830....|
00001660  f5 0d 0f b1 29 70 61 69  72 65 64 25 3d 30 3a 61  |....)paired%=0:a|
00001670  6c 6c 50 61 69 72 65 64  25 3d a3 3a 6a 6f 6b 65  |llPaired%=.:joke|
00001680  72 73 46 6f 75 6e 64 25  3d 30 0d 0f b4 13 f2 73  |rsFound%=0.....s|
00001690  65 74 47 61 6d 65 44 69  73 70 6c 61 79 0d 0f d2  |etGameDisplay...|
000016a0  13 f2 73 65 74 52 61 6e  64 6f 6d 43 61 72 64 73  |..setRandomCards|
000016b0  0d 0f e1 19 fb 20 30 20  c8 9c 20 30 3a fb 20 31  |..... 0 .. 0:. 1|
000016c0  33 32 20 c8 9c 20 31 32  38 0d 0f e3 12 e7 20 66  |32 .. 128..... f|
000016d0  69 72 73 74 54 69 6d 65  25 20 8c 0d 0f e6 38 f2  |irstTime% ....8.|
000016e0  70 43 65 6e 74 72 65 28  22 43 6c 69 63 6b 20 27  |pCentre("Click '|
000016f0  53 45 4c 45 43 54 27 20  74 6f 20 66 69 6e 64 20  |SELECT' to find |
00001700  77 68 6f 20 67 6f 65 73  20 66 69 72 73 74 22 2c  |who goes first",|
00001710  33 30 29 0d 0f e8 23 f5  20 fd 20 a4 6d 6f 75 73  |30)...#. . .mous|
00001720  65 43 68 61 72 50 6f 73  69 74 69 6f 6e 28 58 25  |eCharPosition(X%|
00001730  2c 59 25 29 3d 34 0d 0f  ea 1d 70 6c 61 79 65 72  |,Y%)=4....player|
00001740  25 3d b3 28 32 29 3a 66  69 72 73 74 54 69 6d 65  |%=.(2):firstTime|
00001750  25 3d a3 0d 0f eb 05 cd  0d 0f ec 1a f2 6d 61 6b  |%=...........mak|
00001760  65 53 6f 75 6e 64 28 32  2c 2d 31 35 2c 35 2c 32  |eSound(2,-15,5,2|
00001770  30 29 0d 0f ed 45 f2 70  43 65 6e 74 72 65 28 c4  |0)...E.pCentre(.|
00001780  34 2c 22 2a 20 20 22 29  2b 70 6c 61 79 65 72 24  |4,"*  ")+player$|
00001790  28 70 6c 61 79 65 72 25  29 2b 22 20 74 6f 20 67  |(player%)+" to g|
000017a0  6f 20 66 69 72 73 74 20  22 2b c4 34 2c 22 20 20  |o first "+.4,"  |
000017b0  2a 22 29 2c 33 30 29 0d  0f ee 11 d1 3d 30 3a f5  |*"),30).....=0:.|
000017c0  20 fd 20 91 3e 32 30 30  0d 10 04 05 f5 0d 10 18  | . .>200........|
000017d0  21 6d 61 74 63 68 25 3d  a4 67 65 74 50 6c 61 79  |!match%=.getPlay|
000017e0  65 72 73 47 6f 28 70 6c  61 79 65 72 25 29 0d 10  |ersGo(player%)..|
000017f0  1c 29 e7 20 6d 61 74 63  68 25 3d 2d 32 3a fd 20  |.). match%=-2:. |
00001800  6d 61 74 63 68 25 3d 2d  32 3a fd 20 6d 61 74 63  |match%=-2:. matc|
00001810  68 25 3d 2d 32 3a e1 0d  10 2c 87 e7 20 73 63 6f  |h%=-2:...,.. sco|
00001820  72 65 25 28 70 6c 61 79  65 72 25 29 3e 3d 74 61  |re%(player%)>=ta|
00001830  72 67 65 74 25 20 fd 20  73 63 6f 72 65 25 28 70  |rget% . score%(p|
00001840  6c 61 79 65 72 25 29 3e  3d 74 61 72 67 65 74 25  |layer%)>=target%|
00001850  3a fd 20 73 63 6f 72 65  25 28 70 6c 61 79 65 72  |:. score%(player|
00001860  25 29 3e 3d 74 61 72 67  65 74 25 3a f2 64 69 73  |%)>=target%:.dis|
00001870  70 6c 61 79 57 69 6e 6e  65 72 28 70 6c 61 79 65  |playWinner(playe|
00001880  72 24 28 70 6c 61 79 65  72 25 29 2c 73 63 6f 72  |r$(player%),scor|
00001890  65 25 28 70 6c 61 79 65  72 25 29 29 3a e1 0d 10  |e%(player%)):...|
000018a0  2f 2f e7 20 70 61 69 72  65 64 25 3e 32 37 20 61  |//. paired%>27 a|
000018b0  6c 6c 50 61 69 72 65 64  25 3d a4 61 6c 6c 50 61  |llPaired%=.allPa|
000018c0  69 72 65 64 28 70 61 69  72 65 64 25 29 0d 10 30  |ired(paired%)..0|
000018d0  2f e7 20 61 6c 6c 50 61  69 72 65 64 25 20 fd 20  |/. allPaired% . |
000018e0  61 6c 6c 50 61 69 72 65  64 25 3a f2 73 68 6f 77  |allPaired%:.show|
000018f0  55 6e 50 61 69 72 65 64  3a fd 20 a3 0d 10 31 10  |UnPaired:. ...1.|
00001900  e7 20 6d 61 74 63 68 25  20 fd 20 a3 0d 10 36 2b  |. match% . ...6+|
00001910  70 6c 61 79 65 72 25 3d  70 6c 61 79 65 72 25 2b  |player%=player%+|
00001920  31 3a e7 20 70 6c 61 79  65 72 25 3e 32 20 70 6c  |1:. player%>2 pl|
00001930  61 79 65 72 25 3d 31 0d  10 4a 07 fd 20 a3 0d 10  |ayer%=1..J.. ...|
00001940  66 05 3a 0d 11 30 0f dd  a4 73 6f 75 6e 64 28 53  |f.:..0...sound(S|
00001950  25 29 0d 11 3a 10 ea 20  73 6f 6e 6f 66 66 61 72  |%)..:.. sonoffar|
00001960  65 61 0d 11 44 0a 53 25  3d ac 53 25 0d 11 4e 17  |ea..D.S%=.S%..N.|
00001970  ec 20 35 30 30 2c 35 30  30 3a ec 20 37 38 30 2c  |. 500,500:. 780,|
00001980  34 32 30 0d 11 53 14 2a  53 47 65 74 20 73 6f 6e  |420..S.*SGet son|
00001990  6f 66 66 61 72 65 61 0d  11 58 24 e6 20 36 34 20  |offarea..X$. 64 |
000019a0  c8 9c 20 31 39 32 3a c8  93 20 c8 90 20 35 31 30  |.. 192:.. .. 510|
000019b0  2c 34 32 30 2c 32 37 30  2c 37 30 0d 11 5d 24 e6  |,420,270,70..]$.|
000019c0  20 36 33 20 c8 9c 20 31  32 38 3a c8 93 20 c8 90  | 63 .. 128:.. ..|
000019d0  20 35 30 30 2c 34 33 30  2c 32 37 30 2c 37 30 0d  | 500,430,270,70.|
000019e0  11 5f 21 e6 20 34 39 20  c8 9c 20 31 32 38 3a c8  |._!. 49 .. 128:.|
000019f0  93 20 35 30 35 2c 34 33  35 2c 32 36 30 2c 36 30  |. 505,435,260,60|
00001a00  0d 11 62 3c fb 20 32 20  c8 9c 20 31 32 38 3a fb  |..b<. 2 .. 128:.|
00001a10  20 31 39 31 20 c8 9c 20  31 32 38 3a f2 70 43 65  | 191 .. 128:.pCe|
00001a20  6e 74 72 65 28 22 53 6f  75 6e 64 20 22 2b 73 6e  |ntre("Sound "+sn|
00001a30  64 24 28 53 25 2b 31 29  2c 31 37 29 0d 11 6c 26  |d$(S%+1),17)..l&|
00001a40  e7 20 53 25 20 8c 20 ff  22 56 6f 6c 75 6d 65 20  |. S% . ."Volume |
00001a50  31 32 37 22 20 8b 20 ff  22 56 6f 6c 75 6d 65 20  |127" . ."Volume |
00001a60  31 22 0d 11 71 11 d1 3d  30 3a f5 20 fd 20 91 3e  |1"..q..=0:. . .>|
00001a70  33 30 30 0d 11 76 17 2a  53 43 68 6f 6f 73 65 20  |300..v.*SChoose |
00001a80  73 6f 6e 6f 66 66 61 72  65 61 0d 11 7b 11 f0 20  |sonoffarea..{.. |
00001a90  26 45 44 2c 35 30 30 2c  34 32 30 0d 11 80 17 2a  |&ED,500,420....*|
00001aa0  53 44 65 6c 65 74 65 20  73 6f 6e 6f 66 66 61 72  |SDelete sonoffar|
00001ab0  65 61 0d 11 8a 07 3d 53  25 0d 11 8f 05 3a 0d 13  |ea....=S%....:..|
00001ac0  88 14 dd f2 73 65 74 47  61 6d 65 44 69 73 70 6c  |....setGameDispl|
00001ad0  61 79 0d 13 8d 08 ea 20  5a 25 0d 13 8f 1b fb 20  |ay..... Z%..... |
00001ae0  30 20 c8 9c 20 31 32 38  3a fb 20 31 33 35 20 c8  |0 .. 128:. 135 .|
00001af0  9c 20 31 32 38 0d 13 92  0e e3 20 5a 25 3d 31 20  |. 128..... Z%=1 |
00001b00  b8 20 32 0d 13 97 2d f2  70 6c 69 6e 74 68 28 28  |. 2...-.plinth((|
00001b10  5a 25 2d 31 29 2a 37 33  30 2b 31 31 35 2c 37 34  |Z%-1)*730+115,74|
00001b20  35 2c 33 32 30 2c 38 30  2c 31 30 2c 37 2c b9 29  |5,320,80,10,7,.)|
00001b30  0d 13 9c 30 f1 8a 28 5a  25 2d 31 29 2a 34 35 2b  |...0..(Z%-1)*45+|
00001b40  31 31 2c 37 29 70 6c 61  79 65 72 24 28 5a 25 29  |11,7)player$(Z%)|
00001b50  22 20 3a 20 22 3b 73 63  6f 72 65 25 28 5a 25 29  |" : ";score%(Z%)|
00001b60  0d 13 a1 05 ed 0d 13 a6  22 f2 70 6c 69 6e 74 68  |........".plinth|
00001b70  28 35 30 30 2c 37 34 35  2c 32 38 30 2c 38 30 2c  |(500,745,280,80,|
00001b80  31 30 2c 32 2c b9 29 0d  13 ab 10 fb 20 31 33 30  |10,2,.)..... 130|
00001b90  20 c8 9c 20 31 32 38 0d  13 b0 24 f2 70 43 65 6e  | .. 128...$.pCen|
00001ba0  74 72 65 28 22 54 61 72  67 65 74 20 3d 20 22 2b  |tre("Target = "+|
00001bb0  c3 74 61 72 67 65 74 25  2c 37 29 0d 13 ec 0e e3  |.target%,7).....|
00001bc0  20 59 25 3d 31 20 b8 20  36 0d 13 f6 0f e3 20 58  | Y%=1 . 6..... X|
00001bd0  25 3d 31 20 b8 20 31 30  0d 14 00 38 f2 70 6c 69  |%=1 . 10...8.pli|
00001be0  6e 74 68 28 28 58 25 2d  31 29 2a 31 32 35 2b 32  |nth((X%-1)*125+2|
00001bf0  30 2c 28 59 25 2d 31 29  2a 31 31 30 2b 38 30 2c  |0,(Y%-1)*110+80,|
00001c00  31 31 35 2c 31 30 30 2c  31 30 2c 32 31 2c b9 29  |115,100,10,21,.)|
00001c10  0d 14 14 05 ed 0d 14 1e  05 ed 0d 14 28 1f f2 70  |............(..p|
00001c20  6c 69 6e 74 68 28 32 30  30 2c 35 2c 38 38 30 2c  |linth(200,5,880,|
00001c30  37 30 2c 38 2c 34 2c b9  29 0d 14 46 05 e1 0d 14  |70,8,4,.)..F....|
00001c40  4b 05 3a 0d 14 50 14 dd  f2 73 65 74 52 61 6e 64  |K.:..P...setRand|
00001c50  6f 6d 43 61 72 64 73 0d  14 52 1b fb 20 30 20 c8  |omCards..R.. 0 .|
00001c60  9c 20 31 32 38 3a fb 20  31 33 32 20 c8 9c 20 31  |. 128:. 132 .. 1|
00001c70  32 38 0d 14 5a 0b ea 20  58 25 2c 5a 25 0d 14 5e  |28..Z.. X%,Z%..^|
00001c80  30 74 65 6d 70 53 70 72  69 74 65 73 25 28 29 3d  |0tempSprites%()=|
00001c90  30 3a 75 73 65 53 70 72  69 74 65 73 25 28 29 3d  |0:useSprites%()=|
00001ca0  30 3a 73 69 6e 67 6c 65  25 28 29 3d 30 0d 14 61  |0:single%()=0..a|
00001cb0  21 f2 72 65 73 65 74 53  70 72 69 74 65 73 28 6e  |!.resetSprites(n|
00001cc0  75 6d 62 65 72 53 70 72  69 74 65 73 25 29 0d 14  |umberSprites%)..|
00001cd0  64 13 e3 20 5a 25 3d 30  20 b8 20 35 34 20 88 20  |d.. Z%=0 . 54 . |
00001ce0  32 0d 14 69 4f 74 65 6d  70 53 70 72 69 74 65 73  |2..iOtempSprites|
00001cf0  25 28 5a 25 29 3d b3 28  6e 75 6d 62 65 72 53 70  |%(Z%)=.(numberSp|
00001d00  72 69 74 65 73 25 29 2d  31 3a e7 20 73 70 72 69  |rites%)-1:. spri|
00001d10  74 65 73 25 28 74 65 6d  70 53 70 72 69 74 65 73  |tes%(tempSprites|
00001d20  25 28 5a 25 29 29 3d 2d  31 20 8c 20 8d 44 69 54  |%(Z%))=-1 . .DiT|
00001d30  0d 14 73 21 73 70 72 69  74 65 73 25 28 74 65 6d  |..s!sprites%(tem|
00001d40  70 53 70 72 69 74 65 73  25 28 5a 25 29 29 3d 2d  |pSprites%(Z%))=-|
00001d50  31 0d 14 75 27 74 65 6d  70 53 70 72 69 74 65 73  |1..u'tempSprites|
00001d60  25 28 5a 25 2b 31 29 3d  74 65 6d 70 53 70 72 69  |%(Z%+1)=tempSpri|
00001d70  74 65 73 25 28 5a 25 29  0d 14 78 05 ed 0d 14 7d  |tes%(Z%)..x....}|
00001d80  6d 74 65 6d 70 53 70 72  69 74 65 73 25 28 35 36  |mtempSprites%(56|
00001d90  29 3d b3 28 6e 75 6d 62  65 72 53 70 72 69 74 65  |)=.(numberSprite|
00001da0  73 25 29 2d 31 3a e7 20  73 70 72 69 74 65 73 25  |s%)-1:. sprites%|
00001db0  28 74 65 6d 70 53 70 72  69 74 65 73 25 28 35 36  |(tempSprites%(56|
00001dc0  29 29 3d 2d 31 20 8c 20  8d 44 7d 54 20 8b 20 73  |))=-1 . .D}T . s|
00001dd0  69 6e 67 6c 65 25 28 31  29 3d 74 65 6d 70 53 70  |ingle%(1)=tempSp|
00001de0  72 69 74 65 73 25 28 35  36 29 0d 14 82 6d 74 65  |rites%(56)...mte|
00001df0  6d 70 53 70 72 69 74 65  73 25 28 35 37 29 3d b3  |mpSprites%(57)=.|
00001e00  28 6e 75 6d 62 65 72 53  70 72 69 74 65 73 25 29  |(numberSprites%)|
00001e10  2d 31 3a e7 20 73 70 72  69 74 65 73 25 28 74 65  |-1:. sprites%(te|
00001e20  6d 70 53 70 72 69 74 65  73 25 28 35 37 29 29 3d  |mpSprites%(57))=|
00001e30  2d 31 20 8c 20 8d 74 42  54 20 8b 20 73 69 6e 67  |-1 . .tBT . sing|
00001e40  6c 65 25 28 32 29 3d 74  65 6d 70 53 70 72 69 74  |le%(2)=tempSprit|
00001e50  65 73 25 28 35 37 29 0d  14 87 43 74 65 6d 70 53  |es%(57)...CtempS|
00001e60  70 72 69 74 65 73 25 28  35 38 29 3d 6e 75 6d 62  |prites%(58)=numb|
00001e70  65 72 53 70 72 69 74 65  73 25 3a 74 65 6d 70 53  |erSprites%:tempS|
00001e80  70 72 69 74 65 73 25 28  35 39 29 3d 6e 75 6d 62  |prites%(59)=numb|
00001e90  65 72 53 70 72 69 74 65  73 25 0d 14 8c 0f e3 20  |erSprites%..... |
00001ea0  5a 25 3d 30 20 b8 20 35  39 0d 14 91 2b 58 25 3d  |Z%=0 . 59...+X%=|
00001eb0  b3 28 36 30 29 2d 31 3a  e7 20 74 65 6d 70 53 70  |.(60)-1:. tempSp|
00001ec0  72 69 74 65 73 25 28 58  25 29 3d 2d 31 20 8c 20  |rites%(X%)=-1 . |
00001ed0  8d 74 51 54 0d 14 96 24  75 73 65 53 70 72 69 74  |.tQT...$useSprit|
00001ee0  65 73 25 28 5a 25 29 3d  74 65 6d 70 53 70 72 69  |es%(Z%)=tempSpri|
00001ef0  74 65 73 25 28 58 25 29  0d 14 9b 17 74 65 6d 70  |tes%(X%)....temp|
00001f00  53 70 72 69 74 65 73 25  28 58 25 29 3d 2d 31 0d  |Sprites%(X%)=-1.|
00001f10  14 a0 05 ed 0d 14 af 05  e1 0d 14 b3 05 3a 0d 17  |.............:..|
00001f20  70 16 dd a4 67 65 74 50  6c 61 79 65 72 73 47 6f  |p...getPlayersGo|
00001f30  28 50 25 29 0d 17 75 15  ea 20 5a 25 2c 6d 61 74  |(P%)..u.. Z%,mat|
00001f40  63 68 25 2c 71 75 69 74  25 0d 17 7a 10 63 68 6f  |ch%,quit%..z.cho|
00001f50  69 63 65 25 28 29 3d 2d  31 0d 17 7e 0e e3 20 5a  |ice%()=-1..~.. Z|
00001f60  25 3d 31 20 b8 20 32 0d  17 80 19 fb 20 30 20 c8  |%=1 . 2..... 0 .|
00001f70  9c 20 30 3a fb 20 31 33  32 20 c8 9c 20 31 32 38  |. 0:. 132 .. 128|
00001f80  0d 17 82 a7 e7 20 5a 25  3d 31 20 f2 70 43 65 6e  |..... Z%=1 .pCen|
00001f90  74 72 65 28 22 20 20 20  22 2b 70 6c 61 79 65 72  |tre("   "+player|
00001fa0  24 28 50 25 29 2b 22 20  3a 20 50 6c 65 61 73 65  |$(P%)+" : Please|
00001fb0  20 63 6c 69 63 6b 20 27  53 45 4c 45 43 54 27 20  | click 'SELECT' |
00001fc0  6f 6e 20 66 69 72 73 74  20 63 68 6f 69 63 65 20  |on first choice |
00001fd0  20 20 22 2c 33 30 29 20  8b 20 f2 70 43 65 6e 74  |  ",30) . .pCent|
00001fe0  72 65 28 22 20 20 20 22  2b 70 6c 61 79 65 72 24  |re("   "+player$|
00001ff0  28 50 25 29 2b 22 20 3a  20 50 6c 65 61 73 65 20  |(P%)+" : Please |
00002000  63 6c 69 63 6b 20 27 53  45 4c 45 43 54 27 20 6f  |click 'SELECT' o|
00002010  6e 20 73 65 63 6f 6e 64  20 63 68 6f 69 63 65 20  |n second choice |
00002020  20 20 22 2c 33 30 29 0d  17 84 14 f5 20 c8 97 20  |  ",30)..... .. |
00002030  78 2c 79 2c 62 3a fd 20  62 3d 30 0d 17 89 0f f5  |x,y,b:. b=0.....|
00002040  20 ff 22 46 58 32 31 20  39 22 0d 17 8b 0c c8 97  | ."FX21 9"......|
00002050  20 78 2c 79 2c 62 0d 17  8e 0a c8 8e 20 62 20 ca  | x,y,b...... b .|
00002060  0d 17 90 1d c9 20 31 3a  73 6f 75 6e 64 25 3d a4  |..... 1:sound%=.|
00002070  73 6f 75 6e 64 28 73 6f  75 6e 64 25 29 0d 17 93  |sound(sound%)...|
00002080  1c c9 20 32 3a 71 75 69  74 25 3d a4 71 75 69 74  |.. 2:quit%=.quit|
00002090  4d 65 6e 75 28 78 2c 79  29 0d 17 95 27 c9 20 34  |Menu(x,y)...'. 4|
000020a0  3a 63 68 6f 69 63 65 25  28 5a 25 29 3d a4 63 61  |:choice%(Z%)=.ca|
000020b0  72 64 43 68 6f 69 63 65  28 78 2c 79 2c 5a 25 29  |rdChoice(x,y,Z%)|
000020c0  0d 17 98 05 cb 0d 17 9e  1e e7 20 71 75 69 74 25  |.......... quit%|
000020d0  20 fd 20 71 75 69 74 25  3a 5a 25 3d 32 3a ed 3a  | . quit%:Z%=2:.:|
000020e0  3d 2d 32 0d 17 ac 14 fd  20 63 68 6f 69 63 65 25  |=-2..... choice%|
000020f0  28 5a 25 29 3e 2d 31 0d  17 b6 1a f2 74 75 72 6e  |(Z%)>-1.....turn|
00002100  43 61 72 64 28 63 68 6f  69 63 65 25 28 5a 25 29  |Card(choice%(Z%)|
00002110  29 0d 17 ca 05 ed 0d 17  cf 20 3d a4 63 68 65 63  |)........ =.chec|
00002120  6b 43 68 6f 69 63 65 73  28 63 68 6f 69 63 65 25  |kChoices(choice%|
00002130  28 29 2c 50 25 29 0d 17  d1 05 3a 0d 1b 58 19 dd  |(),P%)....:..X..|
00002140  a4 63 61 72 64 43 68 6f  69 63 65 28 78 2c 79 2c  |.cardChoice(x,y,|
00002150  67 6f 25 29 0d 1b 5a 08  ea 20 43 25 0d 1b 62 14  |go%)..Z.. C%..b.|
00002160  e7 20 b0 78 2c 79 29 3c  3e 32 31 20 8c 3d 2d 31  |. .x,y)<>21 .=-1|
00002170  0d 1b 6c 2f 43 25 3d 28  28 28 28 79 2d 38 30 29  |..l/C%=((((y-80)|
00002180  20 81 20 31 31 30 29 2a  31 30 29 2b 28 28 78 2d  | . 110)*10)+((x-|
00002190  32 30 29 20 81 20 31 32  35 29 2b 31 29 2d 31 0d  |20) . 125)+1)-1.|
000021a0  1b 71 21 e7 20 67 6f 25  3d 32 20 e7 20 63 68 6f  |.q!. go%=2 . cho|
000021b0  69 63 65 25 28 31 29 3d  43 25 20 20 8c 3d 2d 31  |ice%(1)=C%  .=-1|
000021c0  0d 1b 76 07 3d 43 25 0d  1b bb 05 3a 0d 1c 20 12  |..v.=C%....:.. .|
000021d0  dd f2 74 75 72 6e 43 61  72 64 28 43 25 29 0d 1c  |..turnCard(C%)..|
000021e0  34 5b c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |4[.. "OS_SpriteO|
000021f0  70 22 2c 32 39 30 2c 73  70 72 69 74 65 41 72 65  |p",290,spriteAre|
00002200  61 2c c3 28 75 73 65 53  70 72 69 74 65 73 25 28  |a,.(useSprites%(|
00002210  43 25 29 29 2c 28 28 43  25 20 83 20 31 30 29 29  |C%)),((C% . 10))|
00002220  2a 31 32 35 2b 34 35 2c  28 43 25 20 81 20 31 30  |*125+45,(C% . 10|
00002230  29 2a 31 31 30 2b 31 30  30 0d 1c 5c 05 e1 0d 1c  |)*110+100..\....|
00002240  61 05 3a 0d 1c e8 1b dd  a4 63 68 65 63 6b 43 68  |a.:......checkCh|
00002250  6f 69 63 65 73 28 43 25  28 29 2c 50 25 29 0d 1c  |oices(C%(),P%)..|
00002260  ed 0f ea 20 5a 25 2c 65  78 74 72 61 25 0d 1c f2  |... Z%,extra%...|
00002270  19 fb 20 30 20 c8 9c 20  30 3a fb 20 31 33 32 20  |.. 0 .. 0:. 132 |
00002280  c8 9c 20 31 32 38 0d 1c  f7 4d e7 20 75 73 65 53  |.. 128...M. useS|
00002290  70 72 69 74 65 73 25 28  43 25 28 31 29 29 3d 6e  |prites%(C%(1))=n|
000022a0  75 6d 62 65 72 53 70 72  69 74 65 73 25 20 80 20  |umberSprites% . |
000022b0  75 73 65 53 70 72 69 74  65 73 25 28 43 25 28 32  |useSprites%(C%(2|
000022c0  29 29 3d 6e 75 6d 62 65  72 53 70 72 69 74 65 73  |))=numberSprites|
000022d0  25 20 8c 0d 1c fc 37 f2  70 43 65 6e 74 72 65 28  |% ....7.pCentre(|
000022e0  c4 31 35 2c 22 20 22 29  2b 22 43 61 6e 27 74 20  |.15," ")+"Can't |
000022f0  6d 61 74 63 68 20 4a 6f  6b 65 72 73 22 2b c4 31  |match Jokers"+.1|
00002300  35 2c 22 20 22 29 2c 33  30 29 0d 1d 01 0f f2 64  |5," "),30).....d|
00002310  65 6c 61 79 28 32 30 30  29 0d 1d 06 13 f2 74 75  |elay(200).....tu|
00002320  72 6e 42 61 63 6b 28 43  25 28 29 29 0d 1d 0b 06  |rnBack(C%())....|
00002330  3d a3 0d 1d 10 05 cd 0d  1d 15 2d e7 20 75 73 65  |=.........-. use|
00002340  53 70 72 69 74 65 73 25  28 43 25 28 31 29 29 3d  |Sprites%(C%(1))=|
00002350  75 73 65 53 70 72 69 74  65 73 25 28 43 25 28 32  |useSprites%(C%(2|
00002360  29 29 20 8c 0d 1d 1a 41  f2 70 43 65 6e 74 72 65  |)) ....A.pCentre|
00002370  28 c4 31 30 2c 22 20 22  29 2b 22 41 20 6d 61 74  |(.10," ")+"A mat|
00002380  63 68 20 3a 20 57 65 6c  6c 20 64 6f 6e 65 20 32  |ch : Well done 2|
00002390  20 50 6f 69 6e 74 73 22  2b c4 31 30 2c 22 20 22  | Points"+.10," "|
000023a0  29 2c 33 30 29 0d 1d 1f  11 73 63 6f 72 65 25 28  |),30)....score%(|
000023b0  50 25 29 2b 3d 32 0d 1d  24 14 f2 6d 61 74 63 68  |P%)+=2..$..match|
000023c0  53 6f 75 6e 64 28 31 30  30 29 0d 1d 29 0f f2 64  |Sound(100)..)..d|
000023d0  65 6c 61 79 28 33 30 30  29 0d 1d 2e 17 f2 65 72  |elay(300).....er|
000023e0  61 73 65 50 6c 69 6e 74  68 73 28 43 25 28 29 29  |asePlinths(C%())|
000023f0  0d 1d 33 1f f2 75 70 64  61 74 65 53 63 6f 72 65  |..3..updateScore|
00002400  28 50 25 2c 73 63 6f 72  65 25 28 50 25 29 29 0d  |(P%,score%(P%)).|
00002410  1d 38 0e 70 61 69 72 65  64 25 2b 3d 31 0d 1d 3d  |.8.paired%+=1..=|
00002420  06 3d b9 0d 1d 42 05 cd  0d 1d 47 4d e7 20 75 73  |.=...B....GM. us|
00002430  65 53 70 72 69 74 65 73  25 28 43 25 28 31 29 29  |eSprites%(C%(1))|
00002440  3d 6e 75 6d 62 65 72 53  70 72 69 74 65 73 25 20  |=numberSprites% |
00002450  84 20 75 73 65 53 70 72  69 74 65 73 25 28 43 25  |. useSprites%(C%|
00002460  28 32 29 29 3d 6e 75 6d  62 65 72 53 70 72 69 74  |(2))=numberSprit|
00002470  65 73 25 20 8c 0d 1d 4c  13 6a 6f 6b 65 72 73 46  |es% ...L.jokersF|
00002480  6f 75 6e 64 25 2b 3d 31  0d 1d 51 0e e3 20 5a 25  |ound%+=1..Q.. Z%|
00002490  3d 31 20 b8 20 32 0d 1d  56 6a e7 20 75 73 65 53  |=1 . 2..Vj. useS|
000024a0  70 72 69 74 65 73 25 28  43 25 28 31 29 29 3d 73  |prites%(C%(1))=s|
000024b0  69 6e 67 6c 65 25 28 5a  25 29 20 84 20 75 73 65  |ingle%(Z%) . use|
000024c0  53 70 72 69 74 65 73 25  28 43 25 28 32 29 29 3d  |Sprites%(C%(2))=|
000024d0  73 69 6e 67 6c 65 25 28  5a 25 29 20 73 63 6f 72  |single%(Z%) scor|
000024e0  65 25 28 50 25 29 2b 3d  32 3a 65 78 74 72 61 25  |e%(P%)+=2:extra%|
000024f0  3d b9 3a 73 69 6e 67 6c  65 25 28 5a 25 29 3d b9  |=.:single%(Z%)=.|
00002500  0d 1d 5b 05 ed 0d 1d 60  61 e7 20 ac 28 65 78 74  |..[....`a. .(ext|
00002510  72 61 25 29 20 80 20 6a  6f 6b 65 72 73 46 6f 75  |ra%) . jokersFou|
00002520  6e 64 25 3c 32 20 73 69  6e 67 6c 65 25 28 33 29  |nd%<2 single%(3)|
00002530  3d a4 61 6e 6f 74 68 65  72 53 69 6e 67 6c 65 28  |=.anotherSingle(|
00002540  75 73 65 53 70 72 69 74  65 73 25 28 43 25 28 31  |useSprites%(C%(1|
00002550  29 29 2c 75 73 65 53 70  72 69 74 65 73 25 28 43  |)),useSprites%(C|
00002560  25 28 32 29 29 29 0d 1d  65 94 e7 20 6a 6f 6b 65  |%(2)))..e.. joke|
00002570  72 73 46 6f 75 6e 64 25  3d 32 20 80 20 ac 28 65  |rsFound%=2 . .(e|
00002580  78 74 72 61 25 29 20 80  20 ac 28 73 69 6e 67 6c  |xtra%) . .(singl|
00002590  65 25 28 33 29 29 20 e7  20 75 73 65 53 70 72 69  |e%(3)) . useSpri|
000025a0  74 65 73 25 28 43 25 28  31 29 29 3d 73 69 6e 67  |tes%(C%(1))=sing|
000025b0  6c 65 25 28 33 29 20 84  20 75 73 65 53 70 72 69  |le%(3) . useSpri|
000025c0  74 65 73 25 28 43 25 28  32 29 29 3d 73 69 6e 67  |tes%(C%(2))=sing|
000025d0  6c 65 25 28 33 29 20 73  63 6f 72 65 25 28 50 25  |le%(3) score%(P%|
000025e0  29 2b 3d 32 3a 65 78 74  72 61 25 3d b9 3a 73 69  |)+=2:extra%=.:si|
000025f0  6e 67 6c 65 25 28 33 29  3d b9 0d 1d 6a 11 73 63  |ngle%(3)=...j.sc|
00002600  6f 72 65 25 28 50 25 29  2b 3d 32 0d 1d 6f 98 e7  |ore%(P%)+=2..o..|
00002610  20 65 78 74 72 61 25 20  f2 70 43 65 6e 74 72 65  | extra% .pCentre|
00002620  28 c4 34 2c 22 20 22 29  2b 22 41 20 6d 61 74 63  |(.4," ")+"A matc|
00002630  68 20 3a 20 4a 6f 6b 65  72 20 26 20 73 69 6e 67  |h : Joker & sing|
00002640  6c 65 20 63 61 72 64 20  3a 20 34 20 50 6f 69 6e  |le card : 4 Poin|
00002650  74 73 22 2b c4 34 2c 22  20 22 29 2c 33 30 29 20  |ts"+.4," "),30) |
00002660  8b 20 f2 70 43 65 6e 74  72 65 28 c4 38 2c 22 20  |. .pCentre(.8," |
00002670  22 29 2b 22 41 20 4a 6f  6b 65 72 20 6d 61 74 63  |")+"A Joker matc|
00002680  68 20 3a 20 57 65 6c 6c  20 64 6f 6e 65 20 32 20  |h : Well done 2 |
00002690  50 6f 69 6e 74 73 22 2b  c4 38 2c 22 20 22 29 2c  |Points"+.8," "),|
000026a0  33 30 29 0d 1d 74 14 f2  6d 61 74 63 68 53 6f 75  |30)..t..matchSou|
000026b0  6e 64 28 31 30 30 29 0d  1d 79 0f f2 64 65 6c 61  |nd(100)..y..dela|
000026c0  79 28 33 30 30 29 0d 1d  7e 17 f2 65 72 61 73 65  |y(300)..~..erase|
000026d0  50 6c 69 6e 74 68 73 28  43 25 28 29 29 0d 1d 83  |Plinths(C%())...|
000026e0  1f f2 75 70 64 61 74 65  53 63 6f 72 65 28 50 25  |..updateScore(P%|
000026f0  2c 73 63 6f 72 65 25 28  50 25 29 29 0d 1d 88 0e  |,score%(P%))....|
00002700  70 61 69 72 65 64 25 2b  3d 31 0d 1d 8d 06 3d b9  |paired%+=1....=.|
00002710  0d 1d 92 05 cd 0d 1d 97  2d f2 70 43 65 6e 74 72  |........-.pCentr|
00002720  65 28 c4 32 30 2c 22 20  22 29 2b 22 4e 6f 20 6d  |e(.20," ")+"No m|
00002730  61 74 63 68 22 2b c4 32  30 2c 22 20 22 29 2c 33  |atch"+.20," "),3|
00002740  30 29 0d 1d 9c 0f f2 64  65 6c 61 79 28 32 30 30  |0).....delay(200|
00002750  29 0d 1d a1 13 f2 74 75  72 6e 42 61 63 6b 28 43  |).....turnBack(C|
00002760  25 28 29 29 0d 1d a6 06  3d a3 0d 1d ab 05 3a 0d  |%())....=.....:.|
00002770  1e 78 13 dd a4 61 6c 6c  50 61 69 72 65 64 28 44  |.x...allPaired(D|
00002780  25 29 0d 1e 82 0f ea 20  58 25 2c 59 25 2c 61 70  |%)..... X%,Y%,ap|
00002790  25 0d 1e 8c 0f e7 20 44  25 3d 33 30 20 8c 3d b9  |%..... D%=30 .=.|
000027a0  0d 1e 91 18 e7 20 6a 6f  6b 65 72 73 46 6f 75 6e  |..... jokersFoun|
000027b0  64 25 3c 32 20 8c 3d a3  0d 1e 96 0f e3 20 58 25  |d%<2 .=...... X%|
000027c0  3d 30 20 b8 20 35 39 0d  1e 97 1e e7 20 75 73 65  |=0 . 59..... use|
000027d0  53 70 72 69 74 65 73 25  28 58 25 29 3c 30 20 8c  |Sprites%(X%)<0 .|
000027e0  20 8d 74 74 5e 0d 1e 98  0f e3 20 59 25 3d 30 20  | .tt^..... Y%=0 |
000027f0  b8 20 35 39 0d 1e 9b 12  e7 20 59 25 3d 58 25 20  |. 59..... Y%=X% |
00002800  8c 20 8d 74 6f 5e 0d 1e  9d 1e e7 20 75 73 65 53  |. .to^..... useS|
00002810  70 72 69 74 65 73 25 28  59 25 29 3c 30 20 8c 20  |prites%(Y%)<0 . |
00002820  8d 74 6f 5e 0d 1e aa 37  e7 20 75 73 65 53 70 72  |.to^...7. useSpr|
00002830  69 74 65 73 25 28 58 25  29 3d 75 73 65 53 70 72  |ites%(X%)=useSpr|
00002840  69 74 65 73 25 28 59 25  29 20 61 70 25 3d b9 3a  |ites%(Y%) ap%=.:|
00002850  59 25 3d 35 39 3a 58 25  3d 35 39 0d 1e af 05 ed  |Y%=59:X%=59.....|
00002860  0d 1e b4 05 ed 0d 1e d2  0b 3d ac 28 61 70 25 29  |.........=.(ap%)|
00002870  0d 1e d7 05 3a 0d 1f 40  19 dd f2 65 72 61 73 65  |....:..@...erase|
00002880  50 6c 69 6e 74 68 73 28  70 6c 25 28 29 29 0d 1f  |Plinths(pl%())..|
00002890  4a 08 ea 20 5a 25 0d 1f  4f 0f e6 20 35 32 20 c8  |J.. Z%..O.. 52 .|
000028a0  9c 20 31 32 38 0d 1f 54  0e e3 20 5a 25 3d 31 20  |. 128..T.. Z%=1 |
000028b0  b8 20 32 0d 1f 5e 1a 75  73 65 53 70 72 69 74 65  |. 2..^.useSprite|
000028c0  73 25 28 70 6c 25 28 5a  25 29 29 3d b9 0d 1f 68  |s%(pl%(Z%))=...h|
000028d0  3d c8 93 20 c8 90 20 28  70 6c 25 28 5a 25 29 20  |=.. .. (pl%(Z%) |
000028e0  83 20 31 30 29 2a 31 32  35 2b 32 30 2c 28 70 6c  |. 10)*125+20,(pl|
000028f0  25 28 5a 25 29 20 81 20  31 30 29 2a 31 31 30 2b  |%(Z%) . 10)*110+|
00002900  38 30 2c 31 31 35 2c 31  30 30 0d 1f 72 05 ed 0d  |80,115,100..r...|
00002910  1f 9a 05 e1 0d 1f 9f 05  3a 0d 20 08 1c dd a4 61  |........:. ....a|
00002920  6e 6f 74 68 65 72 53 69  6e 67 6c 65 28 53 31 25  |notherSingle(S1%|
00002930  2c 53 32 25 29 0d 20 12  31 e7 20 53 31 25 3d 6e  |,S2%). .1. S1%=n|
00002940  75 6d 62 65 72 53 70 72  69 74 65 73 25 20 80 20  |umberSprites% . |
00002950  53 32 25 3d 6e 75 6d 62  65 72 53 70 72 69 74 65  |S2%=numberSprite|
00002960  73 25 20 8c 3d 30 0d 20  1c 18 e7 20 6a 6f 6b 65  |s% .=0. ... joke|
00002970  72 73 46 6f 75 6e 64 25  3d 32 20 8c 3d 30 0d 20  |rsFound%=2 .=0. |
00002980  26 26 e7 20 53 31 25 3c  3e 6e 75 6d 62 65 72 53  |&&. S1%<>numberS|
00002990  70 72 69 74 65 73 25 20  8c 3d 53 31 25 20 8b 20  |prites% .=S1% . |
000029a0  3d 53 32 25 0d 20 d0 15  dd f2 74 75 72 6e 42 61  |=S2%. ....turnBa|
000029b0  63 6b 28 70 6c 25 28 29  29 0d 20 da 08 ea 20 5a  |ck(pl%()). ... Z|
000029c0  25 0d 20 df 0f e6 20 32  31 20 c8 9c 20 31 32 38  |%. ... 21 .. 128|
000029d0  0d 20 e4 0e e3 20 5a 25  3d 31 20 b8 20 32 0d 20  |. ... Z%=1 . 2. |
000029e0  ee 3c c8 93 20 c8 90 20  28 70 6c 25 28 5a 25 29  |.<.. .. (pl%(Z%)|
000029f0  20 83 20 31 30 29 2a 31  32 35 2b 34 35 2c 28 70  | . 10)*125+45,(p|
00002a00  6c 25 28 5a 25 29 20 81  20 31 30 29 2a 31 31 30  |l%(Z%) . 10)*110|
00002a10  2b 31 30 30 2c 37 30 2c  37 30 0d 20 f8 05 ed 0d  |+100,70,70. ....|
00002a20  21 20 05 e1 0d 21 2a 05  3a 0d 22 60 18 dd f2 75  |! ...!*.:."`...u|
00002a30  70 64 61 74 65 53 63 6f  72 65 28 50 25 2c 53 25  |pdateScore(P%,S%|
00002a40  29 0d 22 65 1b fb 20 30  20 c8 9c 20 31 32 38 3a  |)."e.. 0 .. 128:|
00002a50  fb 20 31 33 35 20 c8 9c  20 31 32 38 0d 22 6a 27  |. 135 .. 128."j'|
00002a60  f1 8a 28 50 25 2d 31 29  2a 34 35 2b 31 31 2b a9  |..(P%-1)*45+11+.|
00002a70  70 6c 61 79 65 72 24 28  50 25 29 2b 33 2c 37 29  |player$(P%)+3,7)|
00002a80  3b 53 25 0d 22 74 05 e1  0d 23 28 12 dd f2 73 68  |;S%."t...#(...sh|
00002a90  6f 77 55 6e 50 61 69 72  65 64 0d 23 32 08 ea 20  |owUnPaired.#2.. |
00002aa0  5a 25 0d 23 3c 0f e3 20  5a 25 3d 30 20 b8 20 35  |Z%.#<.. Z%=0 . 5|
00002ab0  39 0d 23 46 70 e7 20 ac  28 75 73 65 53 70 72 69  |9.#Fp. .(useSpri|
00002ac0  74 65 73 25 28 5a 25 29  29 20 c8 99 20 22 4f 53  |tes%(Z%)) .. "OS|
00002ad0  5f 53 70 72 69 74 65 4f  70 22 2c 32 39 30 2c 73  |_SpriteOp",290,s|
00002ae0  70 72 69 74 65 41 72 65  61 2c c3 28 75 73 65 53  |priteArea,.(useS|
00002af0  70 72 69 74 65 73 25 28  5a 25 29 29 2c 28 28 5a  |prites%(Z%)),((Z|
00002b00  25 20 83 20 31 30 29 29  2a 31 32 35 2b 34 35 2c  |% . 10))*125+45,|
00002b10  28 5a 25 20 81 20 31 30  29 2a 31 31 30 2b 31 30  |(Z% . 10)*110+10|
00002b20  30 0d 23 50 05 ed 0d 23  5c 1c fb 20 36 33 20 c8  |0.#P...#\.. 63 .|
00002b30  9c 20 31 32 38 3a fb 20  31 33 32 20 c8 9c 20 31  |. 128:. 132 .. 1|
00002b40  32 38 0d 23 5f 44 f2 70  43 65 6e 74 72 65 28 22  |28.#_D.pCentre("|
00002b50  8b 20 55 6e 6d 61 74 63  68 65 64 20 70 69 63 74  |. Unmatched pict|
00002b60  75 72 65 73 20 8b 20 3a  20 43 6c 69 63 6b 20 27  |ures . : Click '|
00002b70  53 45 4c 45 43 54 20 77  68 65 6e 20 72 65 61 64  |SELECT when read|
00002b80  79 22 2c 33 30 29 0d 23  61 23 f5 20 fd 20 a4 6d  |y",30).#a#. . .m|
00002b90  6f 75 73 65 43 68 61 72  50 6f 73 69 74 69 6f 6e  |ouseCharPosition|
00002ba0  28 58 25 2c 59 25 29 3d  34 0d 23 63 05 e1 0d 23  |(X%,Y%)=4.#c...#|
00002bb0  64 05 3a 0d 23 f0 15 dd  a4 71 75 69 74 4d 65 6e  |d.:.#....quitMen|
00002bc0  75 28 58 25 2c 59 25 29  0d 23 f5 10 ea 20 71 75  |u(X%,Y%).#... qu|
00002bd0  69 74 25 2c 6d 65 6e 75  0d 23 ff 17 58 25 2d 3d  |it%,menu.#..X%-=|
00002be0  31 30 30 3a e7 20 58 25  3c 30 58 25 3d 31 30 0d  |100:. X%<0X%=10.|
00002bf0  24 01 15 e7 20 58 25 3e  31 30 38 35 20 58 25 3d  |$... X%>1085 X%=|
00002c00  31 30 38 35 0d 24 04 17  59 25 2d 3d 33 30 3a e7  |1085.$..Y%-=30:.|
00002c10  20 59 25 3c 30 20 59 25  3d 31 30 0d 24 06 13 e7  | Y%<0 Y%=10.$...|
00002c20  20 59 25 3e 39 30 30 20  59 25 3d 39 30 30 0d 24  | Y%>900 Y%=900.$|
00002c30  09 1e ec 20 58 25 2d 31  30 2c 59 25 3a ec 20 58  |... X%-10,Y%:. X|
00002c40  25 2b 32 30 30 2c 59 25  2b 31 32 30 0d 24 0b 0e  |%+200,Y%+120.$..|
00002c50  2a 53 47 65 74 20 6d 65  6e 75 0d 24 0e 23 e6 20  |*SGet menu.$.#. |
00002c60  36 34 20 c8 9c 20 31 39  32 3a c8 93 20 c8 90 20  |64 .. 192:.. .. |
00002c70  58 25 2c 59 25 2c 31 39  30 2c 31 31 30 0d 24 0f  |X%,Y%,190,110.$.|
00002c80  29 e6 20 36 33 20 c8 9c  20 31 32 38 3a c8 93 20  |). 63 .. 128:.. |
00002c90  c8 90 20 58 25 2d 31 30  2c 59 25 2b 31 30 2c 31  |.. X%-10,Y%+10,1|
00002ca0  39 30 2c 31 31 30 0d 24  10 25 e6 20 34 38 20 c8  |90,110.$.%. 48 .|
00002cb0  9c 20 31 32 38 3a c8 93  20 58 25 2d 35 2c 59 25  |. 128:.. X%-5,Y%|
00002cc0  2b 31 35 2c 31 38 30 2c  31 30 30 0d 24 18 1d c8  |+15,180,100.$...|
00002cd0  97 20 c8 93 20 58 25 2d  31 30 2c 59 25 2b 31 30  |. .. X%-10,Y%+10|
00002ce0  2c 31 39 30 2c 31 31 30  0d 24 1a 16 ef 20 35 2c  |,190,110.$... 5,|
00002cf0  32 33 2c 31 37 2c 37 2c  36 2c 38 3b 38 7c 0d 24  |23,17,7,6,8;8|.$|
00002d00  1b 1b e6 20 30 20 c8 9c  20 31 32 38 3a e6 20 31  |... 0 .. 128:. 1|
00002d10  39 31 20 c8 9c 20 31 32  38 0d 24 1c 1a ec 20 58  |91 .. 128.$... X|
00002d20  25 2b 35 30 2c 59 25 2b  31 30 30 3a f1 22 51 75  |%+50,Y%+100:."Qu|
00002d30  69 74 22 0d 24 1d 0e e6  20 32 20 c8 9c 20 31 32  |it".$... 2 .. 12|
00002d40  38 0d 24 20 1d ec 20 58  25 2b 32 30 2c 59 25 2b  |8.$ .. X%+20,Y%+|
00002d50  35 30 3a f1 22 43 6f 6e  74 69 6e 75 65 22 0d 24  |50:."Continue".$|
00002d60  22 15 c8 97 20 b8 20 58  25 2b 31 30 30 2c 59 25  |"... . X%+100,Y%|
00002d70  2b 33 30 0d 24 27 14 f5  20 c8 97 20 78 2c 79 2c  |+30.$'.. .. x,y,|
00002d80  62 3a fd 20 62 3d 30 0d  24 29 0e f5 20 c8 97 20  |b:. b=0.$).. .. |
00002d90  78 2c 79 2c 62 0d 24 2c  0a c8 8e 20 62 20 ca 0d  |x,y,b.$,... b ..|
00002da0  24 2e 2d c9 20 30 2c 31  2c 32 2c 33 2c 35 2c 36  |$.-. 0,1,2,3,5,6|
00002db0  2c 37 3a 71 75 69 74 25  3d a4 71 75 69 74 53 74  |,7:quit%=.quitSt|
00002dc0  61 74 65 28 79 2c 58 25  2c 59 25 29 0d 24 31 05  |ate(y,X%,Y%).$1.|
00002dd0  cb 0d 24 36 09 fd 20 62  3d 34 0d 24 40 11 2a 53  |..$6.. b=4.$@.*S|
00002de0  43 68 6f 6f 73 65 20 6d  65 6e 75 0d 24 43 12 f0  |Choose menu.$C..|
00002df0  20 26 45 44 2c 58 25 2d  31 30 2c 59 25 0d 24 45  | &ED,X%-10,Y%.$E|
00002e00  11 2a 53 44 65 6c 65 74  65 20 6d 65 6e 75 0d 24  |.*SDelete menu.$|
00002e10  47 14 f5 20 c8 97 20 78  2c 79 2c 62 3a fd 20 62  |G.. .. x,y,b:. b|
00002e20  3d 30 0d 24 48 09 ef 20  34 3a 87 0d 24 49 17 c8  |=0.$H.. 4:..$I..|
00002e30  97 20 c8 93 20 30 2c 30  2c 31 32 38 30 2c 31 30  |. .. 0,0,1280,10|
00002e40  32 34 0d 24 4a 0a 3d 71  75 69 74 25 0d 24 b8 1c  |24.$J.=quit%.$..|
00002e50  dd a4 71 75 69 74 53 74  61 74 65 28 79 70 6f 73  |..quitState(ypos|
00002e60  25 2c 58 25 2c 59 25 29  0d 24 cc 14 e7 20 79 70  |%,X%,Y%).$... yp|
00002e70  6f 73 25 3e 3d 59 25 2b  36 30 20 8c 0d 24 d1 0e  |os%>=Y%+60 ..$..|
00002e80  e6 20 32 20 c8 9c 20 31  32 38 0d 24 d3 1a ec 20  |. 2 .. 128.$... |
00002e90  58 25 2b 35 30 2c 59 25  2b 31 30 30 3a f1 22 51  |X%+50,Y%+100:."Q|
00002ea0  75 69 74 22 0d 24 d6 0e  e6 20 30 20 c8 9c 20 31  |uit".$... 0 .. 1|
00002eb0  32 38 0d 24 d8 1d ec 20  58 25 2b 32 30 2c 59 25  |28.$... X%+20,Y%|
00002ec0  2b 35 30 3a f1 22 43 6f  6e 74 69 6e 75 65 22 0d  |+50:."Continue".|
00002ed0  24 db 06 3d b9 0d 24 e0  05 cc 0d 24 e5 0e e6 20  |$..=..$....$... |
00002ee0  30 20 c8 9c 20 31 32 38  0d 24 e7 1a ec 20 58 25  |0 .. 128.$... X%|
00002ef0  2b 35 30 2c 59 25 2b 31  30 30 3a f1 22 51 75 69  |+50,Y%+100:."Qui|
00002f00  74 22 0d 24 ea 0e e6 20  32 20 c8 9c 20 31 32 38  |t".$... 2 .. 128|
00002f10  0d 24 ec 1d ec 20 58 25  2b 32 30 2c 59 25 2b 35  |.$... X%+20,Y%+5|
00002f20  30 3a f1 22 43 6f 6e 74  69 6e 75 65 22 0d 24 ee  |0:."Continue".$.|
00002f30  05 cd 0d 24 f4 06 3d a3  0d 25 80 12 dd a4 72 65  |...$..=..%....re|
00002f40  70 6c 79 28 58 25 2c 59  25 29 0d 25 94 19 e7 20  |ply(X%,Y%).%... |
00002f50  58 25 3e 3d 35 32 20 80  20 58 25 3c 3d 35 34 20  |X%>=52 . X%<=54 |
00002f60  8c 3d b9 0d 25 9e 06 3d  a3 0d 25 da 05 3a 0d 26  |.=..%..=..%..:.&|
00002f70  48 0a dd f2 71 75 69 74  0d 26 4a 0b ea 20 71 75  |H...quit.&J.. qu|
00002f80  69 74 25 0d 26 57 0f e6  20 35 32 20 c8 9c 20 31  |it%.&W.. 52 .. 1|
00002f90  32 38 0d 26 5c 16 c8 93  20 c8 90 20 30 2c 30 2c  |28.&\... .. 0,0,|
00002fa0  31 32 38 30 2c 38 33 30  0d 26 66 24 f2 70 6c 69  |1280,830.&f$.pli|
00002fb0  6e 74 68 28 33 30 30 2c  33 30 30 2c 36 38 30 2c  |nth(300,300,680,|
00002fc0  34 30 30 2c 32 30 2c 34  38 2c a3 29 0d 26 6b 1b  |400,20,48,.).&k.|
00002fd0  fb 20 30 20 c8 9c 20 31  32 38 3a fb 20 31 37 36  |. 0 .. 128:. 176|
00002fe0  20 c8 9c 20 31 32 38 0d  26 70 27 f2 70 43 65 6e  | .. 128.&p'.pCen|
00002ff0  74 72 65 28 22 51 75 69  74 20 50 72 6f 67 72 61  |tre("Quit Progra|
00003000  6d 20 28 59 2f 4e 29 20  3f 22 2c 31 33 29 0d 26  |m (Y/N) ?",13).&|
00003010  75 39 f2 70 43 65 6e 74  72 65 28 22 43 6c 69 63  |u9.pCentre("Clic|
00003020  6b 20 27 53 45 4c 45 43  54 27 20 6f 76 65 72 20  |k 'SELECT' over |
00003030  61 70 70 72 6f 70 72 69  61 74 65 20 70 6c 69 6e  |appropriate plin|
00003040  74 68 22 2c 31 35 29 0d  26 7a 23 f2 70 6c 69 6e  |th",15).&z#.plin|
00003050  74 68 28 33 36 30 2c 33  36 30 2c 31 32 30 2c 38  |th(360,360,120,8|
00003060  30 2c 31 30 2c 36 34 2c  b9 29 0d 26 7c 1b fb 20  |0,10,64,.).&|.. |
00003070  32 20 c8 9c 20 31 32 38  3a fb 20 31 32 38 20 c8  |2 .. 128:. 128 .|
00003080  9c 20 31 32 38 0d 26 7f  10 f1 8a 32 35 2c 31 39  |. 128.&....25,19|
00003090  29 22 4e 4f 22 0d 26 84  22 f2 70 6c 69 6e 74 68  |)"NO".&.".plinth|
000030a0  28 38 30 30 2c 33 36 30  2c 31 32 30 2c 38 30 2c  |(800,360,120,80,|
000030b0  31 30 2c 32 2c b9 29 0d  26 86 1b fb 20 30 20 c8  |10,2,.).&... 0 .|
000030c0  9c 20 31 32 38 3a fb 20  31 33 30 20 c8 9c 20 31  |. 128:. 130 .. 1|
000030d0  32 38 0d 26 89 11 f1 8a  35 32 2c 31 39 29 22 59  |28.&....52,19)"Y|
000030e0  45 53 22 0d 26 8e 05 f5  0d 26 93 25 62 75 74 74  |ES".&....&.%butt|
000030f0  6f 6e 25 3d a4 6d 6f 75  73 65 43 68 61 72 50 6f  |on%=.mouseCharPo|
00003100  73 69 74 69 6f 6e 28 58  25 2c 59 25 29 0d 26 96  |sition(X%,Y%).&.|
00003110  10 c8 8e 20 62 75 74 74  6f 6e 25 20 ca 0d 26 98  |... button% ..&.|
00003120  23 c9 20 34 3a e7 20 59  25 3d 31 39 20 71 75 69  |#. 4:. Y%=19 qui|
00003130  74 25 3d a4 72 65 70 6c  79 28 58 25 2c 59 25 29  |t%=.reply(X%,Y%)|
00003140  0d 26 9a 05 cb 0d 26 9c  53 fd 20 28 62 75 74 74  |.&....&.S. (butt|
00003150  6f 6e 25 3d 34 20 80 20  58 25 3e 3d 32 35 20 80  |on%=4 . X%>=25 .|
00003160  20 58 25 3c 3d 32 36 20  80 20 59 25 3d 31 39 29  | X%<=26 . Y%=19)|
00003170  20 84 20 28 62 75 74 74  6f 6e 25 3d 34 20 80 20  | . (button%=4 . |
00003180  58 25 3e 3d 35 32 20 80  20 58 25 3c 3d 35 34 20  |X%>=52 . X%<=54 |
00003190  80 20 59 25 3d 31 39 29  0d 26 a2 36 e7 20 71 75  |. Y%=19).&.6. qu|
000031a0  69 74 25 20 ff 22 66 78  20 32 30 30 22 3a c8 99  |it% ."fx 200":..|
000031b0  20 22 57 69 6d 70 5f 43  6f 6d 6d 61 6e 64 57 69  | "Wimp_CommandWi|
000031c0  6e 64 6f 77 22 2c 2d 31  3a ef 20 34 3a e0 0d 26  |ndow",-1:. 4:..&|
000031d0  a7 05 e1 0d 26 ab 05 3a  0d 27 10 37 dd f2 70 6c  |....&..:.'.7..pl|
000031e0  69 6e 74 68 28 78 70 6f  73 25 2c 79 70 6f 73 25  |inth(xpos%,ypos%|
000031f0  2c 77 69 64 74 68 25 2c  68 65 69 67 68 74 25 2c  |,width%,height%,|
00003200  77 25 2c 63 6f 6c 25 2c  72 61 69 73 65 25 29 0d  |w%,col%,raise%).|
00003210  27 15 1a ea 20 74 69 6e  74 31 25 2c 74 69 6e 74  |'... tint1%,tint|
00003220  32 25 2c 74 69 6e 74 33  25 0d 27 17 23 74 69 6e  |2%,tint3%.'.#tin|
00003230  74 31 25 3d 31 39 32 3a  74 69 6e 74 32 25 3d 31  |t1%=192:tint2%=1|
00003240  32 38 3a 74 69 6e 74 33  25 3d 36 34 0d 27 1a 1f  |28:tint3%=64.'..|
00003250  e7 20 ac 20 72 61 69 73  65 25 20 c8 94 20 74 69  |. . raise% .. ti|
00003260  6e 74 31 25 2c 74 69 6e  74 33 25 0d 27 24 14 e6  |nt1%,tint3%.'$..|
00003270  20 63 6f 6c 25 20 c8 9c  20 74 69 6e 74 31 25 0d  | col% .. tint1%.|
00003280  27 2e 24 c8 93 20 c8 90  20 78 70 6f 73 25 2c 79  |'.$.. .. xpos%,y|
00003290  70 6f 73 25 2c 77 69 64  74 68 25 2c 68 65 69 67  |pos%,width%,heig|
000032a0  68 74 25 0d 27 38 14 e6  20 63 6f 6c 25 20 c8 9c  |ht%.'8.. col% ..|
000032b0  20 74 69 6e 74 32 25 0d  27 42 38 c8 93 20 c8 90  | tint2%.'B8.. ..|
000032c0  20 78 70 6f 73 25 2b 77  25 2c 79 70 6f 73 25 2b  | xpos%+w%,ypos%+|
000032d0  77 25 2c 77 69 64 74 68  25 2d 28 32 2a 77 25 29  |w%,width%-(2*w%)|
000032e0  2c 68 65 69 67 68 74 25  2d 28 32 2a 77 25 29 0d  |,height%-(2*w%).|
000032f0  27 4c 14 e6 20 63 6f 6c  25 20 c8 9c 20 74 69 6e  |'L.. col% .. tin|
00003300  74 33 25 0d 27 56 23 86  20 78 70 6f 73 25 2c 79  |t3%.'V#. xpos%,y|
00003310  70 6f 73 25 2c 78 70 6f  73 25 2b 77 25 2c 79 70  |pos%,xpos%+w%,yp|
00003320  6f 73 25 2b 77 25 0d 27  60 17 f0 20 38 35 2c 78  |os%+w%.'`.. 85,x|
00003330  70 6f 73 25 2b 77 25 2c  79 70 6f 73 25 0d 27 6a  |pos%+w%,ypos%.'j|
00003340  29 c8 93 20 c8 90 20 78  70 6f 73 25 2b 77 25 2c  |).. .. xpos%+w%,|
00003350  79 70 6f 73 25 2c 77 69  64 74 68 25 2d 28 32 2a  |ypos%,width%-(2*|
00003360  77 25 29 2c 77 25 0d 27  74 41 86 20 78 70 6f 73  |w%),w%.'tA. xpos|
00003370  25 2b 77 69 64 74 68 25  2d 77 25 2c 79 70 6f 73  |%+width%-w%,ypos|
00003380  25 2b 68 65 69 67 68 74  25 2d 77 25 2c 78 70 6f  |%+height%-w%,xpo|
00003390  73 25 2b 77 69 64 74 68  25 2c 79 70 6f 73 25 2b  |s%+width%,ypos%+|
000033a0  68 65 69 67 68 74 25 0d  27 7e 26 f0 20 38 35 2c  |height%.'~&. 85,|
000033b0  78 70 6f 73 25 2b 77 69  64 74 68 25 2c 79 70 6f  |xpos%+width%,ypo|
000033c0  73 25 2b 68 65 69 67 68  74 25 2d 77 25 0d 27 88  |s%+height%-w%.'.|
000033d0  2d c8 93 20 c8 90 20 78  70 6f 73 25 2b 77 69 64  |-.. .. xpos%+wid|
000033e0  74 68 25 2d 77 25 2c 79  70 6f 73 25 2c 77 25 2c  |th%-w%,ypos%,w%,|
000033f0  68 65 69 67 68 74 25 2d  77 25 0d 27 92 05 e1 0d  |height%-w%.'....|
00003400  27 9c 05 3a 0d 27 d8 1c  dd f2 70 43 65 6e 74 72  |'..:.'....pCentr|
00003410  65 28 6d 65 73 73 61 67  65 24 2c 79 70 6f 73 29  |e(message$,ypos)|
00003420  0d 27 e2 27 f1 8a 28 a8  28 38 30 2d a9 6d 65 73  |.'.'..(.(80-.mes|
00003430  73 61 67 65 24 29 2f 32  29 2c 79 70 6f 73 29 6d  |sage$)/2),ypos)m|
00003440  65 73 73 61 67 65 24 0d  27 ec 05 e1 0d 27 f1 05  |essage$.'....'..|
00003450  3a 0d 28 a0 22 dd a4 6d  6f 75 73 65 43 68 61 72  |:.(."..mouseChar|
00003460  50 6f 73 69 74 69 6f 6e  28 f8 20 58 25 2c f8 20  |Position(. X%,. |
00003470  59 25 29 0d 28 aa 0e ff  22 66 78 20 32 31 20 39  |Y%).(..."fx 21 9|
00003480  22 0d 28 b4 14 f5 20 c8  97 20 78 2c 79 2c 62 3a  |".(... .. x,y,b:|
00003490  fd 20 62 3d 30 0d 28 be  14 f5 20 c8 97 20 78 2c  |. b=0.(... .. x,|
000034a0  79 2c 62 3a fd 20 62 3e  30 0d 28 c8 1e 58 25 3d  |y,b:. b>0.(..X%=|
000034b0  28 78 20 81 20 31 36 29  3a 59 25 3d 33 31 2d 28  |(x . 16):Y%=31-(|
000034c0  79 20 81 20 33 32 29 0d  28 d2 06 3d 62 0d 28 dc  |y . 32).(..=b.(.|
000034d0  05 3a 0d 29 04 21 dd f2  6d 65 6e 75 50 6c 69 6e  |.:.).!..menuPlin|
000034e0  74 68 73 28 63 6f 6c 6f  75 72 25 2c 72 61 69 73  |ths(colour%,rais|
000034f0  65 25 29 0d 29 0e 08 ea  20 5a 25 0d 29 18 0e e3  |e%).)... Z%.)...|
00003500  20 5a 25 3d 31 20 b8 20  34 0d 29 22 39 f2 70 6c  | Z%=1 . 4.)"9.pl|
00003510  69 6e 74 68 28 34 30 30  2c 28 5a 25 2d 31 29 2a  |inth(400,(Z%-1)*|
00003520  31 36 30 2b 31 32 35 2c  34 38 30 2c 31 30 30 2c  |160+125,480,100,|
00003530  31 30 2c 63 6f 6c 6f 75  72 25 2c 72 61 69 73 65  |10,colour%,raise|
00003540  25 29 0d 29 2c 05 ed 0d  29 36 05 e1 0d 29 5e 05  |%).),...)6...)^.|
00003550  3a 0d 29 68 0f dd f2 64  65 6c 61 79 28 54 25 29  |:.)h...delay(T%)|
00003560  0d 29 72 08 54 25 3d 91  0d 29 7c 10 f5 20 fd 20  |.)r.T%=..)|.. . |
00003570  91 3e 54 25 2b 32 30 30  0d 29 86 05 e1 0d 29 9a  |.>T%+200.)....).|
00003580  05 3a 0d 2a f8 11 dd f2  66 61 6e 66 61 72 65 28  |.:.*....fanfare(|
00003590  43 25 29 0d 2b 02 0a f5  fd c6 8f 3d 30 0d 2b 0c  |C%).+......=0.+.|
000035a0  12 d4 20 33 2c 2d 31 35  2c 43 25 2c 35 2c 30 0d  |.. 3,-15,C%,5,0.|
000035b0  2b 16 16 d4 20 35 2c 2d  31 35 2c 43 25 2d 39 36  |+... 5,-15,C%-96|
000035c0  2c 35 2c 2d 31 0d 2b 20  15 d4 20 33 2c 2d 31 35  |,5,-1.+ .. 3,-15|
000035d0  2c 43 25 2b 38 2c 35 2c  33 32 0d 2b 2a 17 d4 20  |,C%+8,5,32.+*.. |
000035e0  35 2c 2d 31 35 2c 43 25  2d 31 30 30 2c 35 2c 2d  |5,-15,C%-100,5,-|
000035f0  31 0d 2b 34 16 d4 20 33  2c 2d 31 35 2c 43 25 2b  |1.+4.. 3,-15,C%+|
00003600  31 36 2c 35 2c 36 34 0d  2b 3e 17 d4 20 35 2c 2d  |16,5,64.+>.. 5,-|
00003610  31 35 2c 43 25 2d 31 30  38 2c 35 2c 2d 31 0d 2b  |15,C%-108,5,-1.+|
00003620  48 16 d4 20 33 2c 2d 31  35 2c 43 25 2b 32 30 2c  |H.. 3,-15,C%+20,|
00003630  35 2c 39 36 0d 2b 52 17  d4 20 35 2c 2d 31 35 2c  |5,96.+R.. 5,-15,|
00003640  43 25 2d 31 31 36 2c 35  2c 2d 31 0d 2b 5c 17 d4  |C%-116,5,-1.+\..|
00003650  20 33 2c 2d 31 35 2c 43  25 2b 32 38 2c 35 2c 31  | 3,-15,C%+28,5,1|
00003660  32 38 0d 2b 66 16 d4 20  35 2c 2d 31 35 2c 43 25  |28.+f.. 5,-15,C%|
00003670  2d 39 36 2c 35 2c 2d 31  0d 2b 70 17 d4 20 33 2c  |-96,5,-1.+p.. 3,|
00003680  2d 31 35 2c 43 25 2b 33  36 2c 35 2c 31 34 34 0d  |-15,C%+36,5,144.|
00003690  2b 7a 16 d4 20 35 2c 2d  31 35 2c 43 25 2d 37 36  |+z.. 5,-15,C%-76|
000036a0  2c 35 2c 2d 31 0d 2b 84  17 d4 20 33 2c 2d 31 35  |,5,-1.+... 3,-15|
000036b0  2c 43 25 2b 34 34 2c 35  2c 31 36 30 0d 2b 8e 16  |,C%+44,5,160.+..|
000036c0  d4 20 35 2c 2d 31 35 2c  43 25 2d 36 38 2c 35 2c  |. 5,-15,C%-68,5,|
000036d0  2d 31 0d 2b 98 17 d4 20  33 2c 2d 31 35 2c 43 25  |-1.+... 3,-15,C%|
000036e0  2b 34 38 2c 35 2c 31 37  36 0d 2b a2 16 d4 20 35  |+48,5,176.+... 5|
000036f0  2c 2d 31 35 2c 43 25 2d  39 36 2c 35 2c 2d 31 0d  |,-15,C%-96,5,-1.|
00003700  2b ac 05 e1 0d 2b b6 05  3a 0d 2e e0 14 dd f2 6d  |+....+..:......m|
00003710  61 74 63 68 53 6f 75 6e  64 28 43 25 29 0d 2e ea  |atchSound(C%)...|
00003720  0a f5 fd c6 8f 3d 30 0d  2e f4 13 d4 20 33 2c 2d  |.....=0..... 3,-|
00003730  31 35 2c 43 25 2c 32 30  2c 30 0d 2e fe 17 d4 20  |15,C%,20,0..... |
00003740  35 2c 2d 31 35 2c 43 25  2d 34 38 2c 32 30 2c 2d  |5,-15,C%-48,20,-|
00003750  31 0d 2f 03 17 d4 20 36  2c 2d 31 35 2c 43 25 2d  |1./... 6,-15,C%-|
00003760  31 32 2c 32 30 2c 2d 31  0d 2f 08 13 d4 20 33 2c  |12,20,-1./... 3,|
00003770  2d 31 35 2c 43 25 2c 35  2c 36 30 0d 2f 12 16 d4  |-15,C%,5,60./...|
00003780  20 35 2c 2d 31 35 2c 43  25 2d 34 38 2c 35 2c 2d  | 5,-15,C%-48,5,-|
00003790  31 0d 2f 17 16 d4 20 36  2c 2d 31 35 2c 43 25 2d  |1./... 6,-15,C%-|
000037a0  31 32 2c 35 2c 2d 31 0d  2f 1c 17 d4 20 33 2c 2d  |12,5,-1./... 3,-|
000037b0  31 35 2c 43 25 2b 32 30  2c 31 35 2c 38 30 0d 2f  |15,C%+20,15,80./|
000037c0  26 17 d4 20 35 2c 2d 31  35 2c 43 25 2d 37 36 2c  |&.. 5,-15,C%-76,|
000037d0  31 35 2c 2d 31 0d 2f 2b  17 d4 20 36 2c 2d 31 35  |15,-1./+.. 6,-15|
000037e0  2c 43 25 2d 31 32 2c 31  35 2c 2d 31 0d 2f 9e 05  |,C%-12,15,-1./..|
000037f0  e1 0d 2f a3 05 3a 0d 4a  38 0b dd f2 65 72 72 6f  |../..:.J8...erro|
00003800  72 0d 4a 47 0f e6 20 35  32 20 c8 9c 20 31 32 38  |r.JG.. 52 .. 128|
00003810  0d 4a 4c 16 c8 93 20 c8  90 20 30 2c 30 2c 31 32  |.JL... .. 0,0,12|
00003820  38 30 2c 38 33 30 0d 4a  51 24 f2 70 6c 69 6e 74  |80,830.JQ$.plint|
00003830  68 28 33 30 30 2c 33 30  30 2c 36 38 30 2c 34 30  |h(300,300,680,40|
00003840  30 2c 32 30 2c 34 38 2c  a3 29 0d 4a 56 23 f2 70  |0,20,48,.).JV#.p|
00003850  6c 69 6e 74 68 28 34 30  30 2c 35 38 30 2c 34 38  |linth(400,580,48|
00003860  30 2c 38 30 2c 31 30 2c  36 34 2c b9 29 0d 4a 5b  |0,80,10,64,.).J[|
00003870  1c fb 20 36 33 20 c8 9c  20 31 32 38 3a fb 20 31  |.. 63 .. 128:. 1|
00003880  39 32 20 c8 9c 20 31 32  38 0d 4a 60 13 f2 70 43  |92 .. 128.J`..pC|
00003890  65 6e 74 72 65 28 f6 24  2c 31 32 29 0d 4a 62 23  |entre(.$,12).Jb#|
000038a0  f2 70 6c 69 6e 74 68 28  35 30 30 2c 34 39 30 2c  |.plinth(500,490,|
000038b0  32 38 30 2c 38 30 2c 31  30 2c 36 34 2c b9 29 0d  |280,80,10,64,.).|
000038c0  4a 64 1e f2 70 43 65 6e  74 72 65 28 22 61 74 20  |Jd..pCentre("at |
000038d0  6c 69 6e 65 20 22 2b c3  9e 2c 31 35 29 0d 4a 6a  |line "+..,15).Jj|
000038e0  23 f2 70 6c 69 6e 74 68  28 34 30 30 2c 33 36 30  |#.plinth(400,360|
000038f0  2c 34 38 30 2c 38 30 2c  31 30 2c 36 34 2c b9 29  |,480,80,10,64,.)|
00003900  0d 4a 6f 2d f2 70 43 65  6e 74 72 65 28 22 43 6c  |.Jo-.pCentre("Cl|
00003910  69 63 6b 20 27 53 45 4c  45 43 54 27 20 74 6f 20  |ick 'SELECT' to |
00003920  63 6f 6e 74 69 6e 75 65  22 2c 31 39 29 0d 4a 74  |continue",19).Jt|
00003930  05 f5 0d 4a 79 21 fd 20  a4 6d 6f 75 73 65 43 68  |...Jy!. .mouseCh|
00003940  61 72 50 6f 73 69 74 69  6f 6e 28 58 25 2c 59 25  |arPosition(X%,Y%|
00003950  29 3d 34 0d 4a 7e 0d ff  22 66 78 20 32 30 30 22  |)=4.J~.."fx 200"|
00003960  0d 4a 83 1e c8 99 20 22  57 69 6d 70 5f 43 6f 6d  |.J.... "Wimp_Com|
00003970  6d 61 6e 64 57 69 6e 64  6f 77 22 2c 2d 31 0d 4a  |mandWindow",-1.J|
00003980  85 07 ef 20 34 0d 4a 88  05 e0 0d 4a 9b 05 3a 0d  |... 4.J....J..:.|
00003990  61 a8 0a dd f2 76 61 72  73 0d 61 b2 38 de 20 6b  |a....vars.a.8. k|
000039a0  65 79 42 6f 61 72 64 24  28 35 29 2c 70 6c 61 79  |eyBoard$(5),play|
000039b0  65 72 24 28 32 29 2c 75  73 65 53 70 72 69 74 65  |er$(2),useSprite|
000039c0  73 25 28 35 39 29 2c 73  69 6e 67 6c 65 25 28 34  |s%(59),single%(4|
000039d0  29 0d 61 bc 33 de 20 74  65 6d 70 53 70 72 69 74  |).a.3. tempSprit|
000039e0  65 73 25 28 35 39 29 2c  63 68 6f 69 63 65 25 28  |es%(59),choice%(|
000039f0  32 29 2c 73 63 6f 72 65  25 28 32 29 2c 73 6e 64  |2),score%(2),snd|
00003a00  24 28 31 29 0d 62 02 05  e1 0d ff                 |$(1).b.....|
00003a0b