Home » Archimedes archive » Acorn User » AU 1997-04 A.adf » Features1 » StarInfo/Stoner/!Boing

StarInfo/Stoner/!Boing

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 1997-04 A.adf » Features1
Filename: StarInfo/Stoner/!Boing
Read OK:
File size: 0400 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM 1K Boing by Nigel Stoner 96
    2s%=1:DIM bx(32),by(32),dx(32),dy(32),l(32):sc%=0:hs%=0
    3REPEAT:PROCtitle:PROCgame:UNTIL0
    4DEF PROCtitle:MODE9:COLOUR2:PRINTTAB(12,12)"Last go "STR$(sc%);:COLOUR6:PRINT''SPC(12)"Todays best "STR$(hs%):COLOUR5:PRINT TAB(15,4)"B   I   G":PRINTTAB(17,5)"O   N"TAB(7,24)"Any Mouse button to play...":REPEAT:MOUSE x,y,b:UNTIL b<>0:ENDPROC
    5DEFPROCgame:MODE137:OFF:l%=TRUE:r%=1:m%=1:c%=1:PROCinit:sc%=0:COLOUR14:REPEAT:SYS 6,112,s%:s%=s%EOR3:SYS6,113,s%:WAIT:CLS
    6GCOL9:RECTANGLEFILL0,0,128,64:RECTANGLE FILL1152,0,128,64:MOUSE x,y,b:GCOL15:RECTANGLEFILL x-64,8,128,12:PRINTTAB(0,0)"Save "STR$(m%-c%+1)" Score "STR$(sc%)
    7FOR g=1TO r%
    8IF l(g)=1 THEN
    9GCOL g:CIRCLEFILL bx(g),by(g),12:CIRCLEFILL bx(g)-dx(g),by(g)-dy(g),12:bx(g)+=dx(g):by(g)+=dy(g):dy(g)=dy(g)-.2
   10IF by(g)<26 IF x-70<bx(g) AND x+70>bx(g) THEN by(g)=26:dy(g)=-dy(g)*.8:dx(g)=(bx(g)-x)/9:sc%+=1 ELSE IF by(g)<0 l%=0
   11IF bx(g)<128 OR bx(g)>1152 l(g)=0:c%+=1:IF c%>m% c%=1:r%=1:g=1:m%=m%+(1 AND m%<16):PROCinit:sc%+=10
   12ENDIF
   13IF r%<m% IF RND(100)=1 THEN IF TIME>t+25 THEN r%+=1:t=TIME
   14NEXT:UNTIL l%=FALSE:IF sc%>hs% hs%=sc%
   15ENDPROC
   16DEF PROCinit:FOR a=1TO m%:bx(a)=RND(1024)+128:by(a)=840:dx(a)=0:dy(a)=8:l(a)=1:NEXT:FOR n=1TO15:COLOUR n,RND(192)+64,RND(192)+64,RND(192)+64:NEXT:t=TIME:ENDPROC
!� 1K Boing by Nigel Stoner 96
8s%=1:� bx(32),by(32),dx(32),dy(32),l(32):sc%=0:hs%=0
�:�title:�game:�0
�� �title:�9:�2:�12,12)"Last go "�(sc%);:�6:�''�(12)"Todays best "�(hs%):�5:� �15,4)"B   I   G":�17,5)"O   N"�7,24)"Any Mouse button to play...":�:ȗ x,y,b:� b<>0:�
[��game:�137:�:l%=�:r%=1:m%=1:c%=1:�init:sc%=0:�14:�:ș 6,112,s%:s%=s%�3:ș6,113,s%:Ȗ:�
o�9:ȓȐ0,0,128,64:ȓ Ȑ1152,0,128,64:ȗ x,y,b:�15:ȓȐ x-64,8,128,12:�0,0)"Save "�(m%-c%+1)" Score "�(sc%)

� g=1� r%
� l(g)=1 �
	d� g:ȏȐ bx(g),by(g),12:ȏȐ bx(g)-dx(g),by(g)-dy(g),12:bx(g)+=dx(g):by(g)+=dy(g):dy(g)=dy(g)-.2

m� by(g)<26 � x-70<bx(g) � x+70>bx(g) � by(g)=26:dy(g)=-dy(g)*.8:dx(g)=(bx(g)-x)/9:sc%+=1 � � by(g)<0 l%=0
_� bx(g)<128 � bx(g)>1152 l(g)=0:c%+=1:� c%>m% c%=1:r%=1:g=1:m%=m%+(1 � m%<16):�init:sc%+=10
�

