Home » Personal collection » Acorn DFS disks » dfs_box03_disk02_format_some_games.scp » SNAKEY

SNAKEY

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 DFS disks » dfs_box03_disk02_format_some_games.scp
Filename: SNAKEY
Read OK:
File size: 045F bytes
Load address: FF1900
Exec address: FF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10 *FX11,0
   20 MODE7
   30 VDU23;8202;0;0;0;
   40 DIM X(102):DIM Y(102):LET C=1:LET MX=15:LET MY=11:LET A=0:LET B=0:LET L=0:LET BX=15:LET BY=11:LET S=0
   50 FORR=29 TO 2 STEP -1:LET X(C)=R:LET Y(C)=2:LET C=C+1:NEXT R
   60 FORR=3 TO 19:LET X(C)=2:LET Y(C)=R:LET C=C+1:NEXT R
   70 FORR=2 TO 29:LET X(C)=R:LET Y(C)=20:LET C=C+1:NEXT R
   80 FORR=19 TO 3 STEP -1:LET X(C)=29:LET Y(C)=R:LET C=C+1:NEXT R
   90 FORR=29 TO 18 STEP -1:LET X(C)=R:LET Y(C)=2:LET C=C+1:NEXT R
  100  PRINT TAB(0,0);CHR$130;10-L;" SEGMENTS";TAB(20);CHR$131;40-S;" SHOTS"
  110 PRINT TAB(MX,MY);"#" 
  120 GOSUB 330
  130 SOUND4,-5,10,1
  140 LET G$=INKEY$((10-L)/2)
  150 IF G$="Z" THEN LET A=-1
  160 IF G$="X" THEN LET A=1
  170 IF G$="M" THEN LET B=1
  180 IF G$="K" THEN LET B=-1
  190 IF A<>0 OR B<>0 THEN GOSUB 240
  200 IF BX=X(R-9+L) AND BY=Y(R-9+L) THEN LET L=L+1:VDU7:PRINT TAB(0,0);CHR$130;10-L;" SEGMENTS "
  210 IF L>9 THEN PRINT TAB(11,MY-2);"BRILLIANT!":GOTO 350
  220 LET R=R+1:IF R>102 THEN LET R=13
  230 GOTO 110
  240 PRINT TAB(BX,BY);" "
  250 LET BX=BX+A:LET BY=BY+B
  260 IF BX<2 OR BX>29 THEN LET A=0:GOTO 300
  270 IF BX<2 OR BX>20 THEN LET B=0:GOTO 300
  280 PRINT TAB(BX,BY);"+"
  290 RETURN
  300 LET BX=MX:LET BY=MY:LET S=S+1
  310 PRINT TAB(20,0);CHR$131;40-S;" SHOTS "
  320 IF S>39 THEN GOTO 350
  330 PRINT TAB(X(R),Y(R));"O":PRINT TAB(X(R-10+L),Y(R-10+L));" "
  340 RETURN
  350 PRINT TAB(8,18);"PLAY AGAIN Y/N";
  360 INPUT A$
  370 IF A$="Y" OR A$="YES" THEN RUN
  380 *FX11,55
  390 STOP

 *FX11,0
 �7
 �23;8202;0;0;0;
(T � X(102):� Y(102):� C=1:� MX=15:� MY=11:� A=0:� B=0:� L=0:� BX=15:� BY=11:� S=0
21 �R=29 � 2 � -1:� X(C)=R:� Y(C)=2:� C=C+1:� R
<, �R=3 � 19:� X(C)=2:� Y(C)=R:� C=C+1:� R
F- �R=2 � 29:� X(C)=R:� Y(C)=20:� C=C+1:� R
P2 �R=19 � 3 � -1:� X(C)=29:� Y(C)=R:� C=C+1:� R
Z2 �R=29 � 18 � -1:� X(C)=R:� Y(C)=2:� C=C+1:� R
d;  � �0,0);�130;10-L;" SEGMENTS";�20);�131;40-S;" SHOTS"
n � �MX,MY);"#" 
x � �DJA
� �4,-5,10,1
� � G$=�((10-L)/2)
� � G$="Z" � � A=-1
� � G$="X" � � A=1
� � G$="M" � � B=1
� � G$="K" � � B=-1
� � A<>0 � B<>0 � � �dp@
�L � BX=X(R-9+L) � BY=Y(R-9+L) � � L=L+1:�7:� �0,0);�130;10-L;" SEGMENTS "
�, � L>9 � � �11,MY-2);"BRILLIANT!":� �D^A
� � R=R+1:� R>102 � � R=13
� � �Dn@
� � �BX,BY);" "
� � BX=BX+A:� BY=BY+B
" � BX<2 � BX>29 � � A=0:� �TlA
" � BX<2 � BX>20 � � B=0:� �TlA
 � �BX,BY);"+"
" �
, � BX=MX:� BY=MY:� S=S+1
6! � �20,0);�131;40-S;" SHOTS "
@ � S>39 � � �D^A
J2 � �X(R),Y(R));"O":� �X(R-10+L),Y(R-10+L));" "
T �
^ � �8,18);"PLAY AGAIN Y/N";
h	 � A$
r � A$="Y" � A$="YES" � �
|
 *FX11,55
