Home » Archimedes archive » Acorn User » AU 1993-11.adf » !StarInfo_StarInfo » Rebound

Rebound

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 1993-11.adf » !StarInfo_StarInfo
Filename: Rebound
Read OK:
File size: 0575 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM    >Rebound
   20REM By  Chris Bassett
   30REM For all machines
   40REM (c) BAU November 1993
   50:
   60MODE 1
   70PROCinit
   80REPEAT
   90 PROCscreen(100)
  100 score=FNgame
  110 IF score>0 PROCwon ELSE PROClost
  120 PROCpress_space
  130UNTIL FALSE
  140END
  150:
  160DEF PROCinit
  170VDU 23;8202;0;0;0;0;
  180VDU 23,255,126,255,255,255,255,255,255,126
  190high=500
  200name$="Chris Bassett"
  210ENDPROC
  220:
  230DEF PROCscreen(blocks)
  240CLS
  250GCOL 0,2:MOVE 1279,1023:DRAW 0,1023:DRAW 0,0:DRAW 1279,0
  260FOR i=1 TO blocks
  270 VDU 31,RND(35)+4,RND(31)-1,255
  280NEXT
  290FOR i=0 TO 31 STEP 3
  300 VDU 31,0,i,255
  310NEXT
  320ENDPROC
  330:
  340DEF FNgame
  350x=4:xs=4:ys=0:gr=.1+RND(1)/10:sc=0
  360REPEAT
  370 y=300+RND(500)
  380UNTIL POINT(x,y)=0 AND POINT(x,y+8)=0 AND POINT(x,y-8)=0
  390MOVE 0,y
  400GCOL 0,1
  410REPEAT
  420 *FX19
  430 sc=sc+1
  440 DRAW x,y
  450 x=x+xs:y=y+ys
  460 p=POINT(x+xs,y)
  470 IF p=3 xs=-xs
  480 IF INKEY-99 THEN ys=ys+.4
  490 ys=ys-gr
  500UNTIL p<0
  510IF x+xs<1280 THEN =-1
  520=sc
  530:
  540DEF PROCwon
  550COLOUR 3:PROCcentre("Well Done",8)
  560IF score>high PROChiscore ELSE PROCloscore
  570ENDPROC
  580:
  590DEF PROChiscore
  600COLOUR 2:PROCcentre("New high score "+STR$score,10)
  610COLOUR 3:PROCcentre("Enter you name:",12)
  620*FX 15
  630INPUTTAB(15,14);"";name$
  640high=score
  650ENDPROC
  660:
  670DEF PROCloscore
  680COLOUR 2:PROCcentre("Score: "+STR$score,10)
  690COLOUR 1:PROCcentre("High score: "+STR$high+" "+name$,12)
  700ENDPROC
  710:
  720DEF PROClost
  730COLOUR 1:PROCcentre("Bad luck...",8)
  740COLOUR 2:PROCcentre("High score: "+STR$high+" "+name$,10)
  750ENDPROC
  760:
  770DEF PROCcentre(str$,y)
  780PRINTTAB((40-LENstr$)/2,y);str$
  790ENDPROC
  800:
  810DEF PROCpress_space
  820COLOUR 3
  830PRINTTAB(5,30);" Press SPACE for another game "
  840REPEATUNTILNOTINKEY-99
  850REPEATUNTILINKEY-99
  860ENDPROC

�    >Rebound
� By  Chris Bassett
� For all machines
(� (c) BAU November 1993
2:
<� 1
F	�init
P�
Z �screen(100)
d score=�game
n � score>0 �won � �lost
x �press_space
�� �
��
�:
�� �init
�� 23;8202;0;0;0;0;
�,� 23,255,126,255,255,255,255,255,255,126
�high=500
�name$="Chris Bassett"
��
�:
�� �screen(blocks)
��
�-� 0,2:� 1279,1023:� 0,1023:� 0,0:� 1279,0
� i=1 � blocks
 � 31,�(35)+4,�(31)-1,255
�
"� i=0 � 31 � 3
, � 31,0,i,255
6�
@�
J:
T� �game
^$x=4:xs=4:ys=0:gr=.1+�(1)/10:sc=0
h�
r y=300+�(500)
|%� �x,y)=0 � �x,y+8)=0 � �x,y-8)=0
�	� 0,y
�	� 0,1
��
�
 *FX19
