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:
- Personal collection » Acorn DFS disks » dfs_box03_disk02_format_some_games.scp » SNAKEY
- Personal collection » Acorn DFS disks » dfs_box03_disk02b_format_some_games.scp » SNAKEY
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