Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape38a_acorn_eu_1992_september.wav » Snake1

Snake1

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 tapes » Electron_User » Electron_User_tape38a_acorn_eu_1992_september.wav
Filename: Snake1
Read OK:
File size: 06CA bytes
Load address: FFFF1A00
Exec address: FFFF8023
Duplicates

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

File contents
    1REM SNAKE1
    2REM by Mike Goldberg
    3REM (c) The Micro User
   10MODE2
   20first%=0
   30end%=0
   40*FX10,10
   50*FX9,10
   60VDU23;8202;0;0;0;
   70VDU23,224,0,112,112,112,112,112,112,0
   80REPEAT
   90AS%=0:XS%=0
   95d%=220:REM DELAY
  100REPEAT
  110VDU4,20
  120COLOUR132:CLS
  130VDU28,0,2,19,0:COLOUR128:CLS
  140VDU28,1,30,18,4:COLOUR128:CLS:VDU26
  150COLOUR3:PRINTTAB(2,1);AS%TAB(17,1);XS%
  160K$=CHR$18+CHR$3
  170A$=K$+CHR$1+CHR$224
  180X$=K$+CHR$2+CHR$224
  190W$=K$+CHR$4+CHR$224
  200VDU5
  210MOVE96,1024:PRINTA$
  220MOVE1152,1024:PRINTX$
  230M%=0:N%=32:O%=0:P%=32
  240A%=608:B%=512
  250X%=640:Y%=512
  260MOVEA%,B%:PRINTA$
  270MOVEX%,Y%:PRINTX$
  280PROCwalls
  290IFfirst%=0REPEATUNTILGET=32:first%=1
  300REPEAT TT%=TIME+d%/10
  310PROCgreen
  320PROCcheck(X%,Y%,1)
  330SOUND1,-12,90,1
  335IFend%=1GOTO370
  340PROCred
  350PROCcheck(A%,B%,0)
  360REPEATUNTILTIME>TT%
  370UNTILend%=1
  380end%=0
  385d%=d%-20
  390UNTILAS%=5ORXS%=5
  400PROCwho
  410REPEATUNTILGET=32
  420UNTIL0
  430REM ==GREEN TEAM
  440DEFPROCgreen
  450IFINKEY-73N%=32:M%=0
  460IFINKEY-105N%=-32:M%=0
  470IFINKEY-103M%=-32:N%=0
  480IFINKEY-104M%=32:N%=0
  490PROCm(M%,N%)
  500ENDPROC
  510DEFPROCm(x%,y%)
  520X%=X%+x%:Y%=Y%+y%
  530MOVEX%,Y%:PRINTX$
  540ENDPROC
  550REM ==RED TEAM
  560DEFPROCred
  570IFINKEY-98O%=-32:P%=0
  580IFINKEY-67O%=32:P%=0
  590IFINKEY-68O%=0:P%=32
  600IFINKEY-83O%=0:P%=-32
  610PROCm2(O%,P%)
  620ENDPROC
  630DEFPROCm2(a%,b%)
  640A%=A%+a%:B%=B%+b%
  650MOVEA%,B%:PRINTA$
  660ENDPROC
  670REM ==CHECK
  680DEFPROCcheck(K%,L%,V%)
  690IFPOINT(K%+16,L%-16)>2ORPOINT(K%+16,L%-16)<1PROCbang:PROCwin(V%)
  700ENDPROC
  710REM ==WIN
  720DEFPROCwin(V%)
  730IFV%=0VDU19,2,10;0;:XS%=XS%+1
  740IFV%=1VDU19,1,9;0;:AS%=AS%+1
  750VDU4:COLOUR3:PRINTTAB(2,1);AS%TAB(17,1);XS%:VDU5
  760end%=1
  770IFAS%=5ORXS%=5ENDPROC
  775*FX15
  780REPEATUNTILGET=32
  790ENDPROC
  800REM ==WHO WON
  810DEFPROCwho
  820VDU4
  830COLOUR5
  840IFAS%=5PRINTTAB(4,1)"RED WINS"
  850IFXS%=5PRINTTAB(4,1)"GREEN WINS"
  860REPEATUNTILGET=32
  870PRINTTAB(4,1)SPC10
  880ENDPROC
  890REM ==BANG
  900DEFPROCbang
  910GCOL0,0:MOVEK%,L%:PRINTCHR$224:GCOL0,14:MOVEK%,L%:PRINT"*"
  915GCOL3,4
  916K%=K%+16:L%=L%-16
  920FORI%=1TO10
  921MOVE0,0:DRAWK%,L%
  922MOVE1280,0:DRAWK%,L%
  923MOVE0,896:DRAWK%,L%
  924MOVE1280,896:DRAWK%,L%
  925NEXT
  930ENDPROC
  940REM ==WALLS
  950DEFPROCwalls
  960R%=RND(10)
  970FORI%=1TOR%
  980MOVE(RND(34)*32)+64,(RND(24)*32)+64
  990PRINTW$
 1000NEXT
 1010ENDPROC