� sc=sc+1
�
 � x,y
� x=x+xs:y=y+ys
� p=�x+xs,y)
� � p=3 xs=-xs
� � �-99 � ys=ys+.4
�
 ys=ys-gr
�	� p<0
�� x+xs<1280 � =-1
=sc
:

� �won
&� 3:�centre("Well Done",8)
0$� score>high �hiscore � �loscore
:�
D:
N� �hiscore
X,� 2:�centre("New high score "+�score,10)
b%� 3:�centre("Enter you name:",12)
l
*FX 15
v�15,14);"";name$
�high=score
��
�:
�� �loscore
�$� 2:�centre("Score: "+�score,10)
�2� 1:�centre("High score: "+�high+" "+name$,12)
��
�:
�� �lost
� � 1:�centre("Bad luck...",8)
�2� 2:�centre("High score: "+�high+" "+name$,10)
��
�:
� �centre(str$,y)
�(40-�str$)/2,y);str$
�
 :
*� �press_space
4� 3
>,�5,30);" Press SPACE for another game "
H����-99
R
���-99
\�
�
00000000  0d 00 0a 11 f4 20 20 20  20 3e 52 65 62 6f 75 6e  |.....    >Reboun|
00000010  64 0d 00 14 17 f4 20 42  79 20 20 43 68 72 69 73  |d..... By  Chris|
00000020  20 42 61 73 73 65 74 74  0d 00 1e 16 f4 20 46 6f  | Bassett..... Fo|
00000030  72 20 61 6c 6c 20 6d 61  63 68 69 6e 65 73 0d 00  |r all machines..|
00000040  28 1b f4 20 28 63 29 20  42 41 55 20 4e 6f 76 65  |(.. (c) BAU Nove|
00000050  6d 62 65 72 20 31 39 39  33 0d 00 32 05 3a 0d 00  |mber 1993..2.:..|
00000060  3c 07 eb 20 31 0d 00 46  09 f2 69 6e 69 74 0d 00  |<.. 1..F..init..|
00000070  50 05 f5 0d 00 5a 11 20  f2 73 63 72 65 65 6e 28  |P....Z. .screen(|
00000080  31 30 30 29 0d 00 64 10  20 73 63 6f 72 65 3d a4  |100)..d. score=.|
00000090  67 61 6d 65 0d 00 6e 1b  20 e7 20 73 63 6f 72 65  |game..n. . score|
000000a0  3e 30 20 f2 77 6f 6e 20  8b 20 f2 6c 6f 73 74 0d  |>0 .won . .lost.|
000000b0  00 78 11 20 f2 70 72 65  73 73 5f 73 70 61 63 65  |.x. .press_space|
000000c0  0d 00 82 07 fd 20 a3 0d  00 8c 05 e0 0d 00 96 05  |..... ..........|
000000d0  3a 0d 00 a0 0b dd 20 f2  69 6e 69 74 0d 00 aa 16  |:..... .init....|
000000e0  ef 20 32 33 3b 38 32 30  32 3b 30 3b 30 3b 30 3b  |. 23;8202;0;0;0;|
000000f0  30 3b 0d 00 b4 2c ef 20  32 33 2c 32 35 35 2c 31  |0;...,. 23,255,1|
00000100  32 36 2c 32 35 35 2c 32  35 35 2c 32 35 35 2c 32  |26,255,255,255,2|
00000110  35 35 2c 32 35 35 2c 32  35 35 2c 31 32 36 0d 00  |55,255,255,126..|
00000120  be 0c 68 69 67 68 3d 35  30 30 0d 00 c8 19 6e 61  |..high=500....na|
00000130  6d 65 24 3d 22 43 68 72  69 73 20 42 61 73 73 65  |me$="Chris Basse|
00000140  74 74 22 0d 00 d2 05 e1  0d 00 dc 05 3a 0d 00 e6  |tt".........:...|
00000150  15 dd 20 f2 73 63 72 65  65 6e 28 62 6c 6f 63 6b  |.. .screen(block|
00000160  73 29 0d 00 f0 05 db 0d  00 fa 2d e6 20 30 2c 32  |s)........-. 0,2|
00000170  3a ec 20 31 32 37 39 2c  31 30 32 33 3a df 20 30  |:. 1279,1023:. 0|
00000180  2c 31 30 32 33 3a df 20  30 2c 30 3a df 20 31 32  |,1023:. 0,0:. 12|
00000190  37 39 2c 30 0d 01 04 12  e3 20 69 3d 31 20 b8 20  |79,0..... i=1 . |
000001a0  62 6c 6f 63 6b 73 0d 01  0e 1d 20 ef 20 33 31 2c  |blocks.... . 31,|
000001b0  b3 28 33 35 29 2b 34 2c  b3 28 33 31 29 2d 31 2c  |.(35)+4,.(31)-1,|
000001c0  32 35 35 0d 01 18 05 ed  0d 01 22 12 e3 20 69 3d  |255.......".. i=|
000001d0  30 20 b8 20 33 31 20 88  20 33 0d 01 2c 11 20 ef  |0 . 31 . 3..,. .|
000001e0  20 33 31 2c 30 2c 69 2c  32 35 35 0d 01 36 05 ed  | 31,0,i,255..6..|
000001f0  0d 01 40 05 e1 0d 01 4a  05 3a 0d 01 54 0b dd 20  |..@....J.:..T.. |
00000200  a4 67 61 6d 65 0d 01 5e  24 78 3d 34 3a 78 73 3d  |.game..^$x=4:xs=|
00000210  34 3a 79 73 3d 30 3a 67  72 3d 2e 31 2b b3 28 31  |4:ys=0:gr=.1+.(1|
00000220  29 2f 31 30 3a 73 63 3d  30 0d 01 68 05 f5 0d 01  |)/10:sc=0..h....|
00000230  72 11 20 79 3d 33 30 30  2b b3 28 35 30 30 29 0d  |r. y=300+.(500).|
00000240  01 7c 25 fd 20 b0 78 2c  79 29 3d 30 20 80 20 b0  |.|%. .x,y)=0 . .|
00000250  78 2c 79 2b 38 29 3d 30  20 80 20 b0 78 2c 79 2d  |x,y+8)=0 . .x,y-|
00000260  38 29 3d 30 0d 01 86 09  ec 20 30 2c 79 0d 01 90  |8)=0..... 0,y...|
00000270  09 e6 20 30 2c 31 0d 01  9a 05 f5 0d 01 a4 0a 20  |.. 0,1......... |
00000280  2a 46 58 31 39 0d 01 ae  0c 20 73 63 3d 73 63 2b  |*FX19.... sc=sc+|
00000290  31 0d 01 b8 0a 20 df 20  78 2c 79 0d 01 c2 12 20  |1.... . x,y.... |
000002a0  78 3d 78 2b 78 73 3a 79  3d 79 2b 79 73 0d 01 cc  |x=x+xs:y=y+ys...|
000002b0  0f 20 70 3d b0 78 2b 78  73 2c 79 29 0d 01 d6 11  |. p=.x+xs,y)....|
000002c0  20 e7 20 70 3d 33 20 78  73 3d 2d 78 73 0d 01 e0  | . p=3 xs=-xs...|
000002d0  16 20 e7 20 a6 2d 39 39  20 8c 20 79 73 3d 79 73  |. . .-99 . ys=ys|
000002e0  2b 2e 34 0d 01 ea 0d 20  79 73 3d 79 73 2d 67 72  |+.4.... ys=ys-gr|
000002f0  0d 01 f4 09 fd 20 70 3c  30 0d 01 fe 15 e7 20 78  |..... p<0..... x|
00000300  2b 78 73 3c 31 32 38 30  20 8c 20 3d 2d 31 0d 02  |+xs<1280 . =-1..|
00000310  08 07 3d 73 63 0d 02 12  05 3a 0d 02 1c 0a dd 20  |..=sc....:..... |
00000320  f2 77 6f 6e 0d 02 26 1e  fb 20 33 3a f2 63 65 6e  |.won..&.. 3:.cen|
00000330  74 72 65 28 22 57 65 6c  6c 20 44 6f 6e 65 22 2c  |tre("Well Done",|
00000340  38 29 0d 02 30 24 e7 20  73 63 6f 72 65 3e 68 69  |8)..0$. score>hi|
00000350  67 68 20 f2 68 69 73 63  6f 72 65 20 8b 20 f2 6c  |gh .hiscore . .l|
00000360  6f 73 63 6f 72 65 0d 02  3a 05 e1 0d 02 44 05 3a  |oscore..:....D.:|
00000370  0d 02 4e 0e dd 20 f2 68  69 73 63 6f 72 65 0d 02  |..N.. .hiscore..|
00000380  58 2c fb 20 32 3a f2 63  65 6e 74 72 65 28 22 4e  |X,. 2:.centre("N|
00000390  65 77 20 68 69 67 68 20  73 63 6f 72 65 20 22 2b  |ew high score "+|
000003a0  c3 73 63 6f 72 65 2c 31  30 29 0d 02 62 25 fb 20  |.score,10)..b%. |
000003b0  33 3a f2 63 65 6e 74 72  65 28 22 45 6e 74 65 72  |3:.centre("Enter|
000003c0  20 79 6f 75 20 6e 61 6d  65 3a 22 2c 31 32 29 0d  | you name:",12).|
000003d0  02 6c 0a 2a 46 58 20 31  35 0d 02 76 15 e8 8a 31  |.l.*FX 15..v...1|
000003e0  35 2c 31 34 29 3b 22 22  3b 6e 61 6d 65 24 0d 02  |5,14);"";name$..|
000003f0  80 0e 68 69 67 68 3d 73  63 6f 72 65 0d 02 8a 05  |..high=score....|
00000400  e1 0d 02 94 05 3a 0d 02  9e 0e dd 20 f2 6c 6f 73  |.....:..... .los|
00000410  63 6f 72 65 0d 02 a8 24  fb 20 32 3a f2 63 65 6e  |core...$. 2:.cen|
00000420  74 72 65 28 22 53 63 6f  72 65 3a 20 22 2b c3 73  |tre("Score: "+.s|
00000430  63 6f 72 65 2c 31 30 29  0d 02 b2 32 fb 20 31 3a  |core,10)...2. 1:|
00000440  f2 63 65 6e 74 72 65 28  22 48 69 67 68 20 73 63  |.centre("High sc|
00000450  6f 72 65 3a 20 22 2b c3  68 69 67 68 2b 22 20 22  |ore: "+.high+" "|
00000460  2b 6e 61 6d 65 24 2c 31  32 29 0d 02 bc 05 e1 0d  |+name$,12)......|
00000470  02 c6 05 3a 0d 02 d0 0b  dd 20 f2 6c 6f 73 74 0d  |...:..... .lost.|
00000480  02 da 20 fb 20 31 3a f2  63 65 6e 74 72 65 28 22  |.. . 1:.centre("|
00000490  42 61 64 20 6c 75 63 6b  2e 2e 2e 22 2c 38 29 0d  |Bad luck...",8).|
000004a0  02 e4 32 fb 20 32 3a f2  63 65 6e 74 72 65 28 22  |..2. 2:.centre("|
000004b0  48 69 67 68 20 73 63 6f  72 65 3a 20 22 2b c3 68  |High score: "+.h|
000004c0  69 67 68 2b 22 20 22 2b  6e 61 6d 65 24 2c 31 30  |igh+" "+name$,10|
000004d0  29 0d 02 ee 05 e1 0d 02  f8 05 3a 0d 03 02 15 dd  |).........:.....|
000004e0  20 f2 63 65 6e 74 72 65  28 73 74 72 24 2c 79 29  | .centre(str$,y)|
000004f0  0d 03 0c 1a f1 8a 28 34  30 2d a9 73 74 72 24 29  |......(40-.str$)|
00000500  2f 32 2c 79 29 3b 73 74  72 24 0d 03 16 05 e1 0d  |/2,y);str$......|
00000510  03 20 05 3a 0d 03 2a 12  dd 20 f2 70 72 65 73 73  |. .:..*.. .press|
00000520  5f 73 70 61 63 65 0d 03  34 07 fb 20 33 0d 03 3e  |_space..4.. 3..>|
00000530  2c f1 8a 35 2c 33 30 29  3b 22 20 50 72 65 73 73  |,..5,30);" Press|
00000540  20 53 50 41 43 45 20 66  6f 72 20 61 6e 6f 74 68  | SPACE for anoth|
00000550  65 72 20 67 61 6d 65 20  22 0d 03 48 0b f5 fd ac  |er game "..H....|
00000560  a6 2d 39 39 0d 03 52 0a  f5 fd a6 2d 39 39 0d 03  |.-99..R....-99..|
00000570  5c 05 e1 0d ff                                    |\....|
00000575