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:

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
22-07-88/FLIP.m0
22-07-88/FLIP.m1
22-07-88/FLIP.m2
22-07-88/FLIP.m4
22-07-88/FLIP.m5