� SNAKE1
� by Mike Goldberg
� (c) The Micro User

�2
first%=0

end%=0
(*FX10,10
2*FX9,10
<�23;8202;0;0;0;
F'�23,224,0,112,112,112,112,112,112,0
P�
ZAS%=0:XS%=0
_d%=220:� DELAY
d�
n	�4,20
x
�132:�
��28,0,2,19,0:�128:�
��28,1,30,18,4:�128:�:�26
��3:�2,1);AS%�17,1);XS%
�
K$=�18+�3
�A$=K$+�1+�224
�X$=K$+�2+�224
�W$=K$+�4+�224
��5
��96,1024:�A$
��1152,1024:�X$
�M%=0:N%=32:O%=0:P%=32
�A%=608:B%=512
�X%=640:Y%=512
�A%,B%:�A$
�X%,Y%:�X$

�walls
"�first%=0���=32:first%=1
,� TT%=�+d%/10
6
�green
@�check(X%,Y%,1)
J�1,-12,90,1
O�end%=1�DrA
T�red
^�check(A%,B%,0)
h���>TT%
r�end%=1
|
end%=0
�d%=d%-20
��AS%=5�XS%=5
��who
�
���=32
��0
�� ==GREEN TEAM
���green
��-73N%=32:M%=0
��-105N%=-32:M%=0
��-103M%=-32:N%=0
��-104M%=32:N%=0
�
�m(M%,N%)
��
���m(x%,y%)
X%=X%+x%:Y%=Y%+y%
�X%,Y%:�X$
�
&� ==RED TEAM
0	��red
:�-98O%=-32:P%=0
D�-67O%=32:P%=0
N�-68O%=0:P%=32
X�-83O%=0:P%=-32
b�m2(O%,P%)
l�
v��m2(a%,b%)
�A%=A%+a%:B%=B%+b%
��A%,B%:�A$
��
�
� ==CHECK
���check(K%,L%,V%)
�2�K%+16,L%-16)>2��K%+16,L%-16)<1�bang:�win(V%)
��
�� ==WIN
�
��win(V%)
��V%=0�19,2,10;0;:XS%=XS%+1
��V%=1�19,1,9;0;:AS%=AS%+1
�!�4:�3:�2,1);AS%�17,1);XS%:�5
�
end%=1
�AS%=5�XS%=5�
	*FX15

���=32
�
 � ==WHO WON
