Home » Personal collection » Acorn hard disk » misc » dcfprogs » Bounce/Laser2

Bounce/Laser2

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 » Personal collection » Acorn hard disk » misc » dcfprogs
Filename: Bounce/Laser2
Read OK:
File size: 143C bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM LaserDarts
   20REM by Dominic Ford
   30:
   40IFPAGE<>&1000THENMODE6:PROCreloc
   50MODE1:VDU 23,128,96,80,200,255,200,80,96,0,23,129,6,10,19,255,19,10,6,0,23,1,0;0;0;0;19,1,4,0,0,0,0,19,2,2,0,0,0,0,19,3,1,0,0,0,0:DIMpix%(1,7),nam$(1):sound=TRUE
   60REPEAT:PROCtitle
   70IF k$=" " THEN opp=0:PROCgame
   80IF k$="2" THEN opp=1:PROCgame
   90UNTIL k$="Q" OR k$="q"
  100MODE6:VDU23,1,1;0;0;0;0;:END
  110:
  120DEFPROCgame
  130PROCnames:CLS:GCOL0,1:MOVE0,0:MOVE320,0:PLOT85,0,192:PLOT85,320,192:MOVE1280,1024:MOVE960,1024:PLOT85,1280,832:PLOT85,960,832:MOVE0,1024:MOVE320,1024:PLOT85,0,832:PLOT85,320,832:MOVE1280,0:MOVE1280,192:PLOT85,960,0:PLOT85,960,192
  140lasa=10:lasb=10:COLOUR2:PRINTTAB(3,16);CHR$128;SPC(32);CHR$129;:stop=FALSE:scra%=2000:scrb%=2000:liva%=3:livb%=3:PROCscreen
  150COLOUR129:PRINTTAB(1,1)"Player 1";TAB(31,1)"Player 2";TAB(2,27)"Score";TAB(1,30)"Lives ";TAB(32,27)"Score";TAB(31,30)"Lives ";TAB(14,0)"LASER DARTS";TAB(10,31)"by Dominic Ford 1996";
  160PRINTTAB(5-INT(.5*LEN(nam$(0))),3)nam$(0);TAB(35-INT(.5*LEN(nam$(1))),3)nam$(1):COLOUR128:PRINTTAB(14,2)"2";TAB(12,3)"Points";TAB(22,2)"New";TAB(19,3)"Reflectors";TAB(19,28)"50";TAB(17,29)"Points"
  170REPEAT
  180PROCscore
  190PROCmove(0):xl=128:yl=816-lasa*32:dl=2:pl=1:PROCtrace:PROCscore
  200IF opp=0 THENPROCcompmove ELSEPROCmove(1)
  210IF stop=FALSE THENxl=1152:yl=816-lasb*32:dl=0:pl=2:PROCtrace
  220UNTIL stop=TRUE OR scra%=0 OR scrb%=0
  230IF liva%<0 THEN scrb%=0
  240IF livb%<0 THEN scra%=0
  250IF scra%=0 AND opp=0 THEN PROCmess("Congratulations "+nam$(0)+": You Win!")
  260IF scrb%=0 AND opp=0 THEN PROCmess("I won!")
  270IF scra%=0 AND opp=1 THEN PROCmess("Player 1 Wins! Congratulations "+nam$(0)+"!")
  280IF scrb%=0 AND opp=1 THEN PROCmess("Player 2 Wins! Congratulations "+nam$(1)+"!")
  290ENDPROC
  300:
  310DEFPROCmess(m$)
  320VDU5:GCOL0,1:FORba=0TO16STEP4:MOVE640-16*LEN(m$)+ba,512+ba:PRINTm$:NEXT
  330GCOL0,2:MOVE640-16*LEN(m$),512:PRINTm$:VDU4
  340nt%=TIME+250:REPEAT UNTIL TIME>nt%
  350ENDPROC
  360:
  370DEFPROCnames
  380nam$(1)="Elk":CLS:FORnam=0TOopp
  390REPEAT
  400PRINT"Player ";nam+1;": What is your name";:INPUTnam$(nam)
  410IF LEN(nam$(nam))>10 THEN PRINTnam$(nam);" is rather a long name isn't it? Can't you shorten it?":UNTIL FALSE
  420IF LEN(nam$(nam))<1 THEN PRINT"Pardon?":UNTIL FALSE
  430UNTIL TRUE
  440NEXT
  450ENDPROC
  460:
  470DEFPROCscreen
  480FORad=&A00TO&BFCSTEP4:!ad=0:NEXT:COLOUR3
  490FORy=0TO19:x=RND(20)-1:PRINTTAB(10,y+6)STRING$(20," "):PRINTTAB(x+10,y+6);
  500IFRND(2)=1THENPRINT"/":?(&A00+x+y*20)=1ELSEPRINT"\":?(&A00+x+y*20)=2
  510NEXT:FORx=0TO19:y=RND(20)-1:PRINTTAB(x+10,y+6);
  520IFRND(2)=1THENPRINT"/":?(&A00+x+y*20)=1ELSEPRINT"\":?(&A00+x+y*20)=2
  530NEXT
  540ENDPROC
  550:
  560DEFPROCmove(opm)
  570IF opm=0 THEN las=lasa:x=3 ELSE las=lasb:x=36
  580COLOUR2:REPEAT
  590A$=GET$
  600PRINTTAB(x,las+6);" "
  610IF (A$="A" OR A$="a") AND las<>0 THEN las=las-1
  620IF (A$="Z" OR A$="z") AND las<>19 THEN las=las+1
  630PRINTTAB(x,las+6);CHR$(128+opm)
  640UNTIL A$=CHR$13
  650IF sound THEN*MOTOR1
  660*MOTOR0
  670IF opm=0 THEN lasa=las ELSE lasb=las
  680ENDPROC
  690:
  700DEFPROCcompmove
  710ENDPROC
  720:
  730DEFPROCtrace
  740FORpix=0TO7:pix%(0,pix)=xl:pix%(1,pix)=yl:NEXT:pn=0
  750REPEAT
  760IFdl=0THENxl=xl-8
  770IFdl=1THENyl=yl+8
  780IFdl=2THENxl=xl+8
  790IFdl=3THENyl=yl-8
  800IFPOINT(xl,yl)=3THENPROCreflect
  810pn=(pn+1)MOD8:GCOL0,0:PLOT69,pix%(0,pn),pix%(1,pn)
  820pix%(0,pn)=xl:pix%(1,pn)=yl:GCOL0,2:PLOT69,xl,yl
  830UNTIL xl<132 OR xl>1148 OR yl<196 OR yl>828
  840GCOL0,0:FORpix=0TO7:PLOT69,pix%(0,pix),pix%(1,pix):NEXT:sca%=scra%:scb%=scrb%
  850IF xl<36AND pl=1 THEN scra%=scra%+9:ENDPROC
  860IF xl>1244AND pl=2 THEN scrb%=scrb%+9:ENDPROC
  870IF xl<36THEN scrb%=scrb%-100:IFINT((832-yl)/32)=lasa THENscrb%=scrb%-900:liva%=liva%-1
  880IF xl>1244THEN scra%=scra%-100:IFINT((832-yl)/32)=lasb THENscra%=scra%-900:livb%=livb%-1
  890IF yl<196AND pl=1THEN scra%=scra%-50
  900IF yl<196AND pl=2THEN scrb%=scrb%-50
  910IF yl>828AND pl=1THEN scra%=scra%-2
  920IF yl>828AND pl=2THEN scrb%=scrb%-2
  930IF (yl>828)AND(RND(3)=2)THENPROCscreen
  940IF liva%<0 OR livb%<0 THEN stop=TRUE
  950IF scra%<0THEN scra%=sca%:IF sound THENFORb=0TO5:SOUND1,-15,0,2:SOUND1,0,0,2:NEXT
  960IF scrb%<0THEN scrb%=scb%:IF sound THENFORb=0TO5:SOUND1,-15,0,2:SOUND1,0,0,2:NEXT
  970ENDPROC
  980:
  990DEFPROCreflect
 1000xc=INT((xl-320)/32):yc=INT((832-yl)/32)
 1010IFdl=0AND?(&A00+xc+yc*20)=1THENdl=3:yc=yc-8:ENDPROC
 1020IFdl=0AND?(&A00+xc+yc*20)=2THENdl=1:yc=yc+8:ENDPROC
 1030IFdl=1AND?(&A00+xc+yc*20)=1THENdl=2:xc=xc+8:ENDPROC
 1040IFdl=1AND?(&A00+xc+yc*20)=2THENdl=0:xc=xc-8:ENDPROC
 1050IFdl=2AND?(&A00+xc+yc*20)=1THENdl=1:yc=yc+8:ENDPROC
 1060IFdl=2AND?(&A00+xc+yc*20)=2THENdl=3:yc=yc-8:ENDPROC
 1070IFdl=3AND?(&A00+xc+yc*20)=1THENdl=0:xc=xc-8:ENDPROC
 1080dl=2:xc=xc+8
 1090ENDPROC
 1100:
 1110DEFPROCscore
 1120COLOUR2:COLOUR129
 1130PRINTTAB(2,28)"      ";TAB(2,28)scra%
 1140PRINTTAB(7,30)"  ";TAB(7,30);liva%
 1150PRINTTAB(32,28)"      ";TAB(32,28)scrb%
 1160PRINTTAB(37,30)"  ";TAB(37,30);livb%
 1170COLOUR128
 1180ENDPROC
 1190:
 1200DEFPROCtitle
 1210VDU19,3,1,0,0,0,0
 1220CLS:FORba=300TO1STEP-50:GCOL0,ba/50:MOVE400-ba,400:MOVE400,400+ba:PLOT85,400,400-ba:PLOT85,400+ba,400:NEXT:COLOUR131:RESTORE:FORyc=1TO5:READl$:FORxc=0TO39:IFMID$(l$,xc+1,1)="*"THENPRINTTAB(xc,yc)" "
 1230NEXT,:COLOUR128:COLOUR1:PRINTTAB(10,9)"by Dominic Ford 1996":COLOUR2:PRINTTAB(23,20)"SPACE - Human/Elk";TAB(27,22)"2 - 2 Player";TAB(27,24)"Q - Quit";TAB(27,26);"S - Sound";TAB(25,16)"Sound:";TAB(32,16);
 1240IF sound THENPRINT"On"ELSEPRINT"Off"
 1250GCOL3,2:MOVE1180,1024:MOVE400,400:PLOT85,1380,1024:REPEAT:REPEAT:k$=INKEY$(0):UNTIL INSTR(" 2QqSs",k$)<>0 AND LEN(k$)>0
 1260IFk$="S"ORk$="s"THENPROCsound:UNTILFALSE
 1270ENDPROC
 1280:
 1290DEFPROCsound
 1300IF sound THEN sound=FALSE:PRINTTAB(32,16)"Off":ENDPROC
 1310sound=TRUE:PRINTTAB(32,16)"On "
 1320ENDPROC
 1330:
 1340DATA"*   *** *** *** ***  **** *** *** ******"
 1350DATA"*   * * *   *   * *   * * * * * *  * *  "
 1360DATA"*   *** *** **  ***   * * *** ***  * ***"
 1370DATA"*   * *   * *   **    * * * * **   *   *"
 1380DATA"*** * * *** *** * *  **** * * * *  * ***"
 1390:
 1400DEFPROCreloc
 1410HIMEM=&5800
 1420FOR pass=0 TO 2 STEP 2
 1430P%=&C00
 1440[OPTpass
 1450    LDY#0:STY&70:STY&72:LDA#&10:SEC:SBC&18:STA&74:LDA&18:CMP#&10:BCCad
 1460.sb STA&71:LDA#&10:STA&73
 1470.m1 LDA(&70),Y:STA(&72),Y:INY:BNEm1:INC&71:INC&73:LDX&71:DEX:CPX&03:BCCm1:BCSem
 1480.ad LDA&03:STA&71:CLC:ADC&74:STA&73:LDA#0:LDY&02
 1490.m2 LDA(&70),Y:STA(&72),Y:DEY:CPY#&FF:BNEm2:DEC&71:DEC&73:LDA&73:CMP#&16:BCSm2
 1500.em LDA&13:CLC:ADC&74:STA&13:STA&01:LDA#&10:STA&18:RTS
 1510]
 1520NEXT
 1530VDU 21
 1540OSCLI"KEY 0""CALL&C00|MRUN|F|M""":OSCLI"FX 153,0,128"
 1550END
 1560ENDPROC

