Home » Archimedes archive » Acorn User » AU 1998-03 B.adf » StarInfo » Harrison/Avoid

Harrison/Avoid

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

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

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-03 B.adf » StarInfo
Filename: Harrison/Avoid
Read OK:
File size: 03FF bytes
Load address: 0000
Exec address: 0000
File contents
   10MODE48
   20IFMODE<>48THENMODE9
   30OFF
   40b=16
   50DIMa(b,3,3)
   60d=0
   70cx=640
   80cy=480
   90h=0.5
  100p=960
  110e=1276
  120g=640
  130xv=0
  140yv=0
  150FORI=0TOb
  160a(I,0,0)=-1
  170NEXT
  180st=0
  190CLS
  200t=5+(st/2)
  210MOUSETOg,512
  220REPEAT
  230t+=0.02
  240ox=cx
  250oy=cy
  260MOUSEx,y,z
  261MOUSETOg,512
  280z=t/2+h
  290xv+=(x-g)/2
  300yv+=(y-512)/2
  310cx+=xv
  320cy+=yv
  330IFcx+xv<40ORcx+xv>1236THENxv=xv*-0.9
  340IFcy+yv<40ORcy+yv>920THENyv=yv*-0.9
  350FORI=0TOb
  360ax=a(I,0,0)
  370ay=a(I,1,0)
  380IFax>e ORax<0OR ay<0OR ay>p THEN
  390GCOL0
  400POINTax,ay
  410IFRND(2)=1THENax=RND(e):ay=p*(RND(2)-1)ELSEay=RND(p):ax=e*(RND(2)-1)
  420IFay=0THEN a(I,2,0)=RND(t)-z:a(I,3,0)=RND(z)
  430IFay=p THEN a(I,2,0)=RND(t)-z:a(I,3,0)=-RND(z)
  440IFax=0THEN a(I,2,0)=RND(z):a(I,3,0)=RND(t)-z
  450IFax=e THEN a(I,2,0)=-RND(z):a(I,3,0)=RND(t)-z
  460a(I,0,0)=ax
  470a(I,1,0)=ay
  480ELSE
  490FORr=3TO1STEP-1:a(I,0,r)=a(I,0,r-1):a(I,1,r)=a(I,1,r-1):NEXT
  500a(I,0,0)+=a(I,2,0)
  510a(I,1,0)+=a(I,3,0)
  520IFPOINT(a(I,0,0),a(I,1,0))=4THENd=-1
  530ENDIF
  540NEXT
  550WAIT
  560GCOL0
  570CIRCLEFILLox,oy,40
  580GCOL4
  590CIRCLEFILLcx,cy,40
  600FORf=0TO3STEP3
  610GCOL3-f
  620FORI=0TOb
  630POINTa(I,0,f),a(I,1,f)
  640NEXT
  650NEXT
  660UNTILd
  670PRINT"You survived ";t*2-10;" Seconds"

�48