*	��who
4�4
>�5
H�AS%=5�4,1)"RED WINS"
R�XS%=5�4,1)"GREEN WINS"
\
���=32
f
�4,1)�10
p�
z� ==BANG
�
��bang
�'�0,0:�K%,L%:�224:�0,14:�K%,L%:�"*"
��3,4
�K%=K%+16:L%=L%-16
��I%=1�10
��0,0:�K%,L%
��1280,0:�K%,L%
��0,896:�K%,L%
��1280,896:�K%,L%
��
��
�
� ==WALLS
���walls
�R%=�(10)
��I%=1�R%
� �(�(34)*32)+64,(�(24)*32)+64
��W$
��
��
�
00000000  0d 00 01 0c f4 20 53 4e  41 4b 45 31 0d 00 02 16  |..... SNAKE1....|
00000010  f4 20 62 79 20 4d 69 6b  65 20 47 6f 6c 64 62 65  |. by Mike Goldbe|
00000020  72 67 0d 00 03 18 f4 20  28 63 29 20 54 68 65 20  |rg..... (c) The |
00000030  4d 69 63 72 6f 20 55 73  65 72 0d 00 0a 06 eb 32  |Micro User.....2|
00000040  0d 00 14 0c 66 69 72 73  74 25 3d 30 0d 00 1e 0a  |....first%=0....|
00000050  65 6e 64 25 3d 30 0d 00  28 0c 2a 46 58 31 30 2c  |end%=0..(.*FX10,|
00000060  31 30 0d 00 32 0b 2a 46  58 39 2c 31 30 0d 00 3c  |10..2.*FX9,10..<|
00000070  13 ef 32 33 3b 38 32 30  32 3b 30 3b 30 3b 30 3b  |..23;8202;0;0;0;|
00000080  0d 00 46 27 ef 32 33 2c  32 32 34 2c 30 2c 31 31  |..F'.23,224,0,11|
00000090  32 2c 31 31 32 2c 31 31  32 2c 31 31 32 2c 31 31  |2,112,112,112,11|
000000a0  32 2c 31 31 32 2c 30 0d  00 50 05 f5 0d 00 5a 0f  |2,112,0..P....Z.|
000000b0  41 53 25 3d 30 3a 58 53  25 3d 30 0d 00 5f 12 64  |AS%=0:XS%=0.._.d|
000000c0  25 3d 32 32 30 3a f4 20  44 45 4c 41 59 0d 00 64  |%=220:. DELAY..d|
000000d0  05 f5 0d 00 6e 09 ef 34  2c 32 30 0d 00 78 0a fb  |....n..4,20..x..|
000000e0  31 33 32 3a db 0d 00 82  17 ef 32 38 2c 30 2c 32  |132:......28,0,2|
000000f0  2c 31 39 2c 30 3a fb 31  32 38 3a db 0d 00 8c 1c  |,19,0:.128:.....|
00000100  ef 32 38 2c 31 2c 33 30  2c 31 38 2c 34 3a fb 31  |.28,1,30,18,4:.1|
00000110  32 38 3a db 3a ef 32 36  0d 00 96 1b fb 33 3a f1  |28:.:.26.....3:.|
00000120  8a 32 2c 31 29 3b 41 53  25 8a 31 37 2c 31 29 3b  |.2,1);AS%.17,1);|
00000130  58 53 25 0d 00 a0 0d 4b  24 3d bd 31 38 2b bd 33  |XS%....K$=.18+.3|
00000140  0d 00 aa 11 41 24 3d 4b  24 2b bd 31 2b bd 32 32  |....A$=K$+.1+.22|
00000150  34 0d 00 b4 11 58 24 3d  4b 24 2b bd 32 2b bd 32  |4....X$=K$+.2+.2|
00000160  32 34 0d 00 be 11 57 24  3d 4b 24 2b bd 34 2b bd  |24....W$=K$+.4+.|
00000170  32 32 34 0d 00 c8 06 ef  35 0d 00 d2 10 ec 39 36  |224.....5.....96|
00000180  2c 31 30 32 34 3a f1 41  24 0d 00 dc 12 ec 31 31  |,1024:.A$.....11|
00000190  35 32 2c 31 30 32 34 3a  f1 58 24 0d 00 e6 19 4d  |52,1024:.X$....M|
000001a0  25 3d 30 3a 4e 25 3d 33  32 3a 4f 25 3d 30 3a 50  |%=0:N%=32:O%=0:P|
000001b0  25 3d 33 32 0d 00 f0 11  41 25 3d 36 30 38 3a 42  |%=32....A%=608:B|
000001c0  25 3d 35 31 32 0d 00 fa  11 58 25 3d 36 34 30 3a  |%=512....X%=640:|
000001d0  59 25 3d 35 31 32 0d 01  04 0e ec 41 25 2c 42 25  |Y%=512.....A%,B%|
000001e0  3a f1 41 24 0d 01 0e 0e  ec 58 25 2c 59 25 3a f1  |:.A$.....X%,Y%:.|
000001f0  58 24 0d 01 18 0a f2 77  61 6c 6c 73 0d 01 22 1c  |X$.....walls..".|
00000200  e7 66 69 72 73 74 25 3d  30 f5 fd a5 3d 33 32 3a  |.first%=0...=32:|
00000210  66 69 72 73 74 25 3d 31  0d 01 2c 11 f5 20 54 54  |first%=1..,.. TT|
00000220  25 3d 91 2b 64 25 2f 31  30 0d 01 36 0a f2 67 72  |%=.+d%/10..6..gr|
00000230  65 65 6e 0d 01 40 13 f2  63 68 65 63 6b 28 58 25  |een..@..check(X%|
00000240  2c 59 25 2c 31 29 0d 01  4a 0f d4 31 2c 2d 31 32  |,Y%,1)..J..1,-12|
00000250  2c 39 30 2c 31 0d 01 4f  10 e7 65 6e 64 25 3d 31  |,90,1..O..end%=1|
00000260  e5 8d 44 72 41 0d 01 54  08 f2 72 65 64 0d 01 5e  |..DrA..T..red..^|
00000270  13 f2 63 68 65 63 6b 28  41 25 2c 42 25 2c 30 29  |..check(A%,B%,0)|
00000280  0d 01 68 0b f5 fd 91 3e  54 54 25 0d 01 72 0b fd  |..h....>TT%..r..|
00000290  65 6e 64 25 3d 31 0d 01  7c 0a 65 6e 64 25 3d 30  |end%=1..|.end%=0|
000002a0  0d 01 81 0c 64 25 3d 64  25 2d 32 30 0d 01 86 10  |....d%=d%-20....|
000002b0  fd 41 53 25 3d 35 84 58  53 25 3d 35 0d 01 90 08  |.AS%=5.XS%=5....|
000002c0  f2 77 68 6f 0d 01 9a 0a  f5 fd a5 3d 33 32 0d 01  |.who.......=32..|
000002d0  a4 06 fd 30 0d 01 ae 12  f4 20 3d 3d 47 52 45 45  |...0..... ==GREE|
000002e0  4e 20 54 45 41 4d 0d 01  b8 0b dd f2 67 72 65 65  |N TEAM......gree|
000002f0  6e 0d 01 c2 13 e7 a6 2d  37 33 4e 25 3d 33 32 3a  |n......-73N%=32:|
00000300  4d 25 3d 30 0d 01 cc 15  e7 a6 2d 31 30 35 4e 25  |M%=0......-105N%|
00000310  3d 2d 33 32 3a 4d 25 3d  30 0d 01 d6 15 e7 a6 2d  |=-32:M%=0......-|
00000320  31 30 33 4d 25 3d 2d 33  32 3a 4e 25 3d 30 0d 01  |103M%=-32:N%=0..|
00000330  e0 14 e7 a6 2d 31 30 34  4d 25 3d 33 32 3a 4e 25  |....-104M%=32:N%|
00000340  3d 30 0d 01 ea 0d f2 6d  28 4d 25 2c 4e 25 29 0d  |=0.....m(M%,N%).|
00000350  01 f4 05 e1 0d 01 fe 0e  dd f2 6d 28 78 25 2c 79  |..........m(x%,y|
00000360  25 29 0d 02 08 15 58 25  3d 58 25 2b 78 25 3a 59  |%)....X%=X%+x%:Y|
00000370  25 3d 59 25 2b 79 25 0d  02 12 0e ec 58 25 2c 59  |%=Y%+y%.....X%,Y|
00000380  25 3a f1 58 24 0d 02 1c  05 e1 0d 02 26 10 f4 20  |%:.X$.......&.. |
00000390  3d 3d 52 45 44 20 54 45  41 4d 0d 02 30 09 dd f2  |==RED TEAM..0...|
000003a0  72 65 64 0d 02 3a 14 e7  a6 2d 39 38 4f 25 3d 2d  |red..:...-98O%=-|
000003b0  33 32 3a 50 25 3d 30 0d  02 44 13 e7 a6 2d 36 37  |32:P%=0..D...-67|
000003c0  4f 25 3d 33 32 3a 50 25  3d 30 0d 02 4e 13 e7 a6  |O%=32:P%=0..N...|
000003d0  2d 36 38 4f 25 3d 30 3a  50 25 3d 33 32 0d 02 58  |-68O%=0:P%=32..X|
000003e0  14 e7 a6 2d 38 33 4f 25  3d 30 3a 50 25 3d 2d 33  |...-83O%=0:P%=-3|
000003f0  32 0d 02 62 0e f2 6d 32  28 4f 25 2c 50 25 29 0d  |2..b..m2(O%,P%).|
00000400  02 6c 05 e1 0d 02 76 0f  dd f2 6d 32 28 61 25 2c  |.l....v...m2(a%,|
00000410  62 25 29 0d 02 80 15 41  25 3d 41 25 2b 61 25 3a  |b%)....A%=A%+a%:|
00000420  42 25 3d 42 25 2b 62 25  0d 02 8a 0e ec 41 25 2c  |B%=B%+b%.....A%,|
00000430  42 25 3a f1 41 24 0d 02  94 05 e1 0d 02 9e 0d f4  |B%:.A$..........|
00000440  20 3d 3d 43 48 45 43 4b  0d 02 a8 15 dd f2 63 68  | ==CHECK......ch|
00000450  65 63 6b 28 4b 25 2c 4c  25 2c 56 25 29 0d 02 b2  |eck(K%,L%,V%)...|
00000460  32 e7 b0 4b 25 2b 31 36  2c 4c 25 2d 31 36 29 3e  |2..K%+16,L%-16)>|
00000470  32 84 b0 4b 25 2b 31 36  2c 4c 25 2d 31 36 29 3c  |2..K%+16,L%-16)<|
00000480  31 f2 62 61 6e 67 3a f2  77 69 6e 28 56 25 29 0d  |1.bang:.win(V%).|
00000490  02 bc 05 e1 0d 02 c6 0b  f4 20 3d 3d 57 49 4e 0d  |......... ==WIN.|
000004a0  02 d0 0d dd f2 77 69 6e  28 56 25 29 0d 02 da 1e  |.....win(V%)....|
000004b0  e7 56 25 3d 30 ef 31 39  2c 32 2c 31 30 3b 30 3b  |.V%=0.19,2,10;0;|
000004c0  3a 58 53 25 3d 58 53 25  2b 31 0d 02 e4 1d e7 56  |:XS%=XS%+1.....V|
000004d0  25 3d 31 ef 31 39 2c 31  2c 39 3b 30 3b 3a 41 53  |%=1.19,1,9;0;:AS|
000004e0  25 3d 41 53 25 2b 31 0d  02 ee 21 ef 34 3a fb 33  |%=AS%+1...!.4:.3|
000004f0  3a f1 8a 32 2c 31 29 3b  41 53 25 8a 31 37 2c 31  |:..2,1);AS%.17,1|
00000500  29 3b 58 53 25 3a ef 35  0d 02 f8 0a 65 6e 64 25  |);XS%:.5....end%|
00000510  3d 31 0d 03 02 11 e7 41  53 25 3d 35 84 58 53 25  |=1.....AS%=5.XS%|
00000520  3d 35 e1 0d 03 07 09 2a  46 58 31 35 0d 03 0c 0a  |=5.....*FX15....|
00000530  f5 fd a5 3d 33 32 0d 03  16 05 e1 0d 03 20 0f f4  |...=32....... ..|
00000540  20 3d 3d 57 48 4f 20 57  4f 4e 0d 03 2a 09 dd f2  | ==WHO WON..*...|
00000550  77 68 6f 0d 03 34 06 ef  34 0d 03 3e 06 fb 35 0d  |who..4..4..>..5.|
00000560  03 48 1a e7 41 53 25 3d  35 f1 8a 34 2c 31 29 22  |.H..AS%=5..4,1)"|
00000570  52 45 44 20 57 49 4e 53  22 0d 03 52 1c e7 58 53  |RED WINS"..R..XS|
00000580  25 3d 35 f1 8a 34 2c 31  29 22 47 52 45 45 4e 20  |%=5..4,1)"GREEN |
00000590  57 49 4e 53 22 0d 03 5c  0a f5 fd a5 3d 33 32 0d  |WINS"..\....=32.|
000005a0  03 66 0d f1 8a 34 2c 31  29 89 31 30 0d 03 70 05  |.f...4,1).10..p.|
000005b0  e1 0d 03 7a 0c f4 20 3d  3d 42 41 4e 47 0d 03 84  |...z.. ==BANG...|
000005c0  0a dd f2 62 61 6e 67 0d  03 8e 27 e6 30 2c 30 3a  |...bang...'.0,0:|
000005d0  ec 4b 25 2c 4c 25 3a f1  bd 32 32 34 3a e6 30 2c  |.K%,L%:..224:.0,|
000005e0  31 34 3a ec 4b 25 2c 4c  25 3a f1 22 2a 22 0d 03  |14:.K%,L%:."*"..|
000005f0  93 08 e6 33 2c 34 0d 03  94 15 4b 25 3d 4b 25 2b  |...3,4....K%=K%+|
00000600  31 36 3a 4c 25 3d 4c 25  2d 31 36 0d 03 98 0c e3  |16:L%=L%-16.....|
00000610  49 25 3d 31 b8 31 30 0d  03 99 0f ec 30 2c 30 3a  |I%=1.10.....0,0:|
00000620  df 4b 25 2c 4c 25 0d 03  9a 12 ec 31 32 38 30 2c  |.K%,L%.....1280,|
00000630  30 3a df 4b 25 2c 4c 25  0d 03 9b 11 ec 30 2c 38  |0:.K%,L%.....0,8|
00000640  39 36 3a df 4b 25 2c 4c  25 0d 03 9c 14 ec 31 32  |96:.K%,L%.....12|
00000650  38 30 2c 38 39 36 3a df  4b 25 2c 4c 25 0d 03 9d  |80,896:.K%,L%...|
00000660  05 ed 0d 03 a2 05 e1 0d  03 ac 0d f4 20 3d 3d 57  |............ ==W|
00000670  41 4c 4c 53 0d 03 b6 0b  dd f2 77 61 6c 6c 73 0d  |ALLS......walls.|
00000680  03 c0 0c 52 25 3d b3 28  31 30 29 0d 03 ca 0c e3  |...R%=.(10).....|
00000690  49 25 3d 31 b8 52 25 0d  03 d4 20 ec 28 b3 28 33  |I%=1.R%... .(.(3|
000006a0  34 29 2a 33 32 29 2b 36  34 2c 28 b3 28 32 34 29  |4)*32)+64,(.(24)|
000006b0  2a 33 32 29 2b 36 34 0d  03 de 07 f1 57 24 0d 03  |*32)+64.....W$..|
000006c0  e8 05 ed 0d 03 f2 05 e1  0d ff                    |..........|
000006ca
Snake1.m0
Snake1.m1
Snake1.m2
Snake1.m4
Snake1.m5