� LaserDarts
� by Dominic Ford
:
(�<>&1000��6:�reloc
2��1:� 23,128,96,80,200,255,200,80,96,0,23,129,6,10,19,255,19,10,6,0,23,1,0;0;0;0;19,1,4,0,0,0,0,19,2,2,0,0,0,0,19,3,1,0,0,0,0:�pix%(1,7),nam$(1):sound=�
<�:�title
F� k$=" " � opp=0:�game
P� k$="2" � opp=1:�game
Z� k$="Q" � k$="q"
d�6:�23,1,1;0;0;0;0;:�
n:
x
��game
���names:�:�0,1:�0,0:�320,0:�85,0,192:�85,320,192:�1280,1024:�960,1024:�85,1280,832:�85,960,832:�0,1024:�320,1024:�85,0,832:�85,320,832:�1280,0:�1280,192:�85,960,0:�85,960,192
�dlasa=10:lasb=10:�2:�3,16);�128;�(32);�129;:stop=�:scra%=2000:scrb%=2000:liva%=3:livb%=3:�screen
���129:�1,1)"Player 1";�31,1)"Player 2";�2,27)"Score";�1,30)"Lives ";�32,27)"Score";�31,30)"Lives ";�14,0)"LASER DARTS";�10,31)"by Dominic Ford 1996";
���5-�(.5*�(nam$(0))),3)nam$(0);�35-�(.5*�(nam$(1))),3)nam$(1):�128:�14,2)"2";�12,3)"Points";�22,2)"New";�19,3)"Reflectors";�19,28)"50";�17,29)"Points"
��
�
�score
�:�move(0):xl=128:yl=816-lasa*32:dl=2:pl=1:�trace:�score
� � opp=0 ��compmove ��move(1)
�5� stop=� �xl=1152:yl=816-lasb*32:dl=0:pl=2:�trace
� � stop=� � scra%=0 � scrb%=0
�� liva%<0 � scrb%=0
�� livb%<0 � scra%=0
�F� scra%=0 � opp=0 � �mess("Congratulations "+nam$(0)+": You Win!")
'� scrb%=0 � opp=0 � �mess("I won!")
L� scra%=0 � opp=1 � �mess("Player 1 Wins! Congratulations "+nam$(0)+"!")
L� scrb%=0 � opp=1 � �mess("Player 2 Wins! Congratulations "+nam$(1)+"!")
"�
,:
6��mess(m$)
@4�5:�0,1:�ba=0�16�4:�640-16*�(m$)+ba,512+ba:�m$:�
J!�0,2:�640-16*�(m$),512:�m$:�4
Tnt%=�+250:� � �>nt%
^�
h:
r��names
|nam$(1)="Elk":�:�nam=0�opp
��
�6�"Player ";nam+1;": What is your name";:�nam$(nam)
�_� �(nam$(nam))>10 � �nam$(nam);" is rather a long name isn't it? Can't you shorten it?":� �
�%� �(nam$(nam))<1 � �"Pardon?":� �
�� �
��
��
�:
���screen
��ad=&A00�&BFC�4:!ad=0:�:�3
�4�y=0�19:x=�(20)-1:�10,y+6)�20," "):�x+10,y+6);
�7�(2)=1��"/":?(&A00+x+y*20)=1��"\":?(&A00+x+y*20)=2
�$�:�x=0�19:y=�(20)-1:�x+10,y+6);
7�(2)=1��"/":?(&A00+x+y*20)=1��"\":?(&A00+x+y*20)=2
�
�
&:
0��move(opm)
:*� opm=0 � las=lasa:x=3 � las=lasb:x=36
D�2:�
NA$=�
X�x,las+6);" "
b,� (A$="A" � A$="a") � las<>0 � las=las-1
l-� (A$="Z" � A$="z") � las<>19 � las=las+1
v�x,las+6);�(128+opm)
�� A$=�13
�� sound �*MOTOR1
�*MOTOR0
�!� opm=0 � lasa=las � lasb=las
��
�:
���compmove
��
�:
���trace
�1�pix=0�7:pix%(0,pix)=xl:pix%(1,pix)=yl:�:pn=0
��
��dl=0�xl=xl-8
�dl=1�yl=yl+8
�dl=2�xl=xl+8
�dl=3�yl=yl-8
 �xl,yl)=3��reflect
