Home » Archimedes archive » Acorn User » AU 1994-06.adf » !StarInfo_StarInfo » Vibe/Map
Vibe/Map
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 1994-06.adf » !StarInfo_StarInfo |
Filename: | Vibe/Map |
Read OK: | ✔ |
File size: | 063F bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Map 20REM by Jan Vibe 30 40MODE9 50OFF 60DIMX%(1,2000),Y%(1,2000),D%(1,2000),F%(1,2000),DX%(8),DY%(8),C%(15,3) 70FOR N%=0 TO 7 80 READ A%,B% 90 DX%(N%)=8*A% 100 DY%(N%)=8*B% 110NEXT 120P1%=0 130P2%=1 140C1%=1 150TI%=TIME 160C%()=240 170X%(P1%,C1%)=648 180Y%(P1%,C1%)=516 190D%(P1%,C1%)=RND(8)-1 200F%(P1%,C1%)=RND(15) 210REPEAT 220 SWAP P1%,P2% 230 C2%=C1% 240 C1%=0 250 F%=F% MOD 15+1 260 FOR N%=1 TO C2% 270 PROCF 280 PX%=X%(P2%,N%) 290 PY%=Y%(P2%,N%) 300 PD%=D%(P2%,N%) 310 PF%=F%(P2%,N%) 320 T%=0 330 REPEAT 340 T%+=1 350 DP%=(RND(3)+6+PD%) MOD 8 360 K%=POINT(PX%+DX%(DP%),PY%+DY%(DP%)) 370 UNTIL K%=0 OR T%=3 380 IF K%=0 THEN 390 XP%=PX%+DX%(DP%) 400 YP%=PY%+DY%(DP%) 410 FP%=PF% 420 IF RND(1)>.6 FP%=PF% MOD 15+1 430 C1%+=1 440 X%(P1%,C1%)=XP% 450 Y%(P1%,C1%)=YP% 460 D%(P1%,C1%)=DP% 470 F%(P1%,C1%)=FP% 480 GCOL FP% 490 LINE PX%,PY%,XP%,YP% 500 ENDIF 510 IF RND(1)>.6 THEN 520 T%=0 530 REPEAT 540 T%+=1 550 DP%=RND(8)-1 560 K%=POINT(PX%+DX%(DP%),PY%+DY%(DP%)) 570 UNTIL K%=0 OR T%=3 580 IF K%=0 THEN 590 XP%=PX%+DX%(DP%) 600 YP%=PY%+DY%(DP%) 610 PF%=PF% 620 IF RND(1)>.6 FP%=PF% MOD 15+1 630 C1%+=1 640 X%(P1%,C1%)=XP% 650 Y%(P1%,C1%)=YP% 660 D%(P1%,C1%)=DP% 670 F%(P1%,C1%)=FP% 680 GCOL FP% 690 LINE PX%,PY%,XP%,YP% 700 ENDIF 710 ENDIF 720 NEXT 730UNTIL C1%=0 740REPEAT 750 PROCF 760UNTIL FALSE 770 780DEFPROCF 790LOCAL N%,M% 800IF TIME>=TI% THEN 810 FOR N%=14 TO 1 STEP -1 820 FOR M%=1 TO 3 830 C%(N%+1,M%)=C%(N%,M%) 840 NEXT 850 NEXT 860 FOR M%=1 TO 3 870 C%(0,M%)=C%(0,M%)+RND(13)+15 880 C%(1,M%)=127*(SINRADC%(0,M%)+1) 890 NEXT 900 FOR N%=1 TO 15 910 COLOUR N%,C%(N%,1),C%(N%,2),C%(N%,3) 920 NEXT 930 TI%=TIME+5 940ENDIF 950ENDPROC 960 970DATA -1,1, 0,1, 1,1, 1,0, 1,-1, 0,-1, -1,-1, -1,0
� >Map � by Jan Vibe (�9 2� <G�X%(1,2000),Y%(1,2000),D%(1,2000),F%(1,2000),DX%(8),DY%(8),C%(15,3) F� N%=0 � 7 P � A%,B% Z DX%(N%)=8*A% d DY%(N%)=8*B% n� x P1%=0 � P2%=1 � C1%=1 � TI%=� �C%()=240 �X%(P1%,C1%)=648 �Y%(P1%,C1%)=516 �D%(P1%,C1%)=�(8)-1 �F%(P1%,C1%)=�(15) �� � Ȕ P1%,P2% � C2%=C1% � C1%=0 � F%=F% � 15+1 � N%=1 � C2% �F PX%=X%(P2%,N%) " PY%=Y%(P2%,N%) , PD%=D%(P2%,N%) 6 PF%=F%(P2%,N%) @ T%=0 J � T T%+=1 ^ DP%=(�(3)+6+PD%) � 8 h% K%=�PX%+DX%(DP%),PY%+DY%(DP%)) r � K%=0 � T%=3 | � K%=0 � � XP%=PX%+DX%(DP%) � YP%=PY%+DY%(DP%) � FP%=PF% � � �(1)>.6 FP%=PF% � 15+1 � C1%+=1 � X%(P1%,C1%)=XP% � Y%(P1%,C1%)=YP% � D%(P1%,C1%)=DP% � F%(P1%,C1%)=FP% � � FP% � � PX%,PY%,XP%,YP% � � � � �(1)>.6 � T%=0 � T%+=1 & DP%=�(8)-1 0& K%=�PX%+DX%(DP%),PY%+DY%(DP%)) : � K%=0 � T%=3 D � K%=0 � N XP%=PX%+DX%(DP%) X YP%=PY%+DY%(DP%) b PF%=PF% l � �(1)>.6 FP%=PF% � 15+1 v C1%+=1 � X%(P1%,C1%)=XP% � Y%(P1%,C1%)=YP% � D%(P1%,C1%)=DP% � F%(P1%,C1%)=FP% � � FP% � � PX%,PY%,XP%,YP% � � � � � � �� C1%=0 �� � �F �� � ��F � N%,M% � �>=TI% � * � N%=14 � 1 � -1 4 � M%=1 � 3 > C%(N%+1,M%)=C%(N%,M%) H � R � \ � M%=1 � 3 f C%(0,M%)=C%(0,M%)+�(13)+15 p! C%(1,M%)=127*(��C%(0,M%)+1) z � � � N%=1 � 15 �% � N%,C%(N%,1),C%(N%,2),C%(N%,3) � � � TI%=�+5 �� �� � �2� -1,1, 0,1, 1,1, 1,0, 1,-1, 0,-1, -1,-1, -1,0 �
00000000 0d 00 0a 0a f4 20 3e 4d 61 70 0d 00 14 11 f4 20 |..... >Map..... | 00000010 62 79 20 4a 61 6e 20 56 69 62 65 0d 00 1e 04 0d |by Jan Vibe.....| 00000020 00 28 06 eb 39 0d 00 32 05 87 0d 00 3c 47 de 58 |.(..9..2....<G.X| 00000030 25 28 31 2c 32 30 30 30 29 2c 59 25 28 31 2c 32 |%(1,2000),Y%(1,2| 00000040 30 30 30 29 2c 44 25 28 31 2c 32 30 30 30 29 2c |000),D%(1,2000),| 00000050 46 25 28 31 2c 32 30 30 30 29 2c 44 58 25 28 38 |F%(1,2000),DX%(8| 00000060 29 2c 44 59 25 28 38 29 2c 43 25 28 31 35 2c 33 |),DY%(8),C%(15,3| 00000070 29 0d 00 46 0e e3 20 4e 25 3d 30 20 b8 20 37 0d |)..F.. N%=0 . 7.| 00000080 00 50 0c 20 f3 20 41 25 2c 42 25 0d 00 5a 11 20 |.P. . A%,B%..Z. | 00000090 44 58 25 28 4e 25 29 3d 38 2a 41 25 0d 00 64 11 |DX%(N%)=8*A%..d.| 000000a0 20 44 59 25 28 4e 25 29 3d 38 2a 42 25 0d 00 6e | DY%(N%)=8*B%..n| 000000b0 05 ed 0d 00 78 09 50 31 25 3d 30 0d 00 82 09 50 |....x.P1%=0....P| 000000c0 32 25 3d 31 0d 00 8c 09 43 31 25 3d 31 0d 00 96 |2%=1....C1%=1...| 000000d0 09 54 49 25 3d 91 0d 00 a0 0c 43 25 28 29 3d 32 |.TI%=.....C%()=2| 000000e0 34 30 0d 00 aa 13 58 25 28 50 31 25 2c 43 31 25 |40....X%(P1%,C1%| 000000f0 29 3d 36 34 38 0d 00 b4 13 59 25 28 50 31 25 2c |)=648....Y%(P1%,| 00000100 43 31 25 29 3d 35 31 36 0d 00 be 16 44 25 28 50 |C1%)=516....D%(P| 00000110 31 25 2c 43 31 25 29 3d b3 28 38 29 2d 31 0d 00 |1%,C1%)=.(8)-1..| 00000120 c8 15 46 25 28 50 31 25 2c 43 31 25 29 3d b3 28 |..F%(P1%,C1%)=.(| 00000130 31 35 29 0d 00 d2 05 f5 0d 00 dc 0f 20 c8 94 20 |15)......... .. | 00000140 50 31 25 2c 50 32 25 0d 00 e6 0c 20 43 32 25 3d |P1%,P2%.... C2%=| 00000150 43 31 25 0d 00 f0 0a 20 43 31 25 3d 30 0d 00 fa |C1%.... C1%=0...| 00000160 11 20 46 25 3d 46 25 20 83 20 31 35 2b 31 0d 01 |. F%=F% . 15+1..| 00000170 04 11 20 e3 20 4e 25 3d 31 20 b8 20 43 32 25 0d |.. . N%=1 . C2%.| 00000180 01 0e 08 20 20 f2 46 0d 01 18 14 20 20 50 58 25 |... .F.... PX%| 00000190 3d 58 25 28 50 32 25 2c 4e 25 29 0d 01 22 14 20 |=X%(P2%,N%)..". | 000001a0 20 50 59 25 3d 59 25 28 50 32 25 2c 4e 25 29 0d | PY%=Y%(P2%,N%).| 000001b0 01 2c 14 20 20 50 44 25 3d 44 25 28 50 32 25 2c |.,. PD%=D%(P2%,| 000001c0 4e 25 29 0d 01 36 14 20 20 50 46 25 3d 46 25 28 |N%)..6. PF%=F%(| 000001d0 50 32 25 2c 4e 25 29 0d 01 40 0a 20 20 54 25 3d |P2%,N%)..@. T%=| 000001e0 30 0d 01 4a 07 20 20 f5 0d 01 54 0c 20 20 20 54 |0..J. ...T. T| 000001f0 25 2b 3d 31 0d 01 5e 1b 20 20 20 44 50 25 3d 28 |%+=1..^. DP%=(| 00000200 b3 28 33 29 2b 36 2b 50 44 25 29 20 83 20 38 0d |.(3)+6+PD%) . 8.| 00000210 01 68 25 20 20 20 4b 25 3d b0 50 58 25 2b 44 58 |.h% K%=.PX%+DX| 00000220 25 28 44 50 25 29 2c 50 59 25 2b 44 59 25 28 44 |%(DP%),PY%+DY%(D| 00000230 50 25 29 29 0d 01 72 13 20 20 fd 20 4b 25 3d 30 |P%))..r. . K%=0| 00000240 20 84 20 54 25 3d 33 0d 01 7c 0e 20 20 e7 20 4b | . T%=3..|. . K| 00000250 25 3d 30 20 8c 0d 01 86 17 20 20 20 58 50 25 3d |%=0 ..... XP%=| 00000260 50 58 25 2b 44 58 25 28 44 50 25 29 0d 01 90 17 |PX%+DX%(DP%)....| 00000270 20 20 20 59 50 25 3d 50 59 25 2b 44 59 25 28 44 | YP%=PY%+DY%(D| 00000280 50 25 29 0d 01 9a 0e 20 20 20 46 50 25 3d 50 46 |P%).... FP%=PF| 00000290 25 0d 01 a4 1f 20 20 20 e7 20 b3 28 31 29 3e 2e |%.... . .(1)>.| 000002a0 36 20 46 50 25 3d 50 46 25 20 83 20 31 35 2b 31 |6 FP%=PF% . 15+1| 000002b0 0d 01 ae 0d 20 20 20 43 31 25 2b 3d 31 0d 01 b8 |.... C1%+=1...| 000002c0 16 20 20 20 58 25 28 50 31 25 2c 43 31 25 29 3d |. X%(P1%,C1%)=| 000002d0 58 50 25 0d 01 c2 16 20 20 20 59 25 28 50 31 25 |XP%.... Y%(P1%| 000002e0 2c 43 31 25 29 3d 59 50 25 0d 01 cc 16 20 20 20 |,C1%)=YP%.... | 000002f0 44 25 28 50 31 25 2c 43 31 25 29 3d 44 50 25 0d |D%(P1%,C1%)=DP%.| 00000300 01 d6 16 20 20 20 46 25 28 50 31 25 2c 43 31 25 |... F%(P1%,C1%| 00000310 29 3d 46 50 25 0d 01 e0 0c 20 20 20 e6 20 46 50 |)=FP%.... . FP| 00000320 25 0d 01 ea 18 20 20 20 86 20 50 58 25 2c 50 59 |%.... . PX%,PY| 00000330 25 2c 58 50 25 2c 59 50 25 0d 01 f4 07 20 20 cd |%,XP%,YP%.... .| 00000340 0d 01 fe 11 20 20 e7 20 b3 28 31 29 3e 2e 36 20 |.... . .(1)>.6 | 00000350 8c 0d 02 08 0b 20 20 20 54 25 3d 30 0d 02 12 08 |..... T%=0....| 00000360 20 20 20 f5 0d 02 1c 0d 20 20 20 20 54 25 2b 3d | ..... T%+=| 00000370 31 0d 02 26 12 20 20 20 20 44 50 25 3d b3 28 38 |1..&. DP%=.(8| 00000380 29 2d 31 0d 02 30 26 20 20 20 20 4b 25 3d b0 50 |)-1..0& K%=.P| 00000390 58 25 2b 44 58 25 28 44 50 25 29 2c 50 59 25 2b |X%+DX%(DP%),PY%+| 000003a0 44 59 25 28 44 50 25 29 29 0d 02 3a 14 20 20 20 |DY%(DP%))..:. | 000003b0 fd 20 4b 25 3d 30 20 84 20 54 25 3d 33 0d 02 44 |. K%=0 . T%=3..D| 000003c0 0f 20 20 20 e7 20 4b 25 3d 30 20 8c 0d 02 4e 18 |. . K%=0 ...N.| 000003d0 20 20 20 20 58 50 25 3d 50 58 25 2b 44 58 25 28 | XP%=PX%+DX%(| 000003e0 44 50 25 29 0d 02 58 18 20 20 20 20 59 50 25 3d |DP%)..X. YP%=| 000003f0 50 59 25 2b 44 59 25 28 44 50 25 29 0d 02 62 0f |PY%+DY%(DP%)..b.| 00000400 20 20 20 20 50 46 25 3d 50 46 25 0d 02 6c 20 20 | PF%=PF%..l | 00000410 20 20 20 e7 20 b3 28 31 29 3e 2e 36 20 46 50 25 | . .(1)>.6 FP%| 00000420 3d 50 46 25 20 83 20 31 35 2b 31 0d 02 76 0e 20 |=PF% . 15+1..v. | 00000430 20 20 20 43 31 25 2b 3d 31 0d 02 80 17 20 20 20 | C1%+=1.... | 00000440 20 58 25 28 50 31 25 2c 43 31 25 29 3d 58 50 25 | X%(P1%,C1%)=XP%| 00000450 0d 02 8a 17 20 20 20 20 59 25 28 50 31 25 2c 43 |.... Y%(P1%,C| 00000460 31 25 29 3d 59 50 25 0d 02 94 17 20 20 20 20 44 |1%)=YP%.... D| 00000470 25 28 50 31 25 2c 43 31 25 29 3d 44 50 25 0d 02 |%(P1%,C1%)=DP%..| 00000480 9e 17 20 20 20 20 46 25 28 50 31 25 2c 43 31 25 |.. F%(P1%,C1%| 00000490 29 3d 46 50 25 0d 02 a8 0d 20 20 20 20 e6 20 46 |)=FP%.... . F| 000004a0 50 25 0d 02 b2 19 20 20 20 20 86 20 50 58 25 2c |P%.... . PX%,| 000004b0 50 59 25 2c 58 50 25 2c 59 50 25 0d 02 bc 08 20 |PY%,XP%,YP%.... | 000004c0 20 20 cd 0d 02 c6 07 20 20 cd 0d 02 d0 06 20 ed | ..... ..... .| 000004d0 0d 02 da 0b fd 20 43 31 25 3d 30 0d 02 e4 05 f5 |..... C1%=0.....| 000004e0 0d 02 ee 07 20 f2 46 0d 02 f8 07 fd 20 a3 0d 03 |.... .F..... ...| 000004f0 02 04 0d 03 0c 07 dd f2 46 0d 03 16 0b ea 20 4e |........F..... N| 00000500 25 2c 4d 25 0d 03 20 0e e7 20 91 3e 3d 54 49 25 |%,M%.. .. .>=TI%| 00000510 20 8c 0d 03 2a 15 20 e3 20 4e 25 3d 31 34 20 b8 | ...*. . N%=14 .| 00000520 20 31 20 88 20 2d 31 0d 03 34 10 20 20 e3 20 4d | 1 . -1..4. . M| 00000530 25 3d 31 20 b8 20 33 0d 03 3e 1c 20 20 20 43 25 |%=1 . 3..>. C%| 00000540 28 4e 25 2b 31 2c 4d 25 29 3d 43 25 28 4e 25 2c |(N%+1,M%)=C%(N%,| 00000550 4d 25 29 0d 03 48 07 20 20 ed 0d 03 52 06 20 ed |M%)..H. ...R. .| 00000560 0d 03 5c 0f 20 e3 20 4d 25 3d 31 20 b8 20 33 0d |..\. . M%=1 . 3.| 00000570 03 66 20 20 20 43 25 28 30 2c 4d 25 29 3d 43 25 |.f C%(0,M%)=C%| 00000580 28 30 2c 4d 25 29 2b b3 28 31 33 29 2b 31 35 0d |(0,M%)+.(13)+15.| 00000590 03 70 21 20 20 43 25 28 31 2c 4d 25 29 3d 31 32 |.p! C%(1,M%)=12| 000005a0 37 2a 28 b5 b2 43 25 28 30 2c 4d 25 29 2b 31 29 |7*(..C%(0,M%)+1)| 000005b0 0d 03 7a 06 20 ed 0d 03 84 10 20 e3 20 4e 25 3d |..z. ..... . N%=| 000005c0 31 20 b8 20 31 35 0d 03 8e 25 20 20 fb 20 4e 25 |1 . 15...% . N%| 000005d0 2c 43 25 28 4e 25 2c 31 29 2c 43 25 28 4e 25 2c |,C%(N%,1),C%(N%,| 000005e0 32 29 2c 43 25 28 4e 25 2c 33 29 0d 03 98 06 20 |2),C%(N%,3).... | 000005f0 ed 0d 03 a2 0c 20 54 49 25 3d 91 2b 35 0d 03 ac |..... TI%=.+5...| 00000600 05 cd 0d 03 b6 05 e1 0d 03 c0 04 0d 03 ca 32 dc |..............2.| 00000610 20 2d 31 2c 31 2c 20 30 2c 31 2c 20 31 2c 31 2c | -1,1, 0,1, 1,1,| 00000620 20 31 2c 30 2c 20 31 2c 2d 31 2c 20 30 2c 2d 31 | 1,0, 1,-1, 0,-1| 00000630 2c 20 2d 31 2c 2d 31 2c 20 2d 31 2c 30 0d ff |, -1,-1, -1,0..| 0000063f