Home » CEEFAX disks » telesoftware8.adl » 22-07-88/FLIP
22-07-88/FLIP
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 » CEEFAX disks » telesoftware8.adl |
Filename: | 22-07-88/FLIP |
Read OK: | ✔ |
File size: | 1545 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- CEEFAX disks » telesoftware4.adl » 15-01-88/FLIP
- CEEFAX disks » telesoftware8.adl » 22-07-88/FLIP
File contents
10REM FLIP Started 22/6/87 15IFPAGE>&E00 PROCmove 20ON ERROR PROCerror 30MODE2:PROCoff:PROCname(0) 40MODE1:PROCoff:REM Turn cursor off 50PROCinit:REM display board with counters and initialise 60PROCstart:REM select start position and show blue square 70REPEAT 80PROCchoice:REM player selects move 90PROCcheck:REM check for win situation 100UNTIL win 110MODE2:PROCoff:PROCwin:REM show No. of moves 120IF key$="Y" OR key$="y" THEN RUN 130END 140** 150DEFPROCinit 160VDU19,2,4,0,0,0:*FX4,1 170VDU23,255,256,256,256,256,256,256,256,256,23,240,60,60,126,126,126,126,60,60 180COLOUR0:COLOUR131:PROCdouble("FLIP",0,1) 190COLOUR1:PROCdouble("'TAB' to flip - cursor keys to move",28,1) 200COLOUR131:FOR row%=3TO26 210PRINTTAB(8,row%)STRING$(24,CHR$255) 220NEXT:COLOUR128 230square$=CHR$255+CHR$255+CHR$255+CHR$10+CHR$8+CHR$8+CHR$8+CHR$255+CHR$255+CHR$255+CHR$10+CHR$8+CHR$8+CHR$8+CHR$255+CHR$255+CHR$255 240DIM brd%(8,8):FOR col%=1TO8:FOR row%=1TO8 250brd%(col%,row%)=3 260NEXT:NEXT 270moves%=0:win=FALSE:ENDPROC 280** 290DEFPROCstart 300row%=RND(6)+1:col%=RND(6)+1:startpos%=brd%(col%,row%) 310brd%(col%,row%)=2 320PROCshow(col%,row%,2,FALSE) 330ENDPROC 340** 350DEFPROCshow(A%,B%,C%,flag%) 360oldcol%=A%:oldrow%=B% 370IFC%=3 COLOUR131 380IFC%=1 COLOUR129 390IFC%=2 COLOUR130 400PRINTTAB(5+3*A%,B%*3)square$:IF flag% ENDPROC 410PRINTTAB(6+3*A%,B%*3+1)CHR$240 420ENDPROC 430** 440DEFPROCchoice 450REPEAT:*FX15,1 460move%=GET:UNTIL (move%>135 AND move%<140) OR move%=9 470IF move%=9 PROCflip:ENDPROC 480IF move%=136 AND col%>1 col%=col%-1 490IF move%=137 AND col%<8 col%=col%+1 500IF move%=138 AND row%<8 row%=row%+1 510IF move%=139 AND row%>1 row%=row%-1 520IF brd%(col%,row%)=2 VDU7:col%=oldcol%:row%=oldrow%:GOTO450 530IF brd%(col%,row%)=1 moves%=moves%+1 ELSE brd%(col%,row%)=RND(2):moves%=moves%+1 540IF brd%(col%,row%)=1 newcol%=oldcol%:newrow%=oldrow%:PROCshow(col%,row%,1,TRUE):PROCsound:PROCwait(.8):PROCshow(newcol%,newrow%,2,TRUE) 550IF brd%(col%,row%)=2 newcol%=oldcol%:newrow%=oldrow%:PROCshow(col%,row%,2,TRUE):PROCsound:col%=newcol%:row%=newrow%:PROCshow(col%,row%,2,FALSE):GOTO450 560PROCshow(oldcol%,oldrow%,2,TRUE):brd%(oldcol%,oldrow%)=2 570brd%(col%,row%)=2:PROCshow(col%,row%,brd%(col%,row%),FALSE) 580ENDPROC 590DEFPROCcheck 600win=TRUE 610FOR col1%=1TO8:FOR row1%=1TO8:IF brd%(col1%,row1%)<>2 win=FALSE 620NEXT:NEXT 630ENDPROC 640** 650DEFPROCflip 660SOUND0,-10,5,3 670storecol%=col%:storerow%=row% 680FOR col%=1TO8:FOR row%=1TO8 690brd%(col%,row%)=brd%(col%,row%)EOR3 700IF brd%(col%,row%)=0 brd%(col%,row%)=3 710PROCshow(col%,row%,brd%(col%,row%),TRUE) 720NEXT:NEXT 730col%=storecol%:row%=storerow%:PROCshow(col%,row%,2,FALSE):brd%(col%,row%)=2 740SOUND0,-10,5,3 750ENDPROC 760** 770DEFPROCwin 780COLOUR132:CLS:VDU28,1,17,18,1 790VDU19,2,2,0,0,0:COLOUR130:CLS 800SOUND1,2,50,60 810COLOUR 13:PROCdouble("Well done "+name$,4,3):COLOUR 3:PROCdouble("You took "+STR$(moves%),8,3):PROCdouble("moves to win",12,3) 820VDU28,1,30,18,19:COLOUR134:CLS 830COLOUR0:PROCdouble("Play again ?",3,3) 840COLOUR14:PROCdouble("Y/N",8,3):PROCyn 850ENDPROC 860** 870DEFPROCdouble(text$,down%,mode%) 880across%=FNmid-(LEN(text$)/2) 890A%=&A:X%=0:Y%=&9:D=&900 900FOR letter%=1 TO LEN(text$) 910B$=MID$(text$,letter%,1):?D=ASC(B$):CALL&FFF1 920VDU23,241,D?1,D?1,D?2,D?2,D?3,D?3,D?4,D?4,23,242,D?5,D?5,D?6,D?6,D?7,D?7,D?8,D?8 930PRINTTAB(across%+letter%,down%)CHR$241;TAB(across%+letter%,down%+1)CHR$242 940NEXT:ENDPROC 950** 960DEFFNmid 970IFmode%=1 =19 ELSE IFmode%=2 =9 ELSE IFmode%=3 =8 980=5 990** 1000DEFPROCoff:VDU23;11,0;0;0;0:ENDPROC 1010** 1020DEFPROCname(end%) 1030ENVELOPE1,1,1,1,1,1,1,126,0,0,-50,100,100,8:ENVELOPE2,1,5,-5,-5,50,25,25,0,0,0,1,126,126 1040IF end% GOTO 1060 1050FOR loop%=1TO4:VDU28,loop%,31-(loop%*2),19-(loop%),loop%*2:COLOUR(132-loop%):CLS:PROCwait(1):SOUND1,1,25*loop%,20:NEXT 1060A%=&A:X%=0:Y%=&9:D=&900 1070FOR letter%=1 TO4:B$=MID$("FLIP",letter%,1):?D=ASC(B$):CALL&FFF1 1080VDU23,241,D?1,D?1,D?1,D?1,D?2,D?2,D?2,D?2,23,242,D?3,D?3,D?3,D?3,D?4,D?4,D?4,D?4,23,243,D?5,D?5,D?5,D?5,D?6,D?6,D?6,D?6,23,244,D?7,D?7,D?7,D?7,D?8,D?8,D?8,D?8 1090COLOUR8:PRINTTAB(letter%,2)CHR$241;TAB(letter%,3)CHR$242;TAB(letter%,4)CHR$243;TAB(letter%,5)CHR$244 1100COLOUR15:PRINTTAB(6+letter%,2)CHR$241;TAB(6+letter%,3)CHR$242;TAB(6+letter%,4)CHR$243;TAB(6+letter%,5)CHR$244:NEXT 1110IF end% ENDPROC 1120COLOUR5:PRINTTAB(5,8)"by":COLOUR3:PROCdouble("Joe Rhodes",11,4):X%=INKEY(300) 1130VDU26:COLOUR134:CLS:PROCplayer:COLOUR0:PROCdouble("Do you require",18,2):PROCdouble("instructions",21,2):PROCdouble(name$+" (Y/N) ?",24,2) 1140REPEAT:key%=GET:UNTILkey%=89 OR key%=78 1150IF key%=89 PROCinst 1160ENDPROC 1170** 1180DEFPROCwait(secs%) 1190TIME=0:REPEAT:UNTIL TIME>secs%*100:ENDPROC 1200** 1210DEFPROCsound:SOUND1,-10,(col%*10)+(row%*10),4:ENDPROC 1220** 1230DEFPROCplayer 1240COLOUR4:PROCdouble("Sound (Y/N) ?",14,2):PROCyn:IF key$="N" OR key$="n" THEN *FX210,1 1250CLS:COLOUR5:PROCdouble("Please enter your",6,2):PROCdouble("name - up to eight",10,2):PROCdouble("letters.",14,2):INPUT TAB(6,18)name$ 1260IF LEN(name$)>8 name$=LEFT$(name$,8) 1270ENDPROC 1280** 1290DEFPROCinst 1300VDU22,4:PROCoff:COLOUR129:COLOUR0:PROCdouble("Instructions.",2,1):COLOUR128:COLOUR1:PRINTTAB(1,5)"Displayed on the screen is an eight by eight board. All the sqares are colouredwhite. All you have to do is change themto blue." 1310PRINT'TAB(1)"A start position is randomly chosen anddisplayed as a blue sqare with a marker in the centre. As you move about the grid each square is flipped over." 1320PRINT'TAB(1)"Each square can be either red or blue. If the flipped square is red your"'"counter will move onto it and change thecolour to blue. If it is blue the squarewill be flipped but you will not be ableto move onto it." 1330PRINT'TAB(1)"You cannot move onto any blue square but when you wish, you can press the TABkey to swap the reds and blues.All whitesquares remain." 1340PRINT'TAB(1)"Use the cursor keys to move around the board."TAB(10,30)"Any key to begin.":IFGET:ENDPROC 1350** 1360DEFPROCyn 1370REPEAT:key$=GET$:UNTIL key$="Y" OR key$="y" OR key$="N" OR key$="n" 1380ENDPROC 1390** 1400DEFPROCagain 1410VDU22,2,28,4,7,15,1:PROCoff:PROCname(-1) 1420VDU26:COLOUR2:PROCdouble("Good try "+name$,10,2):PROCdouble("You took "+STR$(moves%),14,2):PROCdouble("moves but still",18,2):COLOUR14:PROCdouble("FAILED.",22,2) 1430COLOUR3:PROCdouble("Again (Y/N) ?",26,2):PROCyn:IF key$="Y" OR key$="y" THEN RUN 1440*FX4 1450END 1460** 1470DEFPROCerror 1480*FX210 1490IF ERR=17 PROCagain ELSE REPORT:PRINT" @ ";ERL:*FX4 1500END 1510DEFPROCmove:*TAPE 1520*KEY0 FORG%=0 TO TOP-PAGE STEP4:G%!&E00=G%!PAGE:N.|MPA.=&E00|MOLD|MRUN|M 1530*FX138,0,128
� FLIP Started 22/6/87 �>&E00 �move � � �error �2:�off:�name(0) (�1:�off:� Turn cursor off 26�init:� display board with counters and initialise <7�start:� select start position and show blue square F� P!�choice:� player selects move Z$�check:� check for win situation d � win n$�2:�off:�win:� show No. of moves x� key$="Y" � key$="y" � � �� �** � ��init ��19,2,4,0,0,0:*FX4,1 �N�23,255,256,256,256,256,256,256,256,256,23,240,60,60,126,126,126,126,60,60 ��0:�131:�double("FLIP",0,1) �:�1:�double("'TAB' to flip - cursor keys to move",28,1) ��131:� row%=3�26 ��8,row%)�24,�255) � �:�128 �Rsquare$=�255+�255+�255+�10+�8+�8+�8+�255+�255+�255+�10+�8+�8+�8+�255+�255+�255 �%� brd%(8,8):� col%=1�8:� row%=1�8 �brd%(col%,row%)=3 �:� moves%=0:win=�:� ** "��start ,5row%=�(6)+1:col%=�(6)+1:startpos%=brd%(col%,row%) 6brd%(col%,row%)=2 @�show(col%,row%,2,�) J� T** ^��show(A%,B%,C%,flag%) holdcol%=A%:oldrow%=B% r�C%=3 �131 |�C%=1 �129 ��C%=2 �130 �#�5+3*A%,B%*3)square$:� flag% � ��6+3*A%,B%*3+1)�240 �� �** ���choice � �:*FX15,1 �/move%=�:� (move%>135 � move%<140) � move%=9 �� move%=9 �flip:� �$� move%=136 � col%>1 col%=col%-1 �$� move%=137 � col%<8 col%=col%+1 �$� move%=138 � row%<8 row%=row%+1 �$� move%=139 � row%>1 row%=row%-1 :� brd%(col%,row%)=2 �7:col%=oldcol%:row%=oldrow%:�dBA N� brd%(col%,row%)=1 moves%=moves%+1 � brd%(col%,row%)=�(2):moves%=moves%+1 x� brd%(col%,row%)=1 newcol%=oldcol%:newrow%=oldrow%:�show(col%,row%,1,�):�sound:�wait(.8):�show(newcol%,newrow%,2,�) &�� brd%(col%,row%)=2 newcol%=oldcol%:newrow%=oldrow%:�show(col%,row%,2,�):�sound:col%=newcol%:row%=newrow%:�show(col%,row%,2,�):�dBA 06�show(oldcol%,oldrow%,2,�):brd%(oldcol%,oldrow%)=2 :8brd%(col%,row%)=2:�show(col%,row%,brd%(col%,row%),�) D� N��check X win=� b8� col1%=1�8:� row1%=1�8:� brd%(col1%,row1%)<>2 win=� l�:� v� �** � ��flip ��0,-10,5,3 �!storecol%=col%:storerow%=row% �� col%=1�8:� row%=1�8 �%brd%(col%,row%)=brd%(col%,row%)�3 �)� brd%(col%,row%)=0 brd%(col%,row%)=3 �&�show(col%,row%,brd%(col%,row%),�) ��:� �Hcol%=storecol%:row%=storerow%:�show(col%,row%,2,�):brd%(col%,row%)=2 ��0,-10,5,3 �� �** ��win �132:�:�28,1,17,18,1 �19,2,2,0,0,0:�130:� �1,2,50,60 *l� 13:�double("Well done "+name$,4,3):� 3:�double("You took "+�(moves%),8,3):�double("moves to win",12,3) 4�28,1,30,18,19:�134:� >"�0:�double("Play again ?",3,3) H�14:�double("Y/N",8,3):�yn R� \** f��double(text$,down%,mode%) pacross%=�mid-(�(text$)/2) zA%=&A:X%=0:Y%=&9:D=&900 �� letter%=1 � �(text$) �(B$=�text$,letter%,1):?D=�(B$):�&FFF1 �R�23,241,D?1,D?1,D?2,D?2,D?3,D?3,D?4,D?4,23,242,D?5,D?5,D?6,D?6,D?7,D?7,D?8,D?8 �>�across%+letter%,down%)�241;�across%+letter%,down%+1)�242 ��:� �** � ݤmid �,�mode%=1 =19 � �mode%=2 =9 � �mode%=3 =8 �=5 �** ���off:�23;11,0;0;0;0:� �** ���name(end%) N�1,1,1,1,1,1,1,126,0,0,-50,100,100,8:�2,1,5,-5,-5,50,25,25,0,0,0,1,126,126 � end% � �TdD d� loop%=1�4:�28,loop%,31-(loop%*2),19-(loop%),loop%*2:�(132-loop%):�:�wait(1):�1,1,25*loop%,20:� $A%=&A:X%=0:Y%=&9:D=&900 .8� letter%=1 �4:B$=�"FLIP",letter%,1):?D=�(B$):�&FFF1 8��23,241,D?1,D?1,D?1,D?1,D?2,D?2,D?2,D?2,23,242,D?3,D?3,D?3,D?3,D?4,D?4,D?4,D?4,23,243,D?5,D?5,D?5,D?5,D?6,D?6,D?6,D?6,23,244,D?7,D?7,D?7,D?7,D?8,D?8,D?8,D?8 BG�8:�letter%,2)�241;�letter%,3)�242;�letter%,4)�243;�letter%,5)�244 LR�15:�6+letter%,2)�241;�6+letter%,3)�242;�6+letter%,4)�243;�6+letter%,5)�244:� V� end% � `9�5:�5,8)"by":�3:�double("Joe Rhodes",11,4):X%=�(300) jt�26:�134:�:�player:�0:�double("Do you require",18,2):�double("instructions",21,2):�double(name$+" (Y/N) ?",24,2) t�:key%=�:�key%=89 � key%=78 ~� key%=89 �inst �� �** ���wait(secs%) ��=0:�:� �>secs%*100:� �** �*��sound:�1,-10,(col%*10)+(row%*10),4:� �** ���player �I�4:�double("Sound (Y/N) ?",14,2):�yn:� key$="N" � key$="n" � *FX210,1 �s�:�5:�double("Please enter your",6,2):�double("name - up to eight",10,2):�double("letters.",14,2):� �6,18)name$ � � �(name$)>8 name$=�name$,8) �� ** ��inst ��22,4:�off:�129:�0:�double("Instructions.",2,1):�128:�1:�1,5)"Displayed on the screen is an eight by eight board. All the sqares are colouredwhite. All you have to do is change themto blue." ��'�1)"A start position is randomly chosen anddisplayed as a blue sqare with a marker in the centre. As you move about the grid each square is flipped over." (��'�1)"Each square can be either red or blue. If the flipped square is red your"'"counter will move onto it and change thecolour to blue. If it is blue the squarewill be flipped but you will not be ableto move onto it." 2��'�1)"You cannot move onto any blue square but when you wish, you can press the TABkey to swap the reds and blues.All whitesquares remain." <W�'�1)"Use the cursor keys to move around the board."�10,30)"Any key to begin.":�:� F** P��yn Z8�:key$=�:� key$="Y" � key$="y" � key$="N" � key$="n" d� n** x��again �$�22,2,28,4,7,15,1:�off:�name(-1) ���26:�2:�double("Good try "+name$,10,2):�double("You took "+�(moves%),14,2):�double("moves but still",18,2):�14:�double("FAILED.",22,2) �B�3:�double("Again (Y/N) ?",26,2):�yn:� key$="Y" � key$="y" � � �*FX4 �� �** ���error � *FX210 �#� �=17 �again � �:�" @ ";�:*FX4 �� ���move:*TAPE �L*KEY0 FORG%=0 TO TOP-PAGE STEP4:G%!&E00=G%!PAGE:N.|MPA.=&E00|MOLD|MRUN|M �*FX138,0,128 �
00000000 0d 00 0a 1a f4 20 46 4c 49 50 20 53 74 61 72 74 |..... FLIP Start| 00000010 65 64 20 32 32 2f 36 2f 38 37 0d 00 0f 11 e7 90 |ed 22/6/87......| 00000020 3e 26 45 30 30 20 f2 6d 6f 76 65 0d 00 14 0e ee |>&E00 .move.....| 00000030 20 85 20 f2 65 72 72 6f 72 0d 00 1e 14 eb 32 3a | . .error.....2:| 00000040 f2 6f 66 66 3a f2 6e 61 6d 65 28 30 29 0d 00 28 |.off:.name(0)..(| 00000050 1d eb 31 3a f2 6f 66 66 3a f4 20 54 75 72 6e 20 |..1:.off:. Turn | 00000060 63 75 72 73 6f 72 20 6f 66 66 0d 00 32 36 f2 69 |cursor off..26.i| 00000070 6e 69 74 3a f4 20 64 69 73 70 6c 61 79 20 62 6f |nit:. display bo| 00000080 61 72 64 20 77 69 74 68 20 63 6f 75 6e 74 65 72 |ard with counter| 00000090 73 20 61 6e 64 20 69 6e 69 74 69 61 6c 69 73 65 |s and initialise| 000000a0 0d 00 3c 37 f2 73 74 61 72 74 3a f4 20 73 65 6c |..<7.start:. sel| 000000b0 65 63 74 20 73 74 61 72 74 20 70 6f 73 69 74 69 |ect start positi| 000000c0 6f 6e 20 61 6e 64 20 73 68 6f 77 20 62 6c 75 65 |on and show blue| 000000d0 20 73 71 75 61 72 65 0d 00 46 05 f5 0d 00 50 21 | square..F....P!| 000000e0 f2 63 68 6f 69 63 65 3a f4 20 70 6c 61 79 65 72 |.choice:. player| 000000f0 20 73 65 6c 65 63 74 73 20 6d 6f 76 65 0d 00 5a | selects move..Z| 00000100 24 f2 63 68 65 63 6b 3a f4 20 63 68 65 63 6b 20 |$.check:. check | 00000110 66 6f 72 20 77 69 6e 20 73 69 74 75 61 74 69 6f |for win situatio| 00000120 6e 0d 00 64 09 fd 20 77 69 6e 0d 00 6e 24 eb 32 |n..d.. win..n$.2| 00000130 3a f2 6f 66 66 3a f2 77 69 6e 3a f4 20 73 68 6f |:.off:.win:. sho| 00000140 77 20 4e 6f 2e 20 6f 66 20 6d 6f 76 65 73 0d 00 |w No. of moves..| 00000150 78 1d e7 20 6b 65 79 24 3d 22 59 22 20 84 20 6b |x.. key$="Y" . k| 00000160 65 79 24 3d 22 79 22 20 8c 20 f9 0d 00 82 05 e0 |ey$="y" . ......| 00000170 0d 00 8c 06 2a 2a 0d 00 96 0a dd f2 69 6e 69 74 |....**......init| 00000180 0d 00 a0 18 ef 31 39 2c 32 2c 34 2c 30 2c 30 2c |.....19,2,4,0,0,| 00000190 30 3a 2a 46 58 34 2c 31 0d 00 aa 4e ef 32 33 2c |0:*FX4,1...N.23,| 000001a0 32 35 35 2c 32 35 36 2c 32 35 36 2c 32 35 36 2c |255,256,256,256,| 000001b0 32 35 36 2c 32 35 36 2c 32 35 36 2c 32 35 36 2c |256,256,256,256,| 000001c0 32 35 36 2c 32 33 2c 32 34 30 2c 36 30 2c 36 30 |256,23,240,60,60| 000001d0 2c 31 32 36 2c 31 32 36 2c 31 32 36 2c 31 32 36 |,126,126,126,126| 000001e0 2c 36 30 2c 36 30 0d 00 b4 1f fb 30 3a fb 31 33 |,60,60.....0:.13| 000001f0 31 3a f2 64 6f 75 62 6c 65 28 22 46 4c 49 50 22 |1:.double("FLIP"| 00000200 2c 30 2c 31 29 0d 00 be 3a fb 31 3a f2 64 6f 75 |,0,1)...:.1:.dou| 00000210 62 6c 65 28 22 27 54 41 42 27 20 74 6f 20 66 6c |ble("'TAB' to fl| 00000220 69 70 20 2d 20 63 75 72 73 6f 72 20 6b 65 79 73 |ip - cursor keys| 00000230 20 74 6f 20 6d 6f 76 65 22 2c 32 38 2c 31 29 0d | to move",28,1).| 00000240 00 c8 14 fb 31 33 31 3a e3 20 72 6f 77 25 3d 33 |....131:. row%=3| 00000250 b8 32 36 0d 00 d2 16 f1 8a 38 2c 72 6f 77 25 29 |.26......8,row%)| 00000260 c4 32 34 2c bd 32 35 35 29 0d 00 dc 0a ed 3a fb |.24,.255).....:.| 00000270 31 32 38 0d 00 e6 52 73 71 75 61 72 65 24 3d bd |128...Rsquare$=.| 00000280 32 35 35 2b bd 32 35 35 2b bd 32 35 35 2b bd 31 |255+.255+.255+.1| 00000290 30 2b bd 38 2b bd 38 2b bd 38 2b bd 32 35 35 2b |0+.8+.8+.8+.255+| 000002a0 bd 32 35 35 2b bd 32 35 35 2b bd 31 30 2b bd 38 |.255+.255+.10+.8| 000002b0 2b bd 38 2b bd 38 2b bd 32 35 35 2b bd 32 35 35 |+.8+.8+.255+.255| 000002c0 2b bd 32 35 35 0d 00 f0 25 de 20 62 72 64 25 28 |+.255...%. brd%(| 000002d0 38 2c 38 29 3a e3 20 63 6f 6c 25 3d 31 b8 38 3a |8,8):. col%=1.8:| 000002e0 e3 20 72 6f 77 25 3d 31 b8 38 0d 00 fa 15 62 72 |. row%=1.8....br| 000002f0 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 3d 33 0d |d%(col%,row%)=3.| 00000300 01 04 07 ed 3a ed 0d 01 0e 14 6d 6f 76 65 73 25 |....:.....moves%| 00000310 3d 30 3a 77 69 6e 3d a3 3a e1 0d 01 18 06 2a 2a |=0:win=.:.....**| 00000320 0d 01 22 0b dd f2 73 74 61 72 74 0d 01 2c 35 72 |.."...start..,5r| 00000330 6f 77 25 3d b3 28 36 29 2b 31 3a 63 6f 6c 25 3d |ow%=.(6)+1:col%=| 00000340 b3 28 36 29 2b 31 3a 73 74 61 72 74 70 6f 73 25 |.(6)+1:startpos%| 00000350 3d 62 72 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 |=brd%(col%,row%)| 00000360 0d 01 36 15 62 72 64 25 28 63 6f 6c 25 2c 72 6f |..6.brd%(col%,ro| 00000370 77 25 29 3d 32 0d 01 40 18 f2 73 68 6f 77 28 63 |w%)=2..@..show(c| 00000380 6f 6c 25 2c 72 6f 77 25 2c 32 2c a3 29 0d 01 4a |ol%,row%,2,.)..J| 00000390 05 e1 0d 01 54 06 2a 2a 0d 01 5e 1a dd f2 73 68 |....T.**..^...sh| 000003a0 6f 77 28 41 25 2c 42 25 2c 43 25 2c 66 6c 61 67 |ow(A%,B%,C%,flag| 000003b0 25 29 0d 01 68 19 6f 6c 64 63 6f 6c 25 3d 41 25 |%)..h.oldcol%=A%| 000003c0 3a 6f 6c 64 72 6f 77 25 3d 42 25 0d 01 72 0e e7 |:oldrow%=B%..r..| 000003d0 43 25 3d 33 20 fb 31 33 31 0d 01 7c 0e e7 43 25 |C%=3 .131..|..C%| 000003e0 3d 31 20 fb 31 32 39 0d 01 86 0e e7 43 25 3d 32 |=1 .129.....C%=2| 000003f0 20 fb 31 33 30 0d 01 90 23 f1 8a 35 2b 33 2a 41 | .130...#..5+3*A| 00000400 25 2c 42 25 2a 33 29 73 71 75 61 72 65 24 3a e7 |%,B%*3)square$:.| 00000410 20 66 6c 61 67 25 20 e1 0d 01 9a 18 f1 8a 36 2b | flag% .......6+| 00000420 33 2a 41 25 2c 42 25 2a 33 2b 31 29 bd 32 34 30 |3*A%,B%*3+1).240| 00000430 0d 01 a4 05 e1 0d 01 ae 06 2a 2a 0d 01 b8 0c dd |.........**.....| 00000440 f2 63 68 6f 69 63 65 0d 01 c2 0d f5 3a 2a 46 58 |.choice.....:*FX| 00000450 31 35 2c 31 0d 01 cc 2f 6d 6f 76 65 25 3d a5 3a |15,1.../move%=.:| 00000460 fd 20 28 6d 6f 76 65 25 3e 31 33 35 20 80 20 6d |. (move%>135 . m| 00000470 6f 76 65 25 3c 31 34 30 29 20 84 20 6d 6f 76 65 |ove%<140) . move| 00000480 25 3d 39 0d 01 d6 15 e7 20 6d 6f 76 65 25 3d 39 |%=9..... move%=9| 00000490 20 f2 66 6c 69 70 3a e1 0d 01 e0 24 e7 20 6d 6f | .flip:....$. mo| 000004a0 76 65 25 3d 31 33 36 20 80 20 63 6f 6c 25 3e 31 |ve%=136 . col%>1| 000004b0 20 63 6f 6c 25 3d 63 6f 6c 25 2d 31 0d 01 ea 24 | col%=col%-1...$| 000004c0 e7 20 6d 6f 76 65 25 3d 31 33 37 20 80 20 63 6f |. move%=137 . co| 000004d0 6c 25 3c 38 20 63 6f 6c 25 3d 63 6f 6c 25 2b 31 |l%<8 col%=col%+1| 000004e0 0d 01 f4 24 e7 20 6d 6f 76 65 25 3d 31 33 38 20 |...$. move%=138 | 000004f0 80 20 72 6f 77 25 3c 38 20 72 6f 77 25 3d 72 6f |. row%<8 row%=ro| 00000500 77 25 2b 31 0d 01 fe 24 e7 20 6d 6f 76 65 25 3d |w%+1...$. move%=| 00000510 31 33 39 20 80 20 72 6f 77 25 3e 31 20 72 6f 77 |139 . row%>1 row| 00000520 25 3d 72 6f 77 25 2d 31 0d 02 08 3a e7 20 62 72 |%=row%-1...:. br| 00000530 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 3d 32 20 |d%(col%,row%)=2 | 00000540 ef 37 3a 63 6f 6c 25 3d 6f 6c 64 63 6f 6c 25 3a |.7:col%=oldcol%:| 00000550 72 6f 77 25 3d 6f 6c 64 72 6f 77 25 3a e5 8d 64 |row%=oldrow%:..d| 00000560 42 41 0d 02 12 4e e7 20 62 72 64 25 28 63 6f 6c |BA...N. brd%(col| 00000570 25 2c 72 6f 77 25 29 3d 31 20 6d 6f 76 65 73 25 |%,row%)=1 moves%| 00000580 3d 6d 6f 76 65 73 25 2b 31 20 8b 20 62 72 64 25 |=moves%+1 . brd%| 00000590 28 63 6f 6c 25 2c 72 6f 77 25 29 3d b3 28 32 29 |(col%,row%)=.(2)| 000005a0 3a 6d 6f 76 65 73 25 3d 6d 6f 76 65 73 25 2b 31 |:moves%=moves%+1| 000005b0 0d 02 1c 78 e7 20 62 72 64 25 28 63 6f 6c 25 2c |...x. brd%(col%,| 000005c0 72 6f 77 25 29 3d 31 20 6e 65 77 63 6f 6c 25 3d |row%)=1 newcol%=| 000005d0 6f 6c 64 63 6f 6c 25 3a 6e 65 77 72 6f 77 25 3d |oldcol%:newrow%=| 000005e0 6f 6c 64 72 6f 77 25 3a f2 73 68 6f 77 28 63 6f |oldrow%:.show(co| 000005f0 6c 25 2c 72 6f 77 25 2c 31 2c b9 29 3a f2 73 6f |l%,row%,1,.):.so| 00000600 75 6e 64 3a f2 77 61 69 74 28 2e 38 29 3a f2 73 |und:.wait(.8):.s| 00000610 68 6f 77 28 6e 65 77 63 6f 6c 25 2c 6e 65 77 72 |how(newcol%,newr| 00000620 6f 77 25 2c 32 2c b9 29 0d 02 26 88 e7 20 62 72 |ow%,2,.)..&.. br| 00000630 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 3d 32 20 |d%(col%,row%)=2 | 00000640 6e 65 77 63 6f 6c 25 3d 6f 6c 64 63 6f 6c 25 3a |newcol%=oldcol%:| 00000650 6e 65 77 72 6f 77 25 3d 6f 6c 64 72 6f 77 25 3a |newrow%=oldrow%:| 00000660 f2 73 68 6f 77 28 63 6f 6c 25 2c 72 6f 77 25 2c |.show(col%,row%,| 00000670 32 2c b9 29 3a f2 73 6f 75 6e 64 3a 63 6f 6c 25 |2,.):.sound:col%| 00000680 3d 6e 65 77 63 6f 6c 25 3a 72 6f 77 25 3d 6e 65 |=newcol%:row%=ne| 00000690 77 72 6f 77 25 3a f2 73 68 6f 77 28 63 6f 6c 25 |wrow%:.show(col%| 000006a0 2c 72 6f 77 25 2c 32 2c a3 29 3a e5 8d 64 42 41 |,row%,2,.):..dBA| 000006b0 0d 02 30 36 f2 73 68 6f 77 28 6f 6c 64 63 6f 6c |..06.show(oldcol| 000006c0 25 2c 6f 6c 64 72 6f 77 25 2c 32 2c b9 29 3a 62 |%,oldrow%,2,.):b| 000006d0 72 64 25 28 6f 6c 64 63 6f 6c 25 2c 6f 6c 64 72 |rd%(oldcol%,oldr| 000006e0 6f 77 25 29 3d 32 0d 02 3a 38 62 72 64 25 28 63 |ow%)=2..:8brd%(c| 000006f0 6f 6c 25 2c 72 6f 77 25 29 3d 32 3a f2 73 68 6f |ol%,row%)=2:.sho| 00000700 77 28 63 6f 6c 25 2c 72 6f 77 25 2c 62 72 64 25 |w(col%,row%,brd%| 00000710 28 63 6f 6c 25 2c 72 6f 77 25 29 2c a3 29 0d 02 |(col%,row%),.)..| 00000720 44 05 e1 0d 02 4e 0b dd f2 63 68 65 63 6b 0d 02 |D....N...check..| 00000730 58 09 77 69 6e 3d b9 0d 02 62 38 e3 20 63 6f 6c |X.win=...b8. col| 00000740 31 25 3d 31 b8 38 3a e3 20 72 6f 77 31 25 3d 31 |1%=1.8:. row1%=1| 00000750 b8 38 3a e7 20 62 72 64 25 28 63 6f 6c 31 25 2c |.8:. brd%(col1%,| 00000760 72 6f 77 31 25 29 3c 3e 32 20 77 69 6e 3d a3 0d |row1%)<>2 win=..| 00000770 02 6c 07 ed 3a ed 0d 02 76 05 e1 0d 02 80 06 2a |.l..:...v......*| 00000780 2a 0d 02 8a 0a dd f2 66 6c 69 70 0d 02 94 0e d4 |*......flip.....| 00000790 30 2c 2d 31 30 2c 35 2c 33 0d 02 9e 21 73 74 6f |0,-10,5,3...!sto| 000007a0 72 65 63 6f 6c 25 3d 63 6f 6c 25 3a 73 74 6f 72 |recol%=col%:stor| 000007b0 65 72 6f 77 25 3d 72 6f 77 25 0d 02 a8 19 e3 20 |erow%=row%..... | 000007c0 63 6f 6c 25 3d 31 b8 38 3a e3 20 72 6f 77 25 3d |col%=1.8:. row%=| 000007d0 31 b8 38 0d 02 b2 25 62 72 64 25 28 63 6f 6c 25 |1.8...%brd%(col%| 000007e0 2c 72 6f 77 25 29 3d 62 72 64 25 28 63 6f 6c 25 |,row%)=brd%(col%| 000007f0 2c 72 6f 77 25 29 82 33 0d 02 bc 29 e7 20 62 72 |,row%).3...). br| 00000800 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 3d 30 20 |d%(col%,row%)=0 | 00000810 62 72 64 25 28 63 6f 6c 25 2c 72 6f 77 25 29 3d |brd%(col%,row%)=| 00000820 33 0d 02 c6 26 f2 73 68 6f 77 28 63 6f 6c 25 2c |3...&.show(col%,| 00000830 72 6f 77 25 2c 62 72 64 25 28 63 6f 6c 25 2c 72 |row%,brd%(col%,r| 00000840 6f 77 25 29 2c b9 29 0d 02 d0 07 ed 3a ed 0d 02 |ow%),.).....:...| 00000850 da 48 63 6f 6c 25 3d 73 74 6f 72 65 63 6f 6c 25 |.Hcol%=storecol%| 00000860 3a 72 6f 77 25 3d 73 74 6f 72 65 72 6f 77 25 3a |:row%=storerow%:| 00000870 f2 73 68 6f 77 28 63 6f 6c 25 2c 72 6f 77 25 2c |.show(col%,row%,| 00000880 32 2c a3 29 3a 62 72 64 25 28 63 6f 6c 25 2c 72 |2,.):brd%(col%,r| 00000890 6f 77 25 29 3d 32 0d 02 e4 0e d4 30 2c 2d 31 30 |ow%)=2.....0,-10| 000008a0 2c 35 2c 33 0d 02 ee 05 e1 0d 02 f8 06 2a 2a 0d |,5,3.........**.| 000008b0 03 02 09 dd f2 77 69 6e 0d 03 0c 18 fb 31 33 32 |.....win.....132| 000008c0 3a db 3a ef 32 38 2c 31 2c 31 37 2c 31 38 2c 31 |:.:.28,1,17,18,1| 000008d0 0d 03 16 18 ef 31 39 2c 32 2c 32 2c 30 2c 30 2c |.....19,2,2,0,0,| 000008e0 30 3a fb 31 33 30 3a db 0d 03 20 0e d4 31 2c 32 |0:.130:... ..1,2| 000008f0 2c 35 30 2c 36 30 0d 03 2a 6c fb 20 31 33 3a f2 |,50,60..*l. 13:.| 00000900 64 6f 75 62 6c 65 28 22 57 65 6c 6c 20 64 6f 6e |double("Well don| 00000910 65 20 22 2b 6e 61 6d 65 24 2c 34 2c 33 29 3a fb |e "+name$,4,3):.| 00000920 20 33 3a f2 64 6f 75 62 6c 65 28 22 59 6f 75 20 | 3:.double("You | 00000930 74 6f 6f 6b 20 22 2b c3 28 6d 6f 76 65 73 25 29 |took "+.(moves%)| 00000940 2c 38 2c 33 29 3a f2 64 6f 75 62 6c 65 28 22 6d |,8,3):.double("m| 00000950 6f 76 65 73 20 74 6f 20 77 69 6e 22 2c 31 32 2c |oves to win",12,| 00000960 33 29 0d 03 34 19 ef 32 38 2c 31 2c 33 30 2c 31 |3)..4..28,1,30,1| 00000970 38 2c 31 39 3a fb 31 33 34 3a db 0d 03 3e 22 fb |8,19:.134:...>".| 00000980 30 3a f2 64 6f 75 62 6c 65 28 22 50 6c 61 79 20 |0:.double("Play | 00000990 61 67 61 69 6e 20 3f 22 2c 33 2c 33 29 0d 03 48 |again ?",3,3)..H| 000009a0 1e fb 31 34 3a f2 64 6f 75 62 6c 65 28 22 59 2f |..14:.double("Y/| 000009b0 4e 22 2c 38 2c 33 29 3a f2 79 6e 0d 03 52 05 e1 |N",8,3):.yn..R..| 000009c0 0d 03 5c 06 2a 2a 0d 03 66 1f dd f2 64 6f 75 62 |..\.**..f...doub| 000009d0 6c 65 28 74 65 78 74 24 2c 64 6f 77 6e 25 2c 6d |le(text$,down%,m| 000009e0 6f 64 65 25 29 0d 03 70 1d 61 63 72 6f 73 73 25 |ode%)..p.across%| 000009f0 3d a4 6d 69 64 2d 28 a9 28 74 65 78 74 24 29 2f |=.mid-(.(text$)/| 00000a00 32 29 0d 03 7a 1b 41 25 3d 26 41 3a 58 25 3d 30 |2)..z.A%=&A:X%=0| 00000a10 3a 59 25 3d 26 39 3a 44 3d 26 39 30 30 0d 03 84 |:Y%=&9:D=&900...| 00000a20 1a e3 20 6c 65 74 74 65 72 25 3d 31 20 b8 20 a9 |.. letter%=1 . .| 00000a30 28 74 65 78 74 24 29 0d 03 8e 28 42 24 3d c1 74 |(text$)...(B$=.t| 00000a40 65 78 74 24 2c 6c 65 74 74 65 72 25 2c 31 29 3a |ext$,letter%,1):| 00000a50 3f 44 3d 97 28 42 24 29 3a d6 26 46 46 46 31 0d |?D=.(B$):.&FFF1.| 00000a60 03 98 52 ef 32 33 2c 32 34 31 2c 44 3f 31 2c 44 |..R.23,241,D?1,D| 00000a70 3f 31 2c 44 3f 32 2c 44 3f 32 2c 44 3f 33 2c 44 |?1,D?2,D?2,D?3,D| 00000a80 3f 33 2c 44 3f 34 2c 44 3f 34 2c 32 33 2c 32 34 |?3,D?4,D?4,23,24| 00000a90 32 2c 44 3f 35 2c 44 3f 35 2c 44 3f 36 2c 44 3f |2,D?5,D?5,D?6,D?| 00000aa0 36 2c 44 3f 37 2c 44 3f 37 2c 44 3f 38 2c 44 3f |6,D?7,D?7,D?8,D?| 00000ab0 38 0d 03 a2 3e f1 8a 61 63 72 6f 73 73 25 2b 6c |8...>..across%+l| 00000ac0 65 74 74 65 72 25 2c 64 6f 77 6e 25 29 bd 32 34 |etter%,down%).24| 00000ad0 31 3b 8a 61 63 72 6f 73 73 25 2b 6c 65 74 74 65 |1;.across%+lette| 00000ae0 72 25 2c 64 6f 77 6e 25 2b 31 29 bd 32 34 32 0d |r%,down%+1).242.| 00000af0 03 ac 07 ed 3a e1 0d 03 b6 06 2a 2a 0d 03 c0 09 |....:.....**....| 00000b00 dd a4 6d 69 64 0d 03 ca 2c e7 6d 6f 64 65 25 3d |..mid...,.mode%=| 00000b10 31 20 3d 31 39 20 8b 20 e7 6d 6f 64 65 25 3d 32 |1 =19 . .mode%=2| 00000b20 20 3d 39 20 8b 20 e7 6d 6f 64 65 25 3d 33 20 3d | =9 . .mode%=3 =| 00000b30 38 0d 03 d4 06 3d 35 0d 03 de 06 2a 2a 0d 03 e8 |8....=5....**...| 00000b40 1a dd f2 6f 66 66 3a ef 32 33 3b 31 31 2c 30 3b |...off:.23;11,0;| 00000b50 30 3b 30 3b 30 3a e1 0d 03 f2 06 2a 2a 0d 03 fc |0;0;0:.....**...| 00000b60 10 dd f2 6e 61 6d 65 28 65 6e 64 25 29 0d 04 06 |...name(end%)...| 00000b70 4e e2 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c |N.1,1,1,1,1,1,1,| 00000b80 31 32 36 2c 30 2c 30 2c 2d 35 30 2c 31 30 30 2c |126,0,0,-50,100,| 00000b90 31 30 30 2c 38 3a e2 32 2c 31 2c 35 2c 2d 35 2c |100,8:.2,1,5,-5,| 00000ba0 2d 35 2c 35 30 2c 32 35 2c 32 35 2c 30 2c 30 2c |-5,50,25,25,0,0,| 00000bb0 30 2c 31 2c 31 32 36 2c 31 32 36 0d 04 10 11 e7 |0,1,126,126.....| 00000bc0 20 65 6e 64 25 20 e5 20 8d 54 64 44 0d 04 1a 64 | end% . .TdD...d| 00000bd0 e3 20 6c 6f 6f 70 25 3d 31 b8 34 3a ef 32 38 2c |. loop%=1.4:.28,| 00000be0 6c 6f 6f 70 25 2c 33 31 2d 28 6c 6f 6f 70 25 2a |loop%,31-(loop%*| 00000bf0 32 29 2c 31 39 2d 28 6c 6f 6f 70 25 29 2c 6c 6f |2),19-(loop%),lo| 00000c00 6f 70 25 2a 32 3a fb 28 31 33 32 2d 6c 6f 6f 70 |op%*2:.(132-loop| 00000c10 25 29 3a db 3a f2 77 61 69 74 28 31 29 3a d4 31 |%):.:.wait(1):.1| 00000c20 2c 31 2c 32 35 2a 6c 6f 6f 70 25 2c 32 30 3a ed |,1,25*loop%,20:.| 00000c30 0d 04 24 1b 41 25 3d 26 41 3a 58 25 3d 30 3a 59 |..$.A%=&A:X%=0:Y| 00000c40 25 3d 26 39 3a 44 3d 26 39 30 30 0d 04 2e 38 e3 |%=&9:D=&900...8.| 00000c50 20 6c 65 74 74 65 72 25 3d 31 20 b8 34 3a 42 24 | letter%=1 .4:B$| 00000c60 3d c1 22 46 4c 49 50 22 2c 6c 65 74 74 65 72 25 |=."FLIP",letter%| 00000c70 2c 31 29 3a 3f 44 3d 97 28 42 24 29 3a d6 26 46 |,1):?D=.(B$):.&F| 00000c80 46 46 31 0d 04 38 a0 ef 32 33 2c 32 34 31 2c 44 |FF1..8..23,241,D| 00000c90 3f 31 2c 44 3f 31 2c 44 3f 31 2c 44 3f 31 2c 44 |?1,D?1,D?1,D?1,D| 00000ca0 3f 32 2c 44 3f 32 2c 44 3f 32 2c 44 3f 32 2c 32 |?2,D?2,D?2,D?2,2| 00000cb0 33 2c 32 34 32 2c 44 3f 33 2c 44 3f 33 2c 44 3f |3,242,D?3,D?3,D?| 00000cc0 33 2c 44 3f 33 2c 44 3f 34 2c 44 3f 34 2c 44 3f |3,D?3,D?4,D?4,D?| 00000cd0 34 2c 44 3f 34 2c 32 33 2c 32 34 33 2c 44 3f 35 |4,D?4,23,243,D?5| 00000ce0 2c 44 3f 35 2c 44 3f 35 2c 44 3f 35 2c 44 3f 36 |,D?5,D?5,D?5,D?6| 00000cf0 2c 44 3f 36 2c 44 3f 36 2c 44 3f 36 2c 32 33 2c |,D?6,D?6,D?6,23,| 00000d00 32 34 34 2c 44 3f 37 2c 44 3f 37 2c 44 3f 37 2c |244,D?7,D?7,D?7,| 00000d10 44 3f 37 2c 44 3f 38 2c 44 3f 38 2c 44 3f 38 2c |D?7,D?8,D?8,D?8,| 00000d20 44 3f 38 0d 04 42 47 fb 38 3a f1 8a 6c 65 74 74 |D?8..BG.8:..lett| 00000d30 65 72 25 2c 32 29 bd 32 34 31 3b 8a 6c 65 74 74 |er%,2).241;.lett| 00000d40 65 72 25 2c 33 29 bd 32 34 32 3b 8a 6c 65 74 74 |er%,3).242;.lett| 00000d50 65 72 25 2c 34 29 bd 32 34 33 3b 8a 6c 65 74 74 |er%,4).243;.lett| 00000d60 65 72 25 2c 35 29 bd 32 34 34 0d 04 4c 52 fb 31 |er%,5).244..LR.1| 00000d70 35 3a f1 8a 36 2b 6c 65 74 74 65 72 25 2c 32 29 |5:..6+letter%,2)| 00000d80 bd 32 34 31 3b 8a 36 2b 6c 65 74 74 65 72 25 2c |.241;.6+letter%,| 00000d90 33 29 bd 32 34 32 3b 8a 36 2b 6c 65 74 74 65 72 |3).242;.6+letter| 00000da0 25 2c 34 29 bd 32 34 33 3b 8a 36 2b 6c 65 74 74 |%,4).243;.6+lett| 00000db0 65 72 25 2c 35 29 bd 32 34 34 3a ed 0d 04 56 0c |er%,5).244:...V.| 00000dc0 e7 20 65 6e 64 25 20 e1 0d 04 60 39 fb 35 3a f1 |. end% ...`9.5:.| 00000dd0 8a 35 2c 38 29 22 62 79 22 3a fb 33 3a f2 64 6f |.5,8)"by":.3:.do| 00000de0 75 62 6c 65 28 22 4a 6f 65 20 52 68 6f 64 65 73 |uble("Joe Rhodes| 00000df0 22 2c 31 31 2c 34 29 3a 58 25 3d a6 28 33 30 30 |",11,4):X%=.(300| 00000e00 29 0d 04 6a 74 ef 32 36 3a fb 31 33 34 3a db 3a |)..jt.26:.134:.:| 00000e10 f2 70 6c 61 79 65 72 3a fb 30 3a f2 64 6f 75 62 |.player:.0:.doub| 00000e20 6c 65 28 22 44 6f 20 79 6f 75 20 72 65 71 75 69 |le("Do you requi| 00000e30 72 65 22 2c 31 38 2c 32 29 3a f2 64 6f 75 62 6c |re",18,2):.doubl| 00000e40 65 28 22 69 6e 73 74 72 75 63 74 69 6f 6e 73 22 |e("instructions"| 00000e50 2c 32 31 2c 32 29 3a f2 64 6f 75 62 6c 65 28 6e |,21,2):.double(n| 00000e60 61 6d 65 24 2b 22 20 28 59 2f 4e 29 20 3f 22 2c |ame$+" (Y/N) ?",| 00000e70 32 34 2c 32 29 0d 04 74 1f f5 3a 6b 65 79 25 3d |24,2)..t..:key%=| 00000e80 a5 3a fd 6b 65 79 25 3d 38 39 20 84 20 6b 65 79 |.:.key%=89 . key| 00000e90 25 3d 37 38 0d 04 7e 13 e7 20 6b 65 79 25 3d 38 |%=78..~.. key%=8| 00000ea0 39 20 f2 69 6e 73 74 0d 04 88 05 e1 0d 04 92 06 |9 .inst.........| 00000eb0 2a 2a 0d 04 9c 11 dd f2 77 61 69 74 28 73 65 63 |**......wait(sec| 00000ec0 73 25 29 0d 04 a6 19 d1 3d 30 3a f5 3a fd 20 91 |s%).....=0:.:. .| 00000ed0 3e 73 65 63 73 25 2a 31 30 30 3a e1 0d 04 b0 06 |>secs%*100:.....| 00000ee0 2a 2a 0d 04 ba 2a dd f2 73 6f 75 6e 64 3a d4 31 |**...*..sound:.1| 00000ef0 2c 2d 31 30 2c 28 63 6f 6c 25 2a 31 30 29 2b 28 |,-10,(col%*10)+(| 00000f00 72 6f 77 25 2a 31 30 29 2c 34 3a e1 0d 04 c4 06 |row%*10),4:.....| 00000f10 2a 2a 0d 04 ce 0c dd f2 70 6c 61 79 65 72 0d 04 |**......player..| 00000f20 d8 49 fb 34 3a f2 64 6f 75 62 6c 65 28 22 53 6f |.I.4:.double("So| 00000f30 75 6e 64 20 28 59 2f 4e 29 20 3f 22 2c 31 34 2c |und (Y/N) ?",14,| 00000f40 32 29 3a f2 79 6e 3a e7 20 6b 65 79 24 3d 22 4e |2):.yn:. key$="N| 00000f50 22 20 84 20 6b 65 79 24 3d 22 6e 22 20 8c 20 2a |" . key$="n" . *| 00000f60 46 58 32 31 30 2c 31 0d 04 e2 73 db 3a fb 35 3a |FX210,1...s.:.5:| 00000f70 f2 64 6f 75 62 6c 65 28 22 50 6c 65 61 73 65 20 |.double("Please | 00000f80 65 6e 74 65 72 20 79 6f 75 72 22 2c 36 2c 32 29 |enter your",6,2)| 00000f90 3a f2 64 6f 75 62 6c 65 28 22 6e 61 6d 65 20 2d |:.double("name -| 00000fa0 20 75 70 20 74 6f 20 65 69 67 68 74 22 2c 31 30 | up to eight",10| 00000fb0 2c 32 29 3a f2 64 6f 75 62 6c 65 28 22 6c 65 74 |,2):.double("let| 00000fc0 74 65 72 73 2e 22 2c 31 34 2c 32 29 3a e8 20 8a |ters.",14,2):. .| 00000fd0 36 2c 31 38 29 6e 61 6d 65 24 0d 04 ec 20 e7 20 |6,18)name$... . | 00000fe0 a9 28 6e 61 6d 65 24 29 3e 38 20 6e 61 6d 65 24 |.(name$)>8 name$| 00000ff0 3d c0 6e 61 6d 65 24 2c 38 29 0d 04 f6 05 e1 0d |=.name$,8)......| 00001000 05 00 06 2a 2a 0d 05 0a 0a dd f2 69 6e 73 74 0d |...**......inst.| 00001010 05 14 c3 ef 32 32 2c 34 3a f2 6f 66 66 3a fb 31 |....22,4:.off:.1| 00001020 32 39 3a fb 30 3a f2 64 6f 75 62 6c 65 28 22 49 |29:.0:.double("I| 00001030 6e 73 74 72 75 63 74 69 6f 6e 73 2e 22 2c 32 2c |nstructions.",2,| 00001040 31 29 3a fb 31 32 38 3a fb 31 3a f1 8a 31 2c 35 |1):.128:.1:..1,5| 00001050 29 22 44 69 73 70 6c 61 79 65 64 20 6f 6e 20 74 |)"Displayed on t| 00001060 68 65 20 73 63 72 65 65 6e 20 69 73 20 61 6e 20 |he screen is an | 00001070 65 69 67 68 74 20 62 79 20 65 69 67 68 74 20 62 |eight by eight b| 00001080 6f 61 72 64 2e 20 41 6c 6c 20 74 68 65 20 73 71 |oard. All the sq| 00001090 61 72 65 73 20 61 72 65 20 63 6f 6c 6f 75 72 65 |ares are coloure| 000010a0 64 77 68 69 74 65 2e 20 41 6c 6c 20 79 6f 75 20 |dwhite. All you | 000010b0 68 61 76 65 20 74 6f 20 64 6f 20 69 73 20 63 68 |have to do is ch| 000010c0 61 6e 67 65 20 74 68 65 6d 74 6f 20 62 6c 75 65 |ange themto blue| 000010d0 2e 22 0d 05 1e a3 f1 27 8a 31 29 22 41 20 73 74 |.".....'.1)"A st| 000010e0 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 |art position is | 000010f0 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 73 65 6e 20 |randomly chosen | 00001100 61 6e 64 64 69 73 70 6c 61 79 65 64 20 61 73 20 |anddisplayed as | 00001110 61 20 62 6c 75 65 20 73 71 61 72 65 20 77 69 74 |a blue sqare wit| 00001120 68 20 61 20 6d 61 72 6b 65 72 20 69 6e 20 74 68 |h a marker in th| 00001130 65 20 63 65 6e 74 72 65 2e 20 41 73 20 79 6f 75 |e centre. As you| 00001140 20 6d 6f 76 65 20 61 62 6f 75 74 20 74 68 65 20 | move about the | 00001150 20 20 20 67 72 69 64 20 65 61 63 68 20 73 71 75 | grid each squ| 00001160 61 72 65 20 69 73 20 66 6c 69 70 70 65 64 20 6f |are is flipped o| 00001170 76 65 72 2e 22 0d 05 28 de f1 27 8a 31 29 22 45 |ver."..(..'.1)"E| 00001180 61 63 68 20 73 71 75 61 72 65 20 63 61 6e 20 62 |ach square can b| 00001190 65 20 65 69 74 68 65 72 20 72 65 64 20 6f 72 20 |e either red or | 000011a0 62 6c 75 65 2e 20 49 66 20 74 68 65 20 66 6c 69 |blue. If the fli| 000011b0 70 70 65 64 20 73 71 75 61 72 65 20 69 73 20 72 |pped square is r| 000011c0 65 64 20 79 6f 75 72 22 27 22 63 6f 75 6e 74 65 |ed your"'"counte| 000011d0 72 20 77 69 6c 6c 20 6d 6f 76 65 20 6f 6e 74 6f |r will move onto| 000011e0 20 69 74 20 61 6e 64 20 63 68 61 6e 67 65 20 74 | it and change t| 000011f0 68 65 63 6f 6c 6f 75 72 20 74 6f 20 62 6c 75 65 |hecolour to blue| 00001200 2e 20 49 66 20 69 74 20 69 73 20 62 6c 75 65 20 |. If it is blue | 00001210 74 68 65 20 73 71 75 61 72 65 77 69 6c 6c 20 62 |the squarewill b| 00001220 65 20 66 6c 69 70 70 65 64 20 62 75 74 20 79 6f |e flipped but yo| 00001230 75 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 62 |u will not be ab| 00001240 6c 65 74 6f 20 6d 6f 76 65 20 6f 6e 74 6f 20 69 |leto move onto i| 00001250 74 2e 22 0d 05 32 91 f1 27 8a 31 29 22 59 6f 75 |t."..2..'.1)"You| 00001260 20 63 61 6e 6e 6f 74 20 6d 6f 76 65 20 6f 6e 74 | cannot move ont| 00001270 6f 20 61 6e 79 20 62 6c 75 65 20 73 71 75 61 72 |o any blue squar| 00001280 65 20 20 20 62 75 74 20 77 68 65 6e 20 79 6f 75 |e but when you| 00001290 20 77 69 73 68 2c 20 79 6f 75 20 63 61 6e 20 70 | wish, you can p| 000012a0 72 65 73 73 20 74 68 65 20 54 41 42 6b 65 79 20 |ress the TABkey | 000012b0 74 6f 20 73 77 61 70 20 74 68 65 20 72 65 64 73 |to swap the reds| 000012c0 20 61 6e 64 20 62 6c 75 65 73 2e 41 6c 6c 20 77 | and blues.All w| 000012d0 68 69 74 65 73 71 75 61 72 65 73 20 72 65 6d 61 |hitesquares rema| 000012e0 69 6e 2e 22 0d 05 3c 57 f1 27 8a 31 29 22 55 73 |in."..<W.'.1)"Us| 000012f0 65 20 74 68 65 20 63 75 72 73 6f 72 20 6b 65 79 |e the cursor key| 00001300 73 20 74 6f 20 6d 6f 76 65 20 61 72 6f 75 6e 64 |s to move around| 00001310 20 74 68 65 20 62 6f 61 72 64 2e 22 8a 31 30 2c | the board.".10,| 00001320 33 30 29 22 41 6e 79 20 6b 65 79 20 74 6f 20 62 |30)"Any key to b| 00001330 65 67 69 6e 2e 22 3a e7 a5 3a e1 0d 05 46 06 2a |egin.":..:...F.*| 00001340 2a 0d 05 50 08 dd f2 79 6e 0d 05 5a 38 f5 3a 6b |*..P...yn..Z8.:k| 00001350 65 79 24 3d be 3a fd 20 6b 65 79 24 3d 22 59 22 |ey$=.:. key$="Y"| 00001360 20 84 20 6b 65 79 24 3d 22 79 22 20 84 20 6b 65 | . key$="y" . ke| 00001370 79 24 3d 22 4e 22 20 84 20 6b 65 79 24 3d 22 6e |y$="N" . key$="n| 00001380 22 0d 05 64 05 e1 0d 05 6e 06 2a 2a 0d 05 78 0b |"..d....n.**..x.| 00001390 dd f2 61 67 61 69 6e 0d 05 82 24 ef 32 32 2c 32 |..again...$.22,2| 000013a0 2c 32 38 2c 34 2c 37 2c 31 35 2c 31 3a f2 6f 66 |,28,4,7,15,1:.of| 000013b0 66 3a f2 6e 61 6d 65 28 2d 31 29 0d 05 8c 8a ef |f:.name(-1).....| 000013c0 32 36 3a fb 32 3a f2 64 6f 75 62 6c 65 28 22 47 |26:.2:.double("G| 000013d0 6f 6f 64 20 74 72 79 20 22 2b 6e 61 6d 65 24 2c |ood try "+name$,| 000013e0 31 30 2c 32 29 3a f2 64 6f 75 62 6c 65 28 22 59 |10,2):.double("Y| 000013f0 6f 75 20 74 6f 6f 6b 20 22 2b c3 28 6d 6f 76 65 |ou took "+.(move| 00001400 73 25 29 2c 31 34 2c 32 29 3a f2 64 6f 75 62 6c |s%),14,2):.doubl| 00001410 65 28 22 6d 6f 76 65 73 20 62 75 74 20 73 74 69 |e("moves but sti| 00001420 6c 6c 22 2c 31 38 2c 32 29 3a fb 31 34 3a f2 64 |ll",18,2):.14:.d| 00001430 6f 75 62 6c 65 28 22 46 41 49 4c 45 44 2e 22 2c |ouble("FAILED.",| 00001440 32 32 2c 32 29 0d 05 96 42 fb 33 3a f2 64 6f 75 |22,2)...B.3:.dou| 00001450 62 6c 65 28 22 41 67 61 69 6e 20 28 59 2f 4e 29 |ble("Again (Y/N)| 00001460 20 3f 22 2c 32 36 2c 32 29 3a f2 79 6e 3a e7 20 | ?",26,2):.yn:. | 00001470 6b 65 79 24 3d 22 59 22 20 84 20 6b 65 79 24 3d |key$="Y" . key$=| 00001480 22 79 22 20 8c 20 f9 0d 05 a0 08 2a 46 58 34 0d |"y" . .....*FX4.| 00001490 05 aa 05 e0 0d 05 b4 06 2a 2a 0d 05 be 0b dd f2 |........**......| 000014a0 65 72 72 6f 72 0d 05 c8 0a 2a 46 58 32 31 30 0d |error....*FX210.| 000014b0 05 d2 23 e7 20 9f 3d 31 37 20 f2 61 67 61 69 6e |..#. .=17 .again| 000014c0 20 8b 20 f6 3a f1 22 20 40 20 22 3b 9e 3a 2a 46 | . .:." @ ";.:*F| 000014d0 58 34 0d 05 dc 05 e0 0d 05 e6 10 dd f2 6d 6f 76 |X4...........mov| 000014e0 65 3a 2a 54 41 50 45 0d 05 f0 4c 2a 4b 45 59 30 |e:*TAPE...L*KEY0| 000014f0 20 46 4f 52 47 25 3d 30 20 54 4f 20 54 4f 50 2d | FORG%=0 TO TOP-| 00001500 50 41 47 45 20 53 54 45 50 34 3a 47 25 21 26 45 |PAGE STEP4:G%!&E| 00001510 30 30 3d 47 25 21 50 41 47 45 3a 4e 2e 7c 4d 50 |00=G%!PAGE:N.|MP| 00001520 41 2e 3d 26 45 30 30 7c 4d 4f 4c 44 7c 4d 52 55 |A.=&E00|MOLD|MRU| 00001530 4e 7c 4d 0d 05 fa 10 2a 46 58 31 33 38 2c 30 2c |N|M....*FX138,0,| 00001540 31 32 38 0d ff |128..| 00001545