� �
�
00000000  0d 00 0a 0c 20 2a 46 58  31 31 2c 30 0d 00 14 07  |.... *FX11,0....|
00000010  20 eb 37 0d 00 1e 14 20  ef 32 33 3b 38 32 30 32  | .7.... .23;8202|
00000020  3b 30 3b 30 3b 30 3b 0d  00 28 54 20 de 20 58 28  |;0;0;0;..(T . X(|
00000030  31 30 32 29 3a de 20 59  28 31 30 32 29 3a e9 20  |102):. Y(102):. |
00000040  43 3d 31 3a e9 20 4d 58  3d 31 35 3a e9 20 4d 59  |C=1:. MX=15:. MY|
00000050  3d 31 31 3a e9 20 41 3d  30 3a e9 20 42 3d 30 3a  |=11:. A=0:. B=0:|
00000060  e9 20 4c 3d 30 3a e9 20  42 58 3d 31 35 3a e9 20  |. L=0:. BX=15:. |
00000070  42 59 3d 31 31 3a e9 20  53 3d 30 0d 00 32 31 20  |BY=11:. S=0..21 |
00000080  e3 52 3d 32 39 20 b8 20  32 20 88 20 2d 31 3a e9  |.R=29 . 2 . -1:.|
00000090  20 58 28 43 29 3d 52 3a  e9 20 59 28 43 29 3d 32  | X(C)=R:. Y(C)=2|
000000a0  3a e9 20 43 3d 43 2b 31  3a ed 20 52 0d 00 3c 2c  |:. C=C+1:. R..<,|
000000b0  20 e3 52 3d 33 20 b8 20  31 39 3a e9 20 58 28 43  | .R=3 . 19:. X(C|
000000c0  29 3d 32 3a e9 20 59 28  43 29 3d 52 3a e9 20 43  |)=2:. Y(C)=R:. C|
000000d0  3d 43 2b 31 3a ed 20 52  0d 00 46 2d 20 e3 52 3d  |=C+1:. R..F- .R=|
000000e0  32 20 b8 20 32 39 3a e9  20 58 28 43 29 3d 52 3a  |2 . 29:. X(C)=R:|
000000f0  e9 20 59 28 43 29 3d 32  30 3a e9 20 43 3d 43 2b  |. Y(C)=20:. C=C+|
00000100  31 3a ed 20 52 0d 00 50  32 20 e3 52 3d 31 39 20  |1:. R..P2 .R=19 |
00000110  b8 20 33 20 88 20 2d 31  3a e9 20 58 28 43 29 3d  |. 3 . -1:. X(C)=|
00000120  32 39 3a e9 20 59 28 43  29 3d 52 3a e9 20 43 3d  |29:. Y(C)=R:. C=|
00000130  43 2b 31 3a ed 20 52 0d  00 5a 32 20 e3 52 3d 32  |C+1:. R..Z2 .R=2|
00000140  39 20 b8 20 31 38 20 88  20 2d 31 3a e9 20 58 28  |9 . 18 . -1:. X(|
00000150  43 29 3d 52 3a e9 20 59  28 43 29 3d 32 3a e9 20  |C)=R:. Y(C)=2:. |
00000160  43 3d 43 2b 31 3a ed 20  52 0d 00 64 3b 20 20 f1  |C=C+1:. R..d;  .|
00000170  20 8a 30 2c 30 29 3b bd  31 33 30 3b 31 30 2d 4c  | .0,0);.130;10-L|
00000180  3b 22 20 53 45 47 4d 45  4e 54 53 22 3b 8a 32 30  |;" SEGMENTS";.20|
00000190  29 3b bd 31 33 31 3b 34  30 2d 53 3b 22 20 53 48  |);.131;40-S;" SH|
000001a0  4f 54 53 22 0d 00 6e 13  20 f1 20 8a 4d 58 2c 4d  |OTS"..n. . .MX,M|
000001b0  59 29 3b 22 23 22 20 0d  00 78 0b 20 e4 20 8d 44  |Y);"#" ..x. . .D|
000001c0  4a 41 0d 00 82 0f 20 d4  34 2c 2d 35 2c 31 30 2c  |JA.... .4,-5,10,|
000001d0  31 0d 00 8c 15 20 e9 20  47 24 3d bf 28 28 31 30  |1.... . G$=.((10|
000001e0  2d 4c 29 2f 32 29 0d 00  96 16 20 e7 20 47 24 3d  |-L)/2).... . G$=|
000001f0  22 5a 22 20 8c 20 e9 20  41 3d 2d 31 0d 00 a0 15  |"Z" . . A=-1....|
00000200  20 e7 20 47 24 3d 22 58  22 20 8c 20 e9 20 41 3d  | . G$="X" . . A=|
00000210  31 0d 00 aa 15 20 e7 20  47 24 3d 22 4d 22 20 8c  |1.... . G$="M" .|
00000220  20 e9 20 42 3d 31 0d 00  b4 16 20 e7 20 47 24 3d  | . B=1.... . G$=|
00000230  22 4b 22 20 8c 20 e9 20  42 3d 2d 31 0d 00 be 1b  |"K" . . B=-1....|
00000240  20 e7 20 41 3c 3e 30 20  84 20 42 3c 3e 30 20 8c  | . A<>0 . B<>0 .|
00000250  20 e4 20 8d 64 70 40 0d  00 c8 4c 20 e7 20 42 58  | . .dp@...L . BX|
00000260  3d 58 28 52 2d 39 2b 4c  29 20 80 20 42 59 3d 59  |=X(R-9+L) . BY=Y|
00000270  28 52 2d 39 2b 4c 29 20  8c 20 e9 20 4c 3d 4c 2b  |(R-9+L) . . L=L+|
00000280  31 3a ef 37 3a f1 20 8a  30 2c 30 29 3b bd 31 33  |1:.7:. .0,0);.13|
00000290  30 3b 31 30 2d 4c 3b 22  20 53 45 47 4d 45 4e 54  |0;10-L;" SEGMENT|
000002a0  53 20 22 0d 00 d2 2c 20  e7 20 4c 3e 39 20 8c 20  |S "..., . L>9 . |
000002b0  f1 20 8a 31 31 2c 4d 59  2d 32 29 3b 22 42 52 49  |. .11,MY-2);"BRI|
000002c0  4c 4c 49 41 4e 54 21 22  3a e5 20 8d 44 5e 41 0d  |LLIANT!":. .D^A.|
000002d0  00 dc 1d 20 e9 20 52 3d  52 2b 31 3a e7 20 52 3e  |... . R=R+1:. R>|
000002e0  31 30 32 20 8c 20 e9 20  52 3d 31 33 0d 00 e6 0b  |102 . . R=13....|
000002f0  20 e5 20 8d 44 6e 40 0d  00 f0 12 20 f1 20 8a 42  | . .Dn@.... . .B|
00000300  58 2c 42 59 29 3b 22 20  22 0d 00 fa 18 20 e9 20  |X,BY);" ".... . |
00000310  42 58 3d 42 58 2b 41 3a  e9 20 42 59 3d 42 59 2b  |BX=BX+A:. BY=BY+|
00000320  42 0d 01 04 22 20 e7 20  42 58 3c 32 20 84 20 42  |B..." . BX<2 . B|
00000330  58 3e 32 39 20 8c 20 e9  20 41 3d 30 3a e5 20 8d  |X>29 . . A=0:. .|
00000340  54 6c 41 0d 01 0e 22 20  e7 20 42 58 3c 32 20 84  |TlA..." . BX<2 .|
00000350  20 42 58 3e 32 30 20 8c  20 e9 20 42 3d 30 3a e5  | BX>20 . . B=0:.|
00000360  20 8d 54 6c 41 0d 01 18  12 20 f1 20 8a 42 58 2c  | .TlA.... . .BX,|
00000370  42 59 29 3b 22 2b 22 0d  01 22 06 20 f8 0d 01 2c  |BY);"+"..". ...,|
00000380  1c 20 e9 20 42 58 3d 4d  58 3a e9 20 42 59 3d 4d  |. . BX=MX:. BY=M|
00000390  59 3a e9 20 53 3d 53 2b  31 0d 01 36 21 20 f1 20  |Y:. S=S+1..6! . |
000003a0  8a 32 30 2c 30 29 3b bd  31 33 31 3b 34 30 2d 53  |.20,0);.131;40-S|
000003b0  3b 22 20 53 48 4f 54 53  20 22 0d 01 40 14 20 e7  |;" SHOTS "..@. .|
000003c0  20 53 3e 33 39 20 8c 20  e5 20 8d 44 5e 41 0d 01  | S>39 . . .D^A..|
000003d0  4a 32 20 f1 20 8a 58 28  52 29 2c 59 28 52 29 29  |J2 . .X(R),Y(R))|
000003e0  3b 22 4f 22 3a f1 20 8a  58 28 52 2d 31 30 2b 4c  |;"O":. .X(R-10+L|
000003f0  29 2c 59 28 52 2d 31 30  2b 4c 29 29 3b 22 20 22  |),Y(R-10+L));" "|
00000400  0d 01 54 06 20 f8 0d 01  5e 1f 20 f1 20 8a 38 2c  |..T. ...^. . .8,|
00000410  31 38 29 3b 22 50 4c 41  59 20 41 47 41 49 4e 20  |18);"PLAY AGAIN |
00000420  59 2f 4e 22 3b 0d 01 68  09 20 e8 20 41 24 0d 01  |Y/N";..h. . A$..|
00000430  72 1c 20 e7 20 41 24 3d  22 59 22 20 84 20 41 24  |r. . A$="Y" . A$|
00000440  3d 22 59 45 53 22 20 8c  20 f9 0d 01 7c 0d 20 2a  |="YES" . ...|. *|
00000450  46 58 31 31 2c 35 35 0d  01 86 06 20 fa 0d ff     |FX11,55.... ...|
0000045f
SNAKEY.m0
SNAKEY.m1
SNAKEY.m2
SNAKEY.m4
SNAKEY.m5