��<>48��9
�
(b=16
2
�a(b,3,3)
<d=0
F
cx=640
P
cy=480
Z	h=0.5
d	p=960
n
e=1276
x	g=640
�xv=0
�yv=0
�
�I=0�b
�a(I,0,0)=-1
��
�st=0
��
�t=5+(st/2)
�ȗ�g,512
��
�t+=0.02
�	ox=cx
�	oy=cy
ȗx,y,z
ȗ�g,512
z=t/2+h
"xv+=(x-g)/2
,yv+=(y-512)/2
6
cx+=xv
@
cy+=yv
J#�cx+xv<40�cx+xv>1236�xv=xv*-0.9
T"�cy+yv<40�cy+yv>920�yv=yv*-0.9
^
�I=0�b
hax=a(I,0,0)
ray=a(I,1,0)
|�ax>e �ax<0� ay<0� ay>p �
��0
�Ȓax,ay
�7�(2)=1�ax=�(e):ay=p*(�(2)-1)�ay=�(p):ax=e*(�(2)-1)
�(�ay=0� a(I,2,0)=�(t)-z:a(I,3,0)=�(z)
�*�ay=p � a(I,2,0)=�(t)-z:a(I,3,0)=-�(z)
�(�ax=0� a(I,2,0)=�(z):a(I,3,0)=�(t)-z
�*�ax=e � a(I,2,0)=-�(z):a(I,3,0)=�(t)-z
�a(I,0,0)=ax
�a(I,1,0)=ay
��
�7�r=3�1�-1:a(I,0,r)=a(I,0,r-1):a(I,1,r)=a(I,1,r-1):�
�a(I,0,0)+=a(I,2,0)
�a(I,1,0)+=a(I,3,0)
�a(I,0,0),a(I,1,0))=4�d=-1
�
�
&Ȗ
0�0
:ȏȐox,oy,40
D�4
NȏȐcx,cy,40
X�f=0�3�3
b�3-f
l
�I=0�b
vȒa(I,0,f),a(I,1,f)
��
��
��d
�&�"You survived ";t*2-10;" Seconds"
�
00000000  0d 00 0a 07 eb 34 38 0d  00 14 0d e7 eb 3c 3e 34  |.....48......<>4|
00000010  38 8c eb 39 0d 00 1e 05  87 0d 00 28 08 62 3d 31  |8..9.......(.b=1|
00000020  36 0d 00 32 0d de 61 28  62 2c 33 2c 33 29 0d 00  |6..2..a(b,3,3)..|
00000030  3c 07 64 3d 30 0d 00 46  0a 63 78 3d 36 34 30 0d  |<.d=0..F.cx=640.|
00000040  00 50 0a 63 79 3d 34 38  30 0d 00 5a 09 68 3d 30  |.P.cy=480..Z.h=0|
00000050  2e 35 0d 00 64 09 70 3d  39 36 30 0d 00 6e 0a 65  |.5..d.p=960..n.e|
00000060  3d 31 32 37 36 0d 00 78  09 67 3d 36 34 30 0d 00  |=1276..x.g=640..|
00000070  82 08 78 76 3d 30 0d 00  8c 08 79 76 3d 30 0d 00  |..xv=0....yv=0..|
00000080  96 0a e3 49 3d 30 b8 62  0d 00 a0 0f 61 28 49 2c  |...I=0.b....a(I,|
00000090  30 2c 30 29 3d 2d 31 0d  00 aa 05 ed 0d 00 b4 08  |0,0)=-1.........|
000000a0  73 74 3d 30 0d 00 be 05  db 0d 00 c8 0e 74 3d 35  |st=0.........t=5|
000000b0  2b 28 73 74 2f 32 29 0d  00 d2 0c c8 97 b8 67 2c  |+(st/2).......g,|
000000c0  35 31 32 0d 00 dc 05 f5  0d 00 e6 0b 74 2b 3d 30  |512.........t+=0|
000000d0  2e 30 32 0d 00 f0 09 6f  78 3d 63 78 0d 00 fa 09  |.02....ox=cx....|
000000e0  6f 79 3d 63 79 0d 01 04  0b c8 97 78 2c 79 2c 7a  |oy=cy......x,y,z|
000000f0  0d 01 05 0c c8 97 b8 67  2c 35 31 32 0d 01 18 0b  |.......g,512....|
00000100  7a 3d 74 2f 32 2b 68 0d  01 22 0f 78 76 2b 3d 28  |z=t/2+h..".xv+=(|
00000110  78 2d 67 29 2f 32 0d 01  2c 11 79 76 2b 3d 28 79  |x-g)/2..,.yv+=(y|
00000120  2d 35 31 32 29 2f 32 0d  01 36 0a 63 78 2b 3d 78  |-512)/2..6.cx+=x|
00000130  76 0d 01 40 0a 63 79 2b  3d 79 76 0d 01 4a 23 e7  |v..@.cy+=yv..J#.|
00000140  63 78 2b 78 76 3c 34 30  84 63 78 2b 78 76 3e 31  |cx+xv<40.cx+xv>1|
00000150  32 33 36 8c 78 76 3d 78  76 2a 2d 30 2e 39 0d 01  |236.xv=xv*-0.9..|
00000160  54 22 e7 63 79 2b 79 76  3c 34 30 84 63 79 2b 79  |T".cy+yv<40.cy+y|
00000170  76 3e 39 32 30 8c 79 76  3d 79 76 2a 2d 30 2e 39  |v>920.yv=yv*-0.9|
00000180  0d 01 5e 0a e3 49 3d 30  b8 62 0d 01 68 0f 61 78  |..^..I=0.b..h.ax|
00000190  3d 61 28 49 2c 30 2c 30  29 0d 01 72 0f 61 79 3d  |=a(I,0,0)..r.ay=|
000001a0  61 28 49 2c 31 2c 30 29  0d 01 7c 1d e7 61 78 3e  |a(I,1,0)..|..ax>|
000001b0  65 20 84 61 78 3c 30 84  20 61 79 3c 30 84 20 61  |e .ax<0. ay<0. a|
000001c0  79 3e 70 20 8c 0d 01 86  06 e6 30 0d 01 90 0b c8  |y>p ......0.....|
000001d0  92 61 78 2c 61 79 0d 01  9a 37 e7 b3 28 32 29 3d  |.ax,ay...7..(2)=|
000001e0  31 8c 61 78 3d b3 28 65  29 3a 61 79 3d 70 2a 28  |1.ax=.(e):ay=p*(|
000001f0  b3 28 32 29 2d 31 29 8b  61 79 3d b3 28 70 29 3a  |.(2)-1).ay=.(p):|
00000200  61 78 3d 65 2a 28 b3 28  32 29 2d 31 29 0d 01 a4  |ax=e*(.(2)-1)...|
00000210  28 e7 61 79 3d 30 8c 20  61 28 49 2c 32 2c 30 29  |(.ay=0. a(I,2,0)|
00000220  3d b3 28 74 29 2d 7a 3a  61 28 49 2c 33 2c 30 29  |=.(t)-z:a(I,3,0)|
00000230  3d b3 28 7a 29 0d 01 ae  2a e7 61 79 3d 70 20 8c  |=.(z)...*.ay=p .|
00000240  20 61 28 49 2c 32 2c 30  29 3d b3 28 74 29 2d 7a  | a(I,2,0)=.(t)-z|
00000250  3a 61 28 49 2c 33 2c 30  29 3d 2d b3 28 7a 29 0d  |:a(I,3,0)=-.(z).|
00000260  01 b8 28 e7 61 78 3d 30  8c 20 61 28 49 2c 32 2c  |..(.ax=0. a(I,2,|
00000270  30 29 3d b3 28 7a 29 3a  61 28 49 2c 33 2c 30 29  |0)=.(z):a(I,3,0)|
00000280  3d b3 28 74 29 2d 7a 0d  01 c2 2a e7 61 78 3d 65  |=.(t)-z...*.ax=e|
00000290  20 8c 20 61 28 49 2c 32  2c 30 29 3d 2d b3 28 7a  | . a(I,2,0)=-.(z|
000002a0  29 3a 61 28 49 2c 33 2c  30 29 3d b3 28 74 29 2d  |):a(I,3,0)=.(t)-|
000002b0  7a 0d 01 cc 0f 61 28 49  2c 30 2c 30 29 3d 61 78  |z....a(I,0,0)=ax|
000002c0  0d 01 d6 0f 61 28 49 2c  31 2c 30 29 3d 61 79 0d  |....a(I,1,0)=ay.|
000002d0  01 e0 05 cc 0d 01 ea 37  e3 72 3d 33 b8 31 88 2d  |.......7.r=3.1.-|
000002e0  31 3a 61 28 49 2c 30 2c  72 29 3d 61 28 49 2c 30  |1:a(I,0,r)=a(I,0|
000002f0  2c 72 2d 31 29 3a 61 28  49 2c 31 2c 72 29 3d 61  |,r-1):a(I,1,r)=a|
00000300  28 49 2c 31 2c 72 2d 31  29 3a ed 0d 01 f4 16 61  |(I,1,r-1):.....a|
00000310  28 49 2c 30 2c 30 29 2b  3d 61 28 49 2c 32 2c 30  |(I,0,0)+=a(I,2,0|
00000320  29 0d 01 fe 16 61 28 49  2c 31 2c 30 29 2b 3d 61  |)....a(I,1,0)+=a|
00000330  28 49 2c 33 2c 30 29 0d  02 08 1f e7 b0 61 28 49  |(I,3,0)......a(I|
00000340  2c 30 2c 30 29 2c 61 28  49 2c 31 2c 30 29 29 3d  |,0,0),a(I,1,0))=|
00000350  34 8c 64 3d 2d 31 0d 02  12 05 cd 0d 02 1c 05 ed  |4.d=-1..........|
00000360  0d 02 26 06 c8 96 0d 02  30 06 e6 30 0d 02 3a 10  |..&.....0..0..:.|
00000370  c8 8f c8 90 6f 78 2c 6f  79 2c 34 30 0d 02 44 06  |....ox,oy,40..D.|
00000380  e6 34 0d 02 4e 10 c8 8f  c8 90 63 78 2c 63 79 2c  |.4..N.....cx,cy,|
00000390  34 30 0d 02 58 0c e3 66  3d 30 b8 33 88 33 0d 02  |40..X..f=0.3.3..|
000003a0  62 08 e6 33 2d 66 0d 02  6c 0a e3 49 3d 30 b8 62  |b..3-f..l..I=0.b|
000003b0  0d 02 76 17 c8 92 61 28  49 2c 30 2c 66 29 2c 61  |..v...a(I,0,f),a|
000003c0  28 49 2c 31 2c 66 29 0d  02 80 05 ed 0d 02 8a 05  |(I,1,f).........|
000003d0  ed 0d 02 94 06 fd 64 0d  02 9e 26 f1 22 59 6f 75  |......d...&."You|
000003e0  20 73 75 72 76 69 76 65  64 20 22 3b 74 2a 32 2d  | survived ";t*2-|
000003f0  31 30 3b 22 20 53 65 63  6f 6e 64 73 22 0d ff     |10;" Seconds"..|
000003ff