-� r%<m% � �(100)=1 � � �>t+25 � r%+=1:t=�
�:� l%=�:� sc%>hs% hs%=sc%
�
}� �init:� a=1� m%:bx(a)=�(1024)+128:by(a)=840:dx(a)=0:dy(a)=8:l(a)=1:�:� n=1�15:� n,�(192)+64,�(192)+64,�(192)+64:�:t=�:�
�
00000000  0d 00 01 21 f4 20 31 4b  20 42 6f 69 6e 67 20 62  |...!. 1K Boing b|
00000010  79 20 4e 69 67 65 6c 20  53 74 6f 6e 65 72 20 39  |y Nigel Stoner 9|
00000020  36 0d 00 02 38 73 25 3d  31 3a de 20 62 78 28 33  |6...8s%=1:. bx(3|
00000030  32 29 2c 62 79 28 33 32  29 2c 64 78 28 33 32 29  |2),by(32),dx(32)|
00000040  2c 64 79 28 33 32 29 2c  6c 28 33 32 29 3a 73 63  |,dy(32),l(32):sc|
00000050  25 3d 30 3a 68 73 25 3d  30 0d 00 03 15 f5 3a f2  |%=0:hs%=0.....:.|
00000060  74 69 74 6c 65 3a f2 67  61 6d 65 3a fd 30 0d 00  |title:.game:.0..|
00000070  04 a9 dd 20 f2 74 69 74  6c 65 3a eb 39 3a fb 32  |... .title:.9:.2|
00000080  3a f1 8a 31 32 2c 31 32  29 22 4c 61 73 74 20 67  |:..12,12)"Last g|
00000090  6f 20 22 c3 28 73 63 25  29 3b 3a fb 36 3a f1 27  |o ".(sc%);:.6:.'|
000000a0  27 89 28 31 32 29 22 54  6f 64 61 79 73 20 62 65  |'.(12)"Todays be|
000000b0  73 74 20 22 c3 28 68 73  25 29 3a fb 35 3a f1 20  |st ".(hs%):.5:. |
000000c0  8a 31 35 2c 34 29 22 42  20 20 20 49 20 20 20 47  |.15,4)"B   I   G|
000000d0  22 3a f1 8a 31 37 2c 35  29 22 4f 20 20 20 4e 22  |":..17,5)"O   N"|
000000e0  8a 37 2c 32 34 29 22 41  6e 79 20 4d 6f 75 73 65  |.7,24)"Any Mouse|
000000f0  20 62 75 74 74 6f 6e 20  74 6f 20 70 6c 61 79 2e  | button to play.|
00000100  2e 2e 22 3a f5 3a c8 97  20 78 2c 79 2c 62 3a fd  |..":.:.. x,y,b:.|
00000110  20 62 3c 3e 30 3a e1 0d  00 05 5b dd f2 67 61 6d  | b<>0:....[..gam|
00000120  65 3a eb 31 33 37 3a 87  3a 6c 25 3d b9 3a 72 25  |e:.137:.:l%=.:r%|
00000130  3d 31 3a 6d 25 3d 31 3a  63 25 3d 31 3a f2 69 6e  |=1:m%=1:c%=1:.in|
00000140  69 74 3a 73 63 25 3d 30  3a fb 31 34 3a f5 3a c8  |it:sc%=0:.14:.:.|
00000150  99 20 36 2c 31 31 32 2c  73 25 3a 73 25 3d 73 25  |. 6,112,s%:s%=s%|
00000160  82 33 3a c8 99 36 2c 31  31 33 2c 73 25 3a c8 96  |.3:..6,113,s%:..|
00000170  3a db 0d 00 06 6f e6 39  3a c8 93 c8 90 30 2c 30  |:....o.9:....0,0|
00000180  2c 31 32 38 2c 36 34 3a  c8 93 20 c8 90 31 31 35  |,128,64:.. ..115|
00000190  32 2c 30 2c 31 32 38 2c  36 34 3a c8 97 20 78 2c  |2,0,128,64:.. x,|
000001a0  79 2c 62 3a e6 31 35 3a  c8 93 c8 90 20 78 2d 36  |y,b:.15:.... x-6|
000001b0  34 2c 38 2c 31 32 38 2c  31 32 3a f1 8a 30 2c 30  |4,8,128,12:..0,0|
000001c0  29 22 53 61 76 65 20 22  c3 28 6d 25 2d 63 25 2b  |)"Save ".(m%-c%+|
000001d0  31 29 22 20 53 63 6f 72  65 20 22 c3 28 73 63 25  |1)" Score ".(sc%|
000001e0  29 0d 00 07 0d e3 20 67  3d 31 b8 20 72 25 0d 00  |)..... g=1. r%..|
000001f0  08 0e e7 20 6c 28 67 29  3d 31 20 8c 0d 00 09 64  |... l(g)=1 ....d|
00000200  e6 20 67 3a c8 8f c8 90  20 62 78 28 67 29 2c 62  |. g:.... bx(g),b|
00000210  79 28 67 29 2c 31 32 3a  c8 8f c8 90 20 62 78 28  |y(g),12:.... bx(|
00000220  67 29 2d 64 78 28 67 29  2c 62 79 28 67 29 2d 64  |g)-dx(g),by(g)-d|
00000230  79 28 67 29 2c 31 32 3a  62 78 28 67 29 2b 3d 64  |y(g),12:bx(g)+=d|
00000240  78 28 67 29 3a 62 79 28  67 29 2b 3d 64 79 28 67  |x(g):by(g)+=dy(g|
00000250  29 3a 64 79 28 67 29 3d  64 79 28 67 29 2d 2e 32  |):dy(g)=dy(g)-.2|
00000260  0d 00 0a 6d e7 20 62 79  28 67 29 3c 32 36 20 e7  |...m. by(g)<26 .|
00000270  20 78 2d 37 30 3c 62 78  28 67 29 20 80 20 78 2b  | x-70<bx(g) . x+|
00000280  37 30 3e 62 78 28 67 29  20 8c 20 62 79 28 67 29  |70>bx(g) . by(g)|
00000290  3d 32 36 3a 64 79 28 67  29 3d 2d 64 79 28 67 29  |=26:dy(g)=-dy(g)|
000002a0  2a 2e 38 3a 64 78 28 67  29 3d 28 62 78 28 67 29  |*.8:dx(g)=(bx(g)|
000002b0  2d 78 29 2f 39 3a 73 63  25 2b 3d 31 20 8b 20 e7  |-x)/9:sc%+=1 . .|
000002c0  20 62 79 28 67 29 3c 30  20 6c 25 3d 30 0d 00 0b  | by(g)<0 l%=0...|
000002d0  5f e7 20 62 78 28 67 29  3c 31 32 38 20 84 20 62  |_. bx(g)<128 . b|
000002e0  78 28 67 29 3e 31 31 35  32 20 6c 28 67 29 3d 30  |x(g)>1152 l(g)=0|
000002f0  3a 63 25 2b 3d 31 3a e7  20 63 25 3e 6d 25 20 63  |:c%+=1:. c%>m% c|
00000300  25 3d 31 3a 72 25 3d 31  3a 67 3d 31 3a 6d 25 3d  |%=1:r%=1:g=1:m%=|
00000310  6d 25 2b 28 31 20 80 20  6d 25 3c 31 36 29 3a f2  |m%+(1 . m%<16):.|
00000320  69 6e 69 74 3a 73 63 25  2b 3d 31 30 0d 00 0c 05  |init:sc%+=10....|
00000330  cd 0d 00 0d 2d e7 20 72  25 3c 6d 25 20 e7 20 b3  |....-. r%<m% . .|
00000340  28 31 30 30 29 3d 31 20  8c 20 e7 20 91 3e 74 2b  |(100)=1 . . .>t+|
00000350  32 35 20 8c 20 72 25 2b  3d 31 3a 74 3d 91 0d 00  |25 . r%+=1:t=...|
00000360  0e 1e ed 3a fd 20 6c 25  3d a3 3a e7 20 73 63 25  |...:. l%=.:. sc%|
00000370  3e 68 73 25 20 68 73 25  3d 73 63 25 0d 00 0f 05  |>hs% hs%=sc%....|
00000380  e1 0d 00 10 7d dd 20 f2  69 6e 69 74 3a e3 20 61  |....}. .init:. a|
00000390  3d 31 b8 20 6d 25 3a 62  78 28 61 29 3d b3 28 31  |=1. m%:bx(a)=.(1|
000003a0  30 32 34 29 2b 31 32 38  3a 62 79 28 61 29 3d 38  |024)+128:by(a)=8|
000003b0  34 30 3a 64 78 28 61 29  3d 30 3a 64 79 28 61 29  |40:dx(a)=0:dy(a)|
000003c0  3d 38 3a 6c 28 61 29 3d  31 3a ed 3a e3 20 6e 3d  |=8:l(a)=1:.:. n=|
000003d0  31 b8 31 35 3a fb 20 6e  2c b3 28 31 39 32 29 2b  |1.15:. n,.(192)+|
000003e0  36 34 2c b3 28 31 39 32  29 2b 36 34 2c b3 28 31  |64,.(192)+64,.(1|
000003f0  39 32 29 2b 36 34 3a ed  3a 74 3d 91 3a e1 0d ff  |92)+64:.:t=.:...|
00000400