*.pn=(pn+1)�8:�0,0:�69,pix%(0,pn),pix%(1,pn)
4.pix%(0,pn)=xl:pix%(1,pn)=yl:�0,2:�69,xl,yl
>(� xl<132 � xl>1148 � yl<196 � yl>828
HE�0,0:�pix=0�7:�69,pix%(0,pix),pix%(1,pix):�:sca%=scra%:scb%=scrb%
R#� xl<36� pl=1 � scra%=scra%+9:�
\%� xl>1244� pl=2 � scrb%=scrb%+9:�
fP� xl<36� scrb%=scrb%-100:�((832-yl)/32)=lasa �scrb%=scrb%-900:liva%=liva%-1
pR� xl>1244� scra%=scra%-100:�((832-yl)/32)=lasb �scra%=scra%-900:livb%=livb%-1
z"� yl<196� pl=1� scra%=scra%-50
�"� yl<196� pl=2� scrb%=scrb%-50
�!� yl>828� pl=1� scra%=scra%-2
�!� yl>828� pl=2� scrb%=scrb%-2
�� (yl>828)�(�(3)=2)��screen
� � liva%<0 � livb%<0 � stop=�
�?� scra%<0� scra%=sca%:� sound ��b=0�5:�1,-15,0,2:�1,0,0,2:�
�?� scrb%<0� scrb%=scb%:� sound ��b=0�5:�1,-15,0,2:�1,0,0,2:�
��
�:
�
��reflect
�'xc=�((xl-320)/32):yc=�((832-yl)/32)
�+�dl=0�?(&A00+xc+yc*20)=1�dl=3:yc=yc-8:�
�+�dl=0�?(&A00+xc+yc*20)=2�dl=1:yc=yc+8:�
+�dl=1�?(&A00+xc+yc*20)=1�dl=2:xc=xc+8:�
+�dl=1�?(&A00+xc+yc*20)=2�dl=0:xc=xc-8:�
+�dl=2�?(&A00+xc+yc*20)=1�dl=1:yc=yc+8:�
$+�dl=2�?(&A00+xc+yc*20)=2�dl=3:yc=yc-8:�
.+�dl=3�?(&A00+xc+yc*20)=1�dl=0:xc=xc-8:�
8dl=2:xc=xc+8
B�
L:
V��score
`�2:�129
j�2,28)"      ";�2,28)scra%
t�7,30)"  ";�7,30);liva%
~!�32,28)"      ";�32,28)scrb%
��37,30)"  ";�37,30);livb%
��128
��
�:
���title
��19,3,1,0,0,0,0
č�:�ba=300�1�-50:�0,ba/50:�400-ba,400:�400,400+ba:�85,400,400-ba:�85,400+ba,400:�:�131:�:�yc=1�5:�l$:�xc=0�39:�l$,xc+1,1)="*"��xc,yc)" "
Π�,:�128:�1:�10,9)"by Dominic Ford 1996":�2:�23,20)"SPACE - Human/Elk";�27,22)"2 - 2 Player";�27,24)"Q - Quit";�27,26);"S - Sound";�25,16)"Sound:";�32,16);
�� sound ��"On"��"Off"
�S�3,2:�1180,1024:�400,400:�85,1380,1024:�:�:k$=�(0):� �" 2QqSs",k$)<>0 � �(k$)>0
��k$="S"�k$="s"��sound:��
��
:

��sound
%� sound � sound=�:�32,16)"Off":�
sound=�:�32,16)"On "
(�
2:
</�"*   *** *** *** ***  **** *** *** ******"
F/�"*   * * *   *   * *   * * * * * *  * *  "
P/�"*   *** *** **  ***   * * *** ***  * ***"
Z/�"*   * *   * *   **    * * * * **   *   *"
d/�"*** * * *** *** * *  **** * * * *  * ***"
n:
x��reloc
��=&5800
�� pass=0 � 2 � 2
�P%=&C00
�[OPTpass
�J    LDY#0:STY&70:STY&72:LDA#&10:SEC:SBC&18:STA&74:LDA&18:CMP#&10:BCCad
�.sb STA&71:LDA#&10:STA&73
�S.m1 LDA(&70),Y:STA(&72),Y:INY:BNEm1:INC&71:INC&73:LDX&71:DEX:CPX&03:BCCm1:BCSem
�4.ad LDA&03:STA&71:CLC:ADC&74:STA&73:LDA#0:LDY&02
�R.m2 LDA(&70),Y:STA(&72),Y:DEY:CPY#&FF:BNEm2:DEC&71:DEC&73:LDA&73:CMP#&16:BCSm2
�:.em LDA&13:CLC:ADC&74:STA&13:STA&01:LDA#&10:STA&18:RTS
�]
��
�� 21
1�"KEY 0""CALL&C00|MRUN|F|M""":�"FX 153,0,128"
�
�
�
00000000  0d 00 0a 10 f4 20 4c 61  73 65 72 44 61 72 74 73  |..... LaserDarts|
00000010  0d 00 14 15 f4 20 62 79  20 44 6f 6d 69 6e 69 63  |..... by Dominic|
00000020  20 46 6f 72 64 0d 00 1e  05 3a 0d 00 28 17 e7 90  | Ford....:..(...|
00000030  3c 3e 26 31 30 30 30 8c  eb 36 3a f2 72 65 6c 6f  |<>&1000..6:.relo|
00000040  63 0d 00 32 9b eb 31 3a  ef 20 32 33 2c 31 32 38  |c..2..1:. 23,128|
00000050  2c 39 36 2c 38 30 2c 32  30 30 2c 32 35 35 2c 32  |,96,80,200,255,2|
00000060  30 30 2c 38 30 2c 39 36  2c 30 2c 32 33 2c 31 32  |00,80,96,0,23,12|
00000070  39 2c 36 2c 31 30 2c 31  39 2c 32 35 35 2c 31 39  |9,6,10,19,255,19|
00000080  2c 31 30 2c 36 2c 30 2c  32 33 2c 31 2c 30 3b 30  |,10,6,0,23,1,0;0|
00000090  3b 30 3b 30 3b 31 39 2c  31 2c 34 2c 30 2c 30 2c  |;0;0;19,1,4,0,0,|
000000a0  30 2c 30 2c 31 39 2c 32  2c 32 2c 30 2c 30 2c 30  |0,0,19,2,2,0,0,0|
000000b0  2c 30 2c 31 39 2c 33 2c  31 2c 30 2c 30 2c 30 2c  |,0,19,3,1,0,0,0,|
000000c0  30 3a de 70 69 78 25 28  31 2c 37 29 2c 6e 61 6d  |0:.pix%(1,7),nam|
000000d0  24 28 31 29 3a 73 6f 75  6e 64 3d b9 0d 00 3c 0c  |$(1):sound=...<.|
000000e0  f5 3a f2 74 69 74 6c 65  0d 00 46 1a e7 20 6b 24  |.:.title..F.. k$|
000000f0  3d 22 20 22 20 8c 20 6f  70 70 3d 30 3a f2 67 61  |=" " . opp=0:.ga|
00000100  6d 65 0d 00 50 1a e7 20  6b 24 3d 22 32 22 20 8c  |me..P.. k$="2" .|
00000110  20 6f 70 70 3d 31 3a f2  67 61 6d 65 0d 00 5a 15  | opp=1:.game..Z.|
00000120  fd 20 6b 24 3d 22 51 22  20 84 20 6b 24 3d 22 71  |. k$="Q" . k$="q|
00000130  22 0d 00 64 19 eb 36 3a  ef 32 33 2c 31 2c 31 3b  |"..d..6:.23,1,1;|
00000140  30 3b 30 3b 30 3b 30 3b  3a e0 0d 00 6e 05 3a 0d  |0;0;0;0;:...n.:.|
00000150  00 78 0a dd f2 67 61 6d  65 0d 00 82 b1 f2 6e 61  |.x...game.....na|
00000160  6d 65 73 3a db 3a e6 30  2c 31 3a ec 30 2c 30 3a  |mes:.:.0,1:.0,0:|
00000170  ec 33 32 30 2c 30 3a f0  38 35 2c 30 2c 31 39 32  |.320,0:.85,0,192|
00000180  3a f0 38 35 2c 33 32 30  2c 31 39 32 3a ec 31 32  |:.85,320,192:.12|
00000190  38 30 2c 31 30 32 34 3a  ec 39 36 30 2c 31 30 32  |80,1024:.960,102|
000001a0  34 3a f0 38 35 2c 31 32  38 30 2c 38 33 32 3a f0  |4:.85,1280,832:.|
000001b0  38 35 2c 39 36 30 2c 38  33 32 3a ec 30 2c 31 30  |85,960,832:.0,10|
000001c0  32 34 3a ec 33 32 30 2c  31 30 32 34 3a f0 38 35  |24:.320,1024:.85|
000001d0  2c 30 2c 38 33 32 3a f0  38 35 2c 33 32 30 2c 38  |,0,832:.85,320,8|
000001e0  33 32 3a ec 31 32 38 30  2c 30 3a ec 31 32 38 30  |32:.1280,0:.1280|
000001f0  2c 31 39 32 3a f0 38 35  2c 39 36 30 2c 30 3a f0  |,192:.85,960,0:.|
00000200  38 35 2c 39 36 30 2c 31  39 32 0d 00 8c 64 6c 61  |85,960,192...dla|
00000210  73 61 3d 31 30 3a 6c 61  73 62 3d 31 30 3a fb 32  |sa=10:lasb=10:.2|
00000220  3a f1 8a 33 2c 31 36 29  3b bd 31 32 38 3b 89 28  |:..3,16);.128;.(|
00000230  33 32 29 3b bd 31 32 39  3b 3a 73 74 6f 70 3d a3  |32);.129;:stop=.|
00000240  3a 73 63 72 61 25 3d 32  30 30 30 3a 73 63 72 62  |:scra%=2000:scrb|
00000250  25 3d 32 30 30 30 3a 6c  69 76 61 25 3d 33 3a 6c  |%=2000:liva%=3:l|
00000260  69 76 62 25 3d 33 3a f2  73 63 72 65 65 6e 0d 00  |ivb%=3:.screen..|
00000270  96 99 fb 31 32 39 3a f1  8a 31 2c 31 29 22 50 6c  |...129:..1,1)"Pl|
00000280  61 79 65 72 20 31 22 3b  8a 33 31 2c 31 29 22 50  |ayer 1";.31,1)"P|
00000290  6c 61 79 65 72 20 32 22  3b 8a 32 2c 32 37 29 22  |layer 2";.2,27)"|
000002a0  53 63 6f 72 65 22 3b 8a  31 2c 33 30 29 22 4c 69  |Score";.1,30)"Li|
000002b0  76 65 73 20 22 3b 8a 33  32 2c 32 37 29 22 53 63  |ves ";.32,27)"Sc|
000002c0  6f 72 65 22 3b 8a 33 31  2c 33 30 29 22 4c 69 76  |ore";.31,30)"Liv|
000002d0  65 73 20 22 3b 8a 31 34  2c 30 29 22 4c 41 53 45  |es ";.14,0)"LASE|
000002e0  52 20 44 41 52 54 53 22  3b 8a 31 30 2c 33 31 29  |R DARTS";.10,31)|
000002f0  22 62 79 20 44 6f 6d 69  6e 69 63 20 46 6f 72 64  |"by Dominic Ford|
00000300  20 31 39 39 36 22 3b 0d  00 a0 9b f1 8a 35 2d a8  | 1996";......5-.|
00000310  28 2e 35 2a a9 28 6e 61  6d 24 28 30 29 29 29 2c  |(.5*.(nam$(0))),|
00000320  33 29 6e 61 6d 24 28 30  29 3b 8a 33 35 2d a8 28  |3)nam$(0);.35-.(|
00000330  2e 35 2a a9 28 6e 61 6d  24 28 31 29 29 29 2c 33  |.5*.(nam$(1))),3|
00000340  29 6e 61 6d 24 28 31 29  3a fb 31 32 38 3a f1 8a  |)nam$(1):.128:..|
00000350  31 34 2c 32 29 22 32 22  3b 8a 31 32 2c 33 29 22  |14,2)"2";.12,3)"|
00000360  50 6f 69 6e 74 73 22 3b  8a 32 32 2c 32 29 22 4e  |Points";.22,2)"N|
00000370  65 77 22 3b 8a 31 39 2c  33 29 22 52 65 66 6c 65  |ew";.19,3)"Refle|
00000380  63 74 6f 72 73 22 3b 8a  31 39 2c 32 38 29 22 35  |ctors";.19,28)"5|
00000390  30 22 3b 8a 31 37 2c 32  39 29 22 50 6f 69 6e 74  |0";.17,29)"Point|
000003a0  73 22 0d 00 aa 05 f5 0d  00 b4 0a f2 73 63 6f 72  |s"..........scor|
000003b0  65 0d 00 be 3a f2 6d 6f  76 65 28 30 29 3a 78 6c  |e...:.move(0):xl|
000003c0  3d 31 32 38 3a 79 6c 3d  38 31 36 2d 6c 61 73 61  |=128:yl=816-lasa|
000003d0  2a 33 32 3a 64 6c 3d 32  3a 70 6c 3d 31 3a f2 74  |*32:dl=2:pl=1:.t|
000003e0  72 61 63 65 3a f2 73 63  6f 72 65 0d 00 c8 20 e7  |race:.score... .|
000003f0  20 6f 70 70 3d 30 20 8c  f2 63 6f 6d 70 6d 6f 76  | opp=0 ..compmov|
00000400  65 20 8b f2 6d 6f 76 65  28 31 29 0d 00 d2 35 e7  |e ..move(1)...5.|
00000410  20 73 74 6f 70 3d a3 20  8c 78 6c 3d 31 31 35 32  | stop=. .xl=1152|
00000420  3a 79 6c 3d 38 31 36 2d  6c 61 73 62 2a 33 32 3a  |:yl=816-lasb*32:|
00000430  64 6c 3d 30 3a 70 6c 3d  32 3a f2 74 72 61 63 65  |dl=0:pl=2:.trace|
00000440  0d 00 dc 20 fd 20 73 74  6f 70 3d b9 20 84 20 73  |... . stop=. . s|
00000450  63 72 61 25 3d 30 20 84  20 73 63 72 62 25 3d 30  |cra%=0 . scrb%=0|
00000460  0d 00 e6 17 e7 20 6c 69  76 61 25 3c 30 20 8c 20  |..... liva%<0 . |
00000470  73 63 72 62 25 3d 30 0d  00 f0 17 e7 20 6c 69 76  |scrb%=0..... liv|
00000480  62 25 3c 30 20 8c 20 73  63 72 61 25 3d 30 0d 00  |b%<0 . scra%=0..|
00000490  fa 46 e7 20 73 63 72 61  25 3d 30 20 80 20 6f 70  |.F. scra%=0 . op|
000004a0  70 3d 30 20 8c 20 f2 6d  65 73 73 28 22 43 6f 6e  |p=0 . .mess("Con|
000004b0  67 72 61 74 75 6c 61 74  69 6f 6e 73 20 22 2b 6e  |gratulations "+n|
000004c0  61 6d 24 28 30 29 2b 22  3a 20 59 6f 75 20 57 69  |am$(0)+": You Wi|
000004d0  6e 21 22 29 0d 01 04 27  e7 20 73 63 72 62 25 3d  |n!")...'. scrb%=|
000004e0  30 20 80 20 6f 70 70 3d  30 20 8c 20 f2 6d 65 73  |0 . opp=0 . .mes|
000004f0  73 28 22 49 20 77 6f 6e  21 22 29 0d 01 0e 4c e7  |s("I won!")...L.|
00000500  20 73 63 72 61 25 3d 30  20 80 20 6f 70 70 3d 31  | scra%=0 . opp=1|
00000510  20 8c 20 f2 6d 65 73 73  28 22 50 6c 61 79 65 72  | . .mess("Player|
00000520  20 31 20 57 69 6e 73 21  20 43 6f 6e 67 72 61 74  | 1 Wins! Congrat|
00000530  75 6c 61 74 69 6f 6e 73  20 22 2b 6e 61 6d 24 28  |ulations "+nam$(|
00000540  30 29 2b 22 21 22 29 0d  01 18 4c e7 20 73 63 72  |0)+"!")...L. scr|
00000550  62 25 3d 30 20 80 20 6f  70 70 3d 31 20 8c 20 f2  |b%=0 . opp=1 . .|
00000560  6d 65 73 73 28 22 50 6c  61 79 65 72 20 32 20 57  |mess("Player 2 W|
00000570  69 6e 73 21 20 43 6f 6e  67 72 61 74 75 6c 61 74  |ins! Congratulat|
00000580  69 6f 6e 73 20 22 2b 6e  61 6d 24 28 31 29 2b 22  |ions "+nam$(1)+"|
00000590  21 22 29 0d 01 22 05 e1  0d 01 2c 05 3a 0d 01 36  |!").."....,.:..6|
000005a0  0e dd f2 6d 65 73 73 28  6d 24 29 0d 01 40 34 ef  |...mess(m$)..@4.|
000005b0  35 3a e6 30 2c 31 3a e3  62 61 3d 30 b8 31 36 88  |5:.0,1:.ba=0.16.|
000005c0  34 3a ec 36 34 30 2d 31  36 2a a9 28 6d 24 29 2b  |4:.640-16*.(m$)+|
000005d0  62 61 2c 35 31 32 2b 62  61 3a f1 6d 24 3a ed 0d  |ba,512+ba:.m$:..|
000005e0  01 4a 21 e6 30 2c 32 3a  ec 36 34 30 2d 31 36 2a  |.J!.0,2:.640-16*|
000005f0  a9 28 6d 24 29 2c 35 31  32 3a f1 6d 24 3a ef 34  |.(m$),512:.m$:.4|
00000600  0d 01 54 17 6e 74 25 3d  91 2b 32 35 30 3a f5 20  |..T.nt%=.+250:. |
00000610  fd 20 91 3e 6e 74 25 0d  01 5e 05 e1 0d 01 68 05  |. .>nt%..^....h.|
00000620  3a 0d 01 72 0b dd f2 6e  61 6d 65 73 0d 01 7c 1e  |:..r...names..|.|
00000630  6e 61 6d 24 28 31 29 3d  22 45 6c 6b 22 3a db 3a  |nam$(1)="Elk":.:|
00000640  e3 6e 61 6d 3d 30 b8 6f  70 70 0d 01 86 05 f5 0d  |.nam=0.opp......|
00000650  01 90 36 f1 22 50 6c 61  79 65 72 20 22 3b 6e 61  |..6."Player ";na|
00000660  6d 2b 31 3b 22 3a 20 57  68 61 74 20 69 73 20 79  |m+1;": What is y|
00000670  6f 75 72 20 6e 61 6d 65  22 3b 3a e8 6e 61 6d 24  |our name";:.nam$|
00000680  28 6e 61 6d 29 0d 01 9a  5f e7 20 a9 28 6e 61 6d  |(nam)..._. .(nam|
00000690  24 28 6e 61 6d 29 29 3e  31 30 20 8c 20 f1 6e 61  |$(nam))>10 . .na|
000006a0  6d 24 28 6e 61 6d 29 3b  22 20 69 73 20 72 61 74  |m$(nam);" is rat|
000006b0  68 65 72 20 61 20 6c 6f  6e 67 20 6e 61 6d 65 20  |her a long name |
000006c0  69 73 6e 27 74 20 69 74  3f 20 43 61 6e 27 74 20  |isn't it? Can't |
000006d0  79 6f 75 20 73 68 6f 72  74 65 6e 20 69 74 3f 22  |you shorten it?"|
000006e0  3a fd 20 a3 0d 01 a4 25  e7 20 a9 28 6e 61 6d 24  |:. ....%. .(nam$|
000006f0  28 6e 61 6d 29 29 3c 31  20 8c 20 f1 22 50 61 72  |(nam))<1 . ."Par|
00000700  64 6f 6e 3f 22 3a fd 20  a3 0d 01 ae 07 fd 20 b9  |don?":. ...... .|
00000710  0d 01 b8 05 ed 0d 01 c2  05 e1 0d 01 cc 05 3a 0d  |..............:.|
00000720  01 d6 0c dd f2 73 63 72  65 65 6e 0d 01 e0 1e e3  |.....screen.....|
00000730  61 64 3d 26 41 30 30 b8  26 42 46 43 88 34 3a 21  |ad=&A00.&BFC.4:!|
00000740  61 64 3d 30 3a ed 3a fb  33 0d 01 ea 34 e3 79 3d  |ad=0:.:.3...4.y=|
00000750  30 b8 31 39 3a 78 3d b3  28 32 30 29 2d 31 3a f1  |0.19:x=.(20)-1:.|
00000760  8a 31 30 2c 79 2b 36 29  c4 32 30 2c 22 20 22 29  |.10,y+6).20," ")|
00000770  3a f1 8a 78 2b 31 30 2c  79 2b 36 29 3b 0d 01 f4  |:..x+10,y+6);...|
00000780  37 e7 b3 28 32 29 3d 31  8c f1 22 2f 22 3a 3f 28  |7..(2)=1.."/":?(|
00000790  26 41 30 30 2b 78 2b 79  2a 32 30 29 3d 31 8b f1  |&A00+x+y*20)=1..|
000007a0  22 5c 22 3a 3f 28 26 41  30 30 2b 78 2b 79 2a 32  |"\":?(&A00+x+y*2|
000007b0  30 29 3d 32 0d 01 fe 24  ed 3a e3 78 3d 30 b8 31  |0)=2...$.:.x=0.1|
000007c0  39 3a 79 3d b3 28 32 30  29 2d 31 3a f1 8a 78 2b  |9:y=.(20)-1:..x+|
000007d0  31 30 2c 79 2b 36 29 3b  0d 02 08 37 e7 b3 28 32  |10,y+6);...7..(2|
000007e0  29 3d 31 8c f1 22 2f 22  3a 3f 28 26 41 30 30 2b  |)=1.."/":?(&A00+|
000007f0  78 2b 79 2a 32 30 29 3d  31 8b f1 22 5c 22 3a 3f  |x+y*20)=1.."\":?|
00000800  28 26 41 30 30 2b 78 2b  79 2a 32 30 29 3d 32 0d  |(&A00+x+y*20)=2.|
00000810  02 12 05 ed 0d 02 1c 05  e1 0d 02 26 05 3a 0d 02  |...........&.:..|
00000820  30 0f dd f2 6d 6f 76 65  28 6f 70 6d 29 0d 02 3a  |0...move(opm)..:|
00000830  2a e7 20 6f 70 6d 3d 30  20 8c 20 6c 61 73 3d 6c  |*. opm=0 . las=l|
00000840  61 73 61 3a 78 3d 33 20  8b 20 6c 61 73 3d 6c 61  |asa:x=3 . las=la|
00000850  73 62 3a 78 3d 33 36 0d  02 44 08 fb 32 3a f5 0d  |sb:x=36..D..2:..|
00000860  02 4e 08 41 24 3d be 0d  02 58 12 f1 8a 78 2c 6c  |.N.A$=...X...x,l|
00000870  61 73 2b 36 29 3b 22 20  22 0d 02 62 2c e7 20 28  |as+6);" "..b,. (|
00000880  41 24 3d 22 41 22 20 84  20 41 24 3d 22 61 22 29  |A$="A" . A$="a")|
00000890  20 80 20 6c 61 73 3c 3e  30 20 8c 20 6c 61 73 3d  | . las<>0 . las=|
000008a0  6c 61 73 2d 31 0d 02 6c  2d e7 20 28 41 24 3d 22  |las-1..l-. (A$="|
000008b0  5a 22 20 84 20 41 24 3d  22 7a 22 29 20 80 20 6c  |Z" . A$="z") . l|
000008c0  61 73 3c 3e 31 39 20 8c  20 6c 61 73 3d 6c 61 73  |as<>19 . las=las|
000008d0  2b 31 0d 02 76 19 f1 8a  78 2c 6c 61 73 2b 36 29  |+1..v...x,las+6)|
000008e0  3b bd 28 31 32 38 2b 6f  70 6d 29 0d 02 80 0c fd  |;.(128+opm).....|
000008f0  20 41 24 3d bd 31 33 0d  02 8a 14 e7 20 73 6f 75  | A$=.13..... sou|
00000900  6e 64 20 8c 2a 4d 4f 54  4f 52 31 0d 02 94 0b 2a  |nd .*MOTOR1....*|
00000910  4d 4f 54 4f 52 30 0d 02  9e 21 e7 20 6f 70 6d 3d  |MOTOR0...!. opm=|
00000920  30 20 8c 20 6c 61 73 61  3d 6c 61 73 20 8b 20 6c  |0 . lasa=las . l|
00000930  61 73 62 3d 6c 61 73 0d  02 a8 05 e1 0d 02 b2 05  |asb=las.........|
00000940  3a 0d 02 bc 0e dd f2 63  6f 6d 70 6d 6f 76 65 0d  |:......compmove.|
00000950  02 c6 05 e1 0d 02 d0 05  3a 0d 02 da 0b dd f2 74  |........:......t|
00000960  72 61 63 65 0d 02 e4 31  e3 70 69 78 3d 30 b8 37  |race...1.pix=0.7|
00000970  3a 70 69 78 25 28 30 2c  70 69 78 29 3d 78 6c 3a  |:pix%(0,pix)=xl:|
00000980  70 69 78 25 28 31 2c 70  69 78 29 3d 79 6c 3a ed  |pix%(1,pix)=yl:.|
00000990  3a 70 6e 3d 30 0d 02 ee  05 f5 0d 02 f8 11 e7 64  |:pn=0..........d|
000009a0  6c 3d 30 8c 78 6c 3d 78  6c 2d 38 0d 03 02 11 e7  |l=0.xl=xl-8.....|
000009b0  64 6c 3d 31 8c 79 6c 3d  79 6c 2b 38 0d 03 0c 11  |dl=1.yl=yl+8....|
000009c0  e7 64 6c 3d 32 8c 78 6c  3d 78 6c 2b 38 0d 03 16  |.dl=2.xl=xl+8...|
000009d0  11 e7 64 6c 3d 33 8c 79  6c 3d 79 6c 2d 38 0d 03  |..dl=3.yl=yl-8..|
000009e0  20 17 e7 b0 78 6c 2c 79  6c 29 3d 33 8c f2 72 65  | ...xl,yl)=3..re|
000009f0  66 6c 65 63 74 0d 03 2a  2e 70 6e 3d 28 70 6e 2b  |flect..*.pn=(pn+|
00000a00  31 29 83 38 3a e6 30 2c  30 3a f0 36 39 2c 70 69  |1).8:.0,0:.69,pi|
00000a10  78 25 28 30 2c 70 6e 29  2c 70 69 78 25 28 31 2c  |x%(0,pn),pix%(1,|
00000a20  70 6e 29 0d 03 34 2e 70  69 78 25 28 30 2c 70 6e  |pn)..4.pix%(0,pn|
00000a30  29 3d 78 6c 3a 70 69 78  25 28 31 2c 70 6e 29 3d  |)=xl:pix%(1,pn)=|
00000a40  79 6c 3a e6 30 2c 32 3a  f0 36 39 2c 78 6c 2c 79  |yl:.0,2:.69,xl,y|
00000a50  6c 0d 03 3e 28 fd 20 78  6c 3c 31 33 32 20 84 20  |l..>(. xl<132 . |
00000a60  78 6c 3e 31 31 34 38 20  84 20 79 6c 3c 31 39 36  |xl>1148 . yl<196|
00000a70  20 84 20 79 6c 3e 38 32  38 0d 03 48 45 e6 30 2c  | . yl>828..HE.0,|
00000a80  30 3a e3 70 69 78 3d 30  b8 37 3a f0 36 39 2c 70  |0:.pix=0.7:.69,p|
00000a90  69 78 25 28 30 2c 70 69  78 29 2c 70 69 78 25 28  |ix%(0,pix),pix%(|
00000aa0  31 2c 70 69 78 29 3a ed  3a 73 63 61 25 3d 73 63  |1,pix):.:sca%=sc|
00000ab0  72 61 25 3a 73 63 62 25  3d 73 63 72 62 25 0d 03  |ra%:scb%=scrb%..|
00000ac0  52 23 e7 20 78 6c 3c 33  36 80 20 70 6c 3d 31 20  |R#. xl<36. pl=1 |
00000ad0  8c 20 73 63 72 61 25 3d  73 63 72 61 25 2b 39 3a  |. scra%=scra%+9:|
00000ae0  e1 0d 03 5c 25 e7 20 78  6c 3e 31 32 34 34 80 20  |...\%. xl>1244. |
00000af0  70 6c 3d 32 20 8c 20 73  63 72 62 25 3d 73 63 72  |pl=2 . scrb%=scr|
00000b00  62 25 2b 39 3a e1 0d 03  66 50 e7 20 78 6c 3c 33  |b%+9:...fP. xl<3|
00000b10  36 8c 20 73 63 72 62 25  3d 73 63 72 62 25 2d 31  |6. scrb%=scrb%-1|
00000b20  30 30 3a e7 a8 28 28 38  33 32 2d 79 6c 29 2f 33  |00:..((832-yl)/3|
00000b30  32 29 3d 6c 61 73 61 20  8c 73 63 72 62 25 3d 73  |2)=lasa .scrb%=s|
00000b40  63 72 62 25 2d 39 30 30  3a 6c 69 76 61 25 3d 6c  |crb%-900:liva%=l|
00000b50  69 76 61 25 2d 31 0d 03  70 52 e7 20 78 6c 3e 31  |iva%-1..pR. xl>1|
00000b60  32 34 34 8c 20 73 63 72  61 25 3d 73 63 72 61 25  |244. scra%=scra%|
00000b70  2d 31 30 30 3a e7 a8 28  28 38 33 32 2d 79 6c 29  |-100:..((832-yl)|
00000b80  2f 33 32 29 3d 6c 61 73  62 20 8c 73 63 72 61 25  |/32)=lasb .scra%|
00000b90  3d 73 63 72 61 25 2d 39  30 30 3a 6c 69 76 62 25  |=scra%-900:livb%|
00000ba0  3d 6c 69 76 62 25 2d 31  0d 03 7a 22 e7 20 79 6c  |=livb%-1..z". yl|
00000bb0  3c 31 39 36 80 20 70 6c  3d 31 8c 20 73 63 72 61  |<196. pl=1. scra|
00000bc0  25 3d 73 63 72 61 25 2d  35 30 0d 03 84 22 e7 20  |%=scra%-50...". |
00000bd0  79 6c 3c 31 39 36 80 20  70 6c 3d 32 8c 20 73 63  |yl<196. pl=2. sc|
00000be0  72 62 25 3d 73 63 72 62  25 2d 35 30 0d 03 8e 21  |rb%=scrb%-50...!|
00000bf0  e7 20 79 6c 3e 38 32 38  80 20 70 6c 3d 31 8c 20  |. yl>828. pl=1. |
00000c00  73 63 72 61 25 3d 73 63  72 61 25 2d 32 0d 03 98  |scra%=scra%-2...|
00000c10  21 e7 20 79 6c 3e 38 32  38 80 20 70 6c 3d 32 8c  |!. yl>828. pl=2.|
00000c20  20 73 63 72 62 25 3d 73  63 72 62 25 2d 32 0d 03  | scrb%=scrb%-2..|
00000c30  a2 1f e7 20 28 79 6c 3e  38 32 38 29 80 28 b3 28  |... (yl>828).(.(|
00000c40  33 29 3d 32 29 8c f2 73  63 72 65 65 6e 0d 03 ac  |3)=2)..screen...|
00000c50  20 e7 20 6c 69 76 61 25  3c 30 20 84 20 6c 69 76  | . liva%<0 . liv|
00000c60  62 25 3c 30 20 8c 20 73  74 6f 70 3d b9 0d 03 b6  |b%<0 . stop=....|
00000c70  3f e7 20 73 63 72 61 25  3c 30 8c 20 73 63 72 61  |?. scra%<0. scra|
00000c80  25 3d 73 63 61 25 3a e7  20 73 6f 75 6e 64 20 8c  |%=sca%:. sound .|
00000c90  e3 62 3d 30 b8 35 3a d4  31 2c 2d 31 35 2c 30 2c  |.b=0.5:.1,-15,0,|
00000ca0  32 3a d4 31 2c 30 2c 30  2c 32 3a ed 0d 03 c0 3f  |2:.1,0,0,2:....?|
00000cb0  e7 20 73 63 72 62 25 3c  30 8c 20 73 63 72 62 25  |. scrb%<0. scrb%|
00000cc0  3d 73 63 62 25 3a e7 20  73 6f 75 6e 64 20 8c e3  |=scb%:. sound ..|
00000cd0  62 3d 30 b8 35 3a d4 31  2c 2d 31 35 2c 30 2c 32  |b=0.5:.1,-15,0,2|
00000ce0  3a d4 31 2c 30 2c 30 2c  32 3a ed 0d 03 ca 05 e1  |:.1,0,0,2:......|
00000cf0  0d 03 d4 05 3a 0d 03 de  0d dd f2 72 65 66 6c 65  |....:......refle|
00000d00  63 74 0d 03 e8 27 78 63  3d a8 28 28 78 6c 2d 33  |ct...'xc=.((xl-3|
00000d10  32 30 29 2f 33 32 29 3a  79 63 3d a8 28 28 38 33  |20)/32):yc=.((83|
00000d20  32 2d 79 6c 29 2f 33 32  29 0d 03 f2 2b e7 64 6c  |2-yl)/32)...+.dl|
00000d30  3d 30 80 3f 28 26 41 30  30 2b 78 63 2b 79 63 2a  |=0.?(&A00+xc+yc*|
00000d40  32 30 29 3d 31 8c 64 6c  3d 33 3a 79 63 3d 79 63  |20)=1.dl=3:yc=yc|
00000d50  2d 38 3a e1 0d 03 fc 2b  e7 64 6c 3d 30 80 3f 28  |-8:....+.dl=0.?(|
00000d60  26 41 30 30 2b 78 63 2b  79 63 2a 32 30 29 3d 32  |&A00+xc+yc*20)=2|
00000d70  8c 64 6c 3d 31 3a 79 63  3d 79 63 2b 38 3a e1 0d  |.dl=1:yc=yc+8:..|
00000d80  04 06 2b e7 64 6c 3d 31  80 3f 28 26 41 30 30 2b  |..+.dl=1.?(&A00+|
00000d90  78 63 2b 79 63 2a 32 30  29 3d 31 8c 64 6c 3d 32  |xc+yc*20)=1.dl=2|
00000da0  3a 78 63 3d 78 63 2b 38  3a e1 0d 04 10 2b e7 64  |:xc=xc+8:....+.d|
00000db0  6c 3d 31 80 3f 28 26 41  30 30 2b 78 63 2b 79 63  |l=1.?(&A00+xc+yc|
00000dc0  2a 32 30 29 3d 32 8c 64  6c 3d 30 3a 78 63 3d 78  |*20)=2.dl=0:xc=x|
00000dd0  63 2d 38 3a e1 0d 04 1a  2b e7 64 6c 3d 32 80 3f  |c-8:....+.dl=2.?|
00000de0  28 26 41 30 30 2b 78 63  2b 79 63 2a 32 30 29 3d  |(&A00+xc+yc*20)=|
00000df0  31 8c 64 6c 3d 31 3a 79  63 3d 79 63 2b 38 3a e1  |1.dl=1:yc=yc+8:.|
00000e00  0d 04 24 2b e7 64 6c 3d  32 80 3f 28 26 41 30 30  |..$+.dl=2.?(&A00|
00000e10  2b 78 63 2b 79 63 2a 32  30 29 3d 32 8c 64 6c 3d  |+xc+yc*20)=2.dl=|
00000e20  33 3a 79 63 3d 79 63 2d  38 3a e1 0d 04 2e 2b e7  |3:yc=yc-8:....+.|
00000e30  64 6c 3d 33 80 3f 28 26  41 30 30 2b 78 63 2b 79  |dl=3.?(&A00+xc+y|
00000e40  63 2a 32 30 29 3d 31 8c  64 6c 3d 30 3a 78 63 3d  |c*20)=1.dl=0:xc=|
00000e50  78 63 2d 38 3a e1 0d 04  38 10 64 6c 3d 32 3a 78  |xc-8:...8.dl=2:x|
00000e60  63 3d 78 63 2b 38 0d 04  42 05 e1 0d 04 4c 05 3a  |c=xc+8..B....L.:|
00000e70  0d 04 56 0b dd f2 73 63  6f 72 65 0d 04 60 0b fb  |..V...score..`..|
00000e80  32 3a fb 31 32 39 0d 04  6a 1f f1 8a 32 2c 32 38  |2:.129..j...2,28|
00000e90  29 22 20 20 20 20 20 20  22 3b 8a 32 2c 32 38 29  |)"      ";.2,28)|
00000ea0  73 63 72 61 25 0d 04 74  1c f1 8a 37 2c 33 30 29  |scra%..t...7,30)|
00000eb0  22 20 20 22 3b 8a 37 2c  33 30 29 3b 6c 69 76 61  |"  ";.7,30);liva|
00000ec0  25 0d 04 7e 21 f1 8a 33  32 2c 32 38 29 22 20 20  |%..~!..32,28)"  |
00000ed0  20 20 20 20 22 3b 8a 33  32 2c 32 38 29 73 63 72  |    ";.32,28)scr|
00000ee0  62 25 0d 04 88 1e f1 8a  33 37 2c 33 30 29 22 20  |b%......37,30)" |
00000ef0  20 22 3b 8a 33 37 2c 33  30 29 3b 6c 69 76 62 25  | ";.37,30);livb%|
00000f00  0d 04 92 08 fb 31 32 38  0d 04 9c 05 e1 0d 04 a6  |.....128........|
00000f10  05 3a 0d 04 b0 0b dd f2  74 69 74 6c 65 0d 04 ba  |.:......title...|
00000f20  13 ef 31 39 2c 33 2c 31  2c 30 2c 30 2c 30 2c 30  |..19,3,1,0,0,0,0|
00000f30  0d 04 c4 8d db 3a e3 62  61 3d 33 30 30 b8 31 88  |.....:.ba=300.1.|
00000f40  2d 35 30 3a e6 30 2c 62  61 2f 35 30 3a ec 34 30  |-50:.0,ba/50:.40|
00000f50  30 2d 62 61 2c 34 30 30  3a ec 34 30 30 2c 34 30  |0-ba,400:.400,40|
00000f60  30 2b 62 61 3a f0 38 35  2c 34 30 30 2c 34 30 30  |0+ba:.85,400,400|
00000f70  2d 62 61 3a f0 38 35 2c  34 30 30 2b 62 61 2c 34  |-ba:.85,400+ba,4|
00000f80  30 30 3a ed 3a fb 31 33  31 3a f7 3a e3 79 63 3d  |00:.:.131:.:.yc=|
00000f90  31 b8 35 3a f3 6c 24 3a  e3 78 63 3d 30 b8 33 39  |1.5:.l$:.xc=0.39|
00000fa0  3a e7 c1 6c 24 2c 78 63  2b 31 2c 31 29 3d 22 2a  |:..l$,xc+1,1)="*|
00000fb0  22 8c f1 8a 78 63 2c 79  63 29 22 20 22 0d 04 ce  |"...xc,yc)" "...|
00000fc0  a0 ed 2c 3a fb 31 32 38  3a fb 31 3a f1 8a 31 30  |..,:.128:.1:..10|
00000fd0  2c 39 29 22 62 79 20 44  6f 6d 69 6e 69 63 20 46  |,9)"by Dominic F|
00000fe0  6f 72 64 20 31 39 39 36  22 3a fb 32 3a f1 8a 32  |ord 1996":.2:..2|
00000ff0  33 2c 32 30 29 22 53 50  41 43 45 20 2d 20 48 75  |3,20)"SPACE - Hu|
00001000  6d 61 6e 2f 45 6c 6b 22  3b 8a 32 37 2c 32 32 29  |man/Elk";.27,22)|
00001010  22 32 20 2d 20 32 20 50  6c 61 79 65 72 22 3b 8a  |"2 - 2 Player";.|
00001020  32 37 2c 32 34 29 22 51  20 2d 20 51 75 69 74 22  |27,24)"Q - Quit"|
00001030  3b 8a 32 37 2c 32 36 29  3b 22 53 20 2d 20 53 6f  |;.27,26);"S - So|
00001040  75 6e 64 22 3b 8a 32 35  2c 31 36 29 22 53 6f 75  |und";.25,16)"Sou|
00001050  6e 64 3a 22 3b 8a 33 32  2c 31 36 29 3b 0d 04 d8  |nd:";.32,16);...|
00001060  19 e7 20 73 6f 75 6e 64  20 8c f1 22 4f 6e 22 8b  |.. sound .."On".|
00001070  f1 22 4f 66 66 22 0d 04  e2 53 e6 33 2c 32 3a ec  |."Off"...S.3,2:.|
00001080  31 31 38 30 2c 31 30 32  34 3a ec 34 30 30 2c 34  |1180,1024:.400,4|
00001090  30 30 3a f0 38 35 2c 31  33 38 30 2c 31 30 32 34  |00:.85,1380,1024|
000010a0  3a f5 3a f5 3a 6b 24 3d  bf 28 30 29 3a fd 20 a7  |:.:.:k$=.(0):. .|
000010b0  22 20 32 51 71 53 73 22  2c 6b 24 29 3c 3e 30 20  |" 2QqSs",k$)<>0 |
000010c0  80 20 a9 28 6b 24 29 3e  30 0d 04 ec 1c e7 6b 24  |. .(k$)>0.....k$|
000010d0  3d 22 53 22 84 6b 24 3d  22 73 22 8c f2 73 6f 75  |="S".k$="s"..sou|
000010e0  6e 64 3a fd a3 0d 04 f6  05 e1 0d 05 00 05 3a 0d  |nd:...........:.|
000010f0  05 0a 0b dd f2 73 6f 75  6e 64 0d 05 14 25 e7 20  |.....sound...%. |
00001100  73 6f 75 6e 64 20 8c 20  73 6f 75 6e 64 3d a3 3a  |sound . sound=.:|
00001110  f1 8a 33 32 2c 31 36 29  22 4f 66 66 22 3a e1 0d  |..32,16)"Off":..|
00001120  05 1e 19 73 6f 75 6e 64  3d b9 3a f1 8a 33 32 2c  |...sound=.:..32,|
00001130  31 36 29 22 4f 6e 20 22  0d 05 28 05 e1 0d 05 32  |16)"On "..(....2|
00001140  05 3a 0d 05 3c 2f dc 22  2a 20 20 20 2a 2a 2a 20  |.:..</."*   *** |
00001150  2a 2a 2a 20 2a 2a 2a 20  2a 2a 2a 20 20 2a 2a 2a  |*** *** ***  ***|
00001160  2a 20 2a 2a 2a 20 2a 2a  2a 20 2a 2a 2a 2a 2a 2a  |* *** *** ******|
00001170  22 0d 05 46 2f dc 22 2a  20 20 20 2a 20 2a 20 2a  |"..F/."*   * * *|
00001180  20 20 20 2a 20 20 20 2a  20 2a 20 20 20 2a 20 2a  |   *   * *   * *|
00001190  20 2a 20 2a 20 2a 20 2a  20 20 2a 20 2a 20 20 22  | * * * *  * *  "|
000011a0  0d 05 50 2f dc 22 2a 20  20 20 2a 2a 2a 20 2a 2a  |..P/."*   *** **|
000011b0  2a 20 2a 2a 20 20 2a 2a  2a 20 20 20 2a 20 2a 20  |* **  ***   * * |
000011c0  2a 2a 2a 20 2a 2a 2a 20  20 2a 20 2a 2a 2a 22 0d  |*** ***  * ***".|
000011d0  05 5a 2f dc 22 2a 20 20  20 2a 20 2a 20 20 20 2a  |.Z/."*   * *   *|
000011e0  20 2a 20 20 20 2a 2a 20  20 20 20 2a 20 2a 20 2a  | *   **    * * *|
000011f0  20 2a 20 2a 2a 20 20 20  2a 20 20 20 2a 22 0d 05  | * **   *   *"..|
00001200  64 2f dc 22 2a 2a 2a 20  2a 20 2a 20 2a 2a 2a 20  |d/."*** * * *** |
00001210  2a 2a 2a 20 2a 20 2a 20  20 2a 2a 2a 2a 20 2a 20  |*** * *  **** * |
00001220  2a 20 2a 20 2a 20 20 2a  20 2a 2a 2a 22 0d 05 6e  |* * *  * ***"..n|
00001230  05 3a 0d 05 78 0b dd f2  72 65 6c 6f 63 0d 05 82  |.:..x...reloc...|
00001240  0b d3 3d 26 35 38 30 30  0d 05 8c 14 e3 20 70 61  |..=&5800..... pa|
00001250  73 73 3d 30 20 b8 20 32  20 88 20 32 0d 05 96 0b  |ss=0 . 2 . 2....|
00001260  50 25 3d 26 43 30 30 0d  05 a0 0c 5b 4f 50 54 70  |P%=&C00....[OPTp|
00001270  61 73 73 0d 05 aa 4a 20  20 20 20 4c 44 59 23 30  |ass...J    LDY#0|
00001280  3a 53 54 59 26 37 30 3a  53 54 59 26 37 32 3a 4c  |:STY&70:STY&72:L|
00001290  44 41 23 26 31 30 3a 53  45 43 3a 53 42 43 26 31  |DA#&10:SEC:SBC&1|
000012a0  38 3a 53 54 41 26 37 34  3a 4c 44 41 26 31 38 3a  |8:STA&74:LDA&18:|
000012b0  43 4d 50 23 26 31 30 3a  42 43 43 61 64 0d 05 b4  |CMP#&10:BCCad...|
000012c0  1d 2e 73 62 20 53 54 41  26 37 31 3a 4c 44 41 23  |..sb STA&71:LDA#|
000012d0  26 31 30 3a 53 54 41 26  37 33 0d 05 be 53 2e 6d  |&10:STA&73...S.m|
000012e0  31 20 4c 44 41 28 26 37  30 29 2c 59 3a 53 54 41  |1 LDA(&70),Y:STA|
000012f0  28 26 37 32 29 2c 59 3a  49 4e 59 3a 42 4e 45 6d  |(&72),Y:INY:BNEm|
00001300  31 3a 49 4e 43 26 37 31  3a 49 4e 43 26 37 33 3a  |1:INC&71:INC&73:|
00001310  4c 44 58 26 37 31 3a 44  45 58 3a 43 50 58 26 30  |LDX&71:DEX:CPX&0|
00001320  33 3a 42 43 43 6d 31 3a  42 43 53 65 6d 0d 05 c8  |3:BCCm1:BCSem...|
00001330  34 2e 61 64 20 4c 44 41  26 30 33 3a 53 54 41 26  |4.ad LDA&03:STA&|
00001340  37 31 3a 43 4c 43 3a 41  44 43 26 37 34 3a 53 54  |71:CLC:ADC&74:ST|
00001350  41 26 37 33 3a 4c 44 41  23 30 3a 4c 44 59 26 30  |A&73:LDA#0:LDY&0|
00001360  32 0d 05 d2 52 2e 6d 32  20 4c 44 41 28 26 37 30  |2...R.m2 LDA(&70|
00001370  29 2c 59 3a 53 54 41 28  26 37 32 29 2c 59 3a 44  |),Y:STA(&72),Y:D|
00001380  45 59 3a 43 50 59 23 26  46 46 3a 42 4e 45 6d 32  |EY:CPY#&FF:BNEm2|
00001390  3a 44 45 43 26 37 31 3a  44 45 43 26 37 33 3a 4c  |:DEC&71:DEC&73:L|
000013a0  44 41 26 37 33 3a 43 4d  50 23 26 31 36 3a 42 43  |DA&73:CMP#&16:BC|
000013b0  53 6d 32 0d 05 dc 3a 2e  65 6d 20 4c 44 41 26 31  |Sm2...:.em LDA&1|
000013c0  33 3a 43 4c 43 3a 41 44  43 26 37 34 3a 53 54 41  |3:CLC:ADC&74:STA|
000013d0  26 31 33 3a 53 54 41 26  30 31 3a 4c 44 41 23 26  |&13:STA&01:LDA#&|
000013e0  31 30 3a 53 54 41 26 31  38 3a 52 54 53 0d 05 e6  |10:STA&18:RTS...|
000013f0  05 5d 0d 05 f0 05 ed 0d  05 fa 08 ef 20 32 31 0d  |.].......... 21.|
00001400  06 04 31 ff 22 4b 45 59  20 30 22 22 43 41 4c 4c  |..1."KEY 0""CALL|
00001410  26 43 30 30 7c 4d 52 55  4e 7c 46 7c 4d 22 22 22  |&C00|MRUN|F|M"""|
00001420  3a ff 22 46 58 20 31 35  33 2c 30 2c 31 32 38 22  |:."FX 153,0,128"|
00001430  0d 06 0e 05 e0 0d 06 18  05 e1 0d ff              |............|
0000143c