Home » Archimedes archive » Acorn User » AU 1996-12 B.adf » Regulars_2 » StarInfo/Adcock/ST2

StarInfo/Adcock/ST2

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 1996-12 B.adf » Regulars_2
Filename: StarInfo/Adcock/ST2
Read OK:
File size: 0410 bytes
Load address: 0000
Exec address: 0000
File contents
   10MODE12
   20REM               Stringy Thingy 2
   30REM Revenge of the String - Attack of the Spheres
   40REM                  By Mark Adcock
   50REM                     11/5/96
   60SYS6,112,2:SYS6,113,2:CLS:PRINTTAB(0,0);" IF THIS IS":PRINTTAB(21,0);"YOU HAVE ENOUGH SCREEN MEMORY"'"OTHERWISE YOU SHOULD INCREASE IT AT THE TASK WINDOW"''"PRESS SPACE..."
   70SYS6,112,1:SYS6,113,1:CLS:PRINT" IF THIS IS FLASHING YOU HAVE ENOUGH SCREEN MEMORY"'"OTHERWISE YOU SHOULD INCREASE IT AT THE TASK WINDOW"''"PRESS SPACE..."
   80TIME=0:REPEAT:SYS6,112,1:SYS6,113,1:A=INKEY(30):SYS6,112,2:SYS6,113,2:A=INKEY(30):UNTIL INKEY-99:CLS
   90PRINT"Number of segments? (5-25)":REPEAT:INPUT N:UNTIL N>=5 AND N<=25
  100FORC=1TO15:COLOURC,17*C,17*C,17*C:NEXTC:ORIGIN640,512:B=1:DIMX(N),Y(N),D(N):FORL=1TON:X(L)=0:Y(L)=-100:D(L)=L*(-1)^(L-1):NEXTL:REPEAT:FORL=1TON:PROCRot(X(L),Y(L),D(L)):X(L)=NX:Y(L)=NY:NEXTL:PROCDRAW:SYS6,19:SYS6,112,B:SYS6,113,3-B:B=3-B
  110IFNOTINKEY-99THENCLS
  120UNTILFALSE:END
  130DEFPROCRot(RX,RY,RD):R=RAD(-RD):NX=RX*COS(R)-RY*SIN(R):NY=RX*SIN(R)+RY*COS(R):ENDPROC
  140DEFPROCDRAW:X=0:Y=0:MOVE0,0:FORM=1TON:GCOLM:CIRCLEFILL-X(M)+X,-Y(M)+Y,10:MOVE-X(M)+X,-Y(M)+Y:DRAWX(M)+X,Y(M)+Y:CIRCLEFILLX(M)+X,Y(M)+Y,10:X=X+X(M):Y=Y+Y(M):NEXTM:ENDPROC
  150
  160
  170
  180
  190

�12
$�               Stringy Thingy 2
3� Revenge of the String - Attack of the Spheres
(%�                  By Mark Adcock
2!�                     11/5/96
<�ș6,112,2:ș6,113,2:�:�0,0);" IF THIS IS":�21,0);"YOU HAVE ENOUGH SCREEN MEMORY"'"OTHERWISE YOU SHOULD INCREASE IT AT THE TASK WINDOW"''"PRESS SPACE..."
F�ș6,112,1:ș6,113,1:�:�" IF THIS IS FLASHING YOU HAVE ENOUGH SCREEN MEMORY"'"OTHERWISE YOU SHOULD INCREASE IT AT THE TASK WINDOW"''"PRESS SPACE..."
PJ�=0:�:ș6,112,1:ș6,113,1:A=�(30):ș6,112,2:ș6,113,2:A=�(30):� �-99:�
Z6�"Number of segments? (5-25)":�:� N:� N>=5 � N<=25
d��C=1�15:�C,17*C,17*C,17*C:�C:ȑ640,512:B=1:�X(N),Y(N),D(N):�L=1�N:X(L)=0:Y(L)=-100:D(L)=L*(-1)^(L-1):�L:�:�L=1�N:�Rot(X(L),Y(L),D(L)):X(L)=NX:Y(L)=NY:�L:�DRAW:ș6,19:ș6,112,B:ș6,113,3-B:B=3-B
n符-99��
x��:�
�D��Rot(RX,RY,RD):R=�(-RD):NX=RX*�(R)-RY*�(R):NY=RX*�(R)+RY*�(R):�
����DRAW:X=0:Y=0:�0,0:�M=1�N:�M:ȏȐ-X(M)+X,-Y(M)+Y,10:�-X(M)+X,-Y(M)+Y:�X(M)+X,Y(M)+Y:ȏȐX(M)+X,Y(M)+Y,10:X=X+X(M):Y=Y+Y(M):�M:�
�
�
�
�
�
�
00000000  0d 00 0a 07 eb 31 32 0d  00 14 24 f4 20 20 20 20  |.....12...$.    |
00000010  20 20 20 20 20 20 20 20  20 20 20 53 74 72 69 6e  |           Strin|
00000020  67 79 20 54 68 69 6e 67  79 20 32 0d 00 1e 33 f4  |gy Thingy 2...3.|
00000030  20 52 65 76 65 6e 67 65  20 6f 66 20 74 68 65 20  | Revenge of the |
00000040  53 74 72 69 6e 67 20 2d  20 41 74 74 61 63 6b 20  |String - Attack |
00000050  6f 66 20 74 68 65 20 53  70 68 65 72 65 73 0d 00  |of the Spheres..|
00000060  28 25 f4 20 20 20 20 20  20 20 20 20 20 20 20 20  |(%.             |
00000070  20 20 20 20 20 42 79 20  4d 61 72 6b 20 41 64 63  |     By Mark Adc|
00000080  6f 63 6b 0d 00 32 21 f4  20 20 20 20 20 20 20 20  |ock..2!.        |
00000090  20 20 20 20 20 20 20 20  20 20 20 20 20 31 31 2f  |             11/|
000000a0  35 2f 39 36 0d 00 3c 9e  c8 99 36 2c 31 31 32 2c  |5/96..<...6,112,|
000000b0  32 3a c8 99 36 2c 31 31  33 2c 32 3a db 3a f1 8a  |2:..6,113,2:.:..|
000000c0  30 2c 30 29 3b 22 20 49  46 20 54 48 49 53 20 49  |0,0);" IF THIS I|
000000d0  53 22 3a f1 8a 32 31 2c  30 29 3b 22 59 4f 55 20  |S":..21,0);"YOU |
000000e0  48 41 56 45 20 45 4e 4f  55 47 48 20 53 43 52 45  |HAVE ENOUGH SCRE|
000000f0  45 4e 20 4d 45 4d 4f 52  59 22 27 22 4f 54 48 45  |EN MEMORY"'"OTHE|
00000100  52 57 49 53 45 20 59 4f  55 20 53 48 4f 55 4c 44  |RWISE YOU SHOULD|
00000110  20 49 4e 43 52 45 41 53  45 20 49 54 20 41 54 20  | INCREASE IT AT |
00000120  54 48 45 20 54 41 53 4b  20 57 49 4e 44 4f 57 22  |THE TASK WINDOW"|
00000130  27 27 22 50 52 45 53 53  20 53 50 41 43 45 2e 2e  |''"PRESS SPACE..|
00000140  2e 22 0d 00 46 97 c8 99  36 2c 31 31 32 2c 31 3a  |."..F...6,112,1:|
00000150  c8 99 36 2c 31 31 33 2c  31 3a db 3a f1 22 20 49  |..6,113,1:.:." I|
00000160  46 20 54 48 49 53 20 49  53 20 46 4c 41 53 48 49  |F THIS IS FLASHI|
00000170  4e 47 20 59 4f 55 20 48  41 56 45 20 45 4e 4f 55  |NG YOU HAVE ENOU|
00000180  47 48 20 53 43 52 45 45  4e 20 4d 45 4d 4f 52 59  |GH SCREEN MEMORY|
00000190  22 27 22 4f 54 48 45 52  57 49 53 45 20 59 4f 55  |"'"OTHERWISE YOU|
000001a0  20 53 48 4f 55 4c 44 20  49 4e 43 52 45 41 53 45  | SHOULD INCREASE|
000001b0  20 49 54 20 41 54 20 54  48 45 20 54 41 53 4b 20  | IT AT THE TASK |
000001c0  57 49 4e 44 4f 57 22 27  27 22 50 52 45 53 53 20  |WINDOW"''"PRESS |
000001d0  53 50 41 43 45 2e 2e 2e  22 0d 00 50 4a d1 3d 30  |SPACE..."..PJ.=0|
000001e0  3a f5 3a c8 99 36 2c 31  31 32 2c 31 3a c8 99 36  |:.:..6,112,1:..6|
000001f0  2c 31 31 33 2c 31 3a 41  3d a6 28 33 30 29 3a c8  |,113,1:A=.(30):.|
00000200  99 36 2c 31 31 32 2c 32  3a c8 99 36 2c 31 31 33  |.6,112,2:..6,113|
00000210  2c 32 3a 41 3d a6 28 33  30 29 3a fd 20 a6 2d 39  |,2:A=.(30):. .-9|
00000220  39 3a db 0d 00 5a 36 f1  22 4e 75 6d 62 65 72 20  |9:...Z6."Number |
00000230  6f 66 20 73 65 67 6d 65  6e 74 73 3f 20 28 35 2d  |of segments? (5-|
00000240  32 35 29 22 3a f5 3a e8  20 4e 3a fd 20 4e 3e 3d  |25)":.:. N:. N>=|
00000250  35 20 80 20 4e 3c 3d 32  35 0d 00 64 c5 e3 43 3d  |5 . N<=25..d..C=|
00000260  31 b8 31 35 3a fb 43 2c  31 37 2a 43 2c 31 37 2a  |1.15:.C,17*C,17*|
00000270  43 2c 31 37 2a 43 3a ed  43 3a c8 91 36 34 30 2c  |C,17*C:.C:..640,|
00000280  35 31 32 3a 42 3d 31 3a  de 58 28 4e 29 2c 59 28  |512:B=1:.X(N),Y(|
00000290  4e 29 2c 44 28 4e 29 3a  e3 4c 3d 31 b8 4e 3a 58  |N),D(N):.L=1.N:X|
000002a0  28 4c 29 3d 30 3a 59 28  4c 29 3d 2d 31 30 30 3a  |(L)=0:Y(L)=-100:|
000002b0  44 28 4c 29 3d 4c 2a 28  2d 31 29 5e 28 4c 2d 31  |D(L)=L*(-1)^(L-1|
000002c0  29 3a ed 4c 3a f5 3a e3  4c 3d 31 b8 4e 3a f2 52  |):.L:.:.L=1.N:.R|
000002d0  6f 74 28 58 28 4c 29 2c  59 28 4c 29 2c 44 28 4c  |ot(X(L),Y(L),D(L|
000002e0  29 29 3a 58 28 4c 29 3d  4e 58 3a 59 28 4c 29 3d  |)):X(L)=NX:Y(L)=|
000002f0  4e 59 3a ed 4c 3a f2 44  52 41 57 3a c8 99 36 2c  |NY:.L:.DRAW:..6,|
00000300  31 39 3a c8 99 36 2c 31  31 32 2c 42 3a c8 99 36  |19:..6,112,B:..6|
00000310  2c 31 31 33 2c 33 2d 42  3a 42 3d 33 2d 42 0d 00  |,113,3-B:B=3-B..|
00000320  6e 0c e7 ac a6 2d 39 39  8c db 0d 00 78 08 fd a3  |n....-99....x...|
00000330  3a e0 0d 00 82 44 dd f2  52 6f 74 28 52 58 2c 52  |:....D..Rot(RX,R|
00000340  59 2c 52 44 29 3a 52 3d  b2 28 2d 52 44 29 3a 4e  |Y,RD):R=.(-RD):N|
00000350  58 3d 52 58 2a 9b 28 52  29 2d 52 59 2a b5 28 52  |X=RX*.(R)-RY*.(R|
00000360  29 3a 4e 59 3d 52 58 2a  b5 28 52 29 2b 52 59 2a  |):NY=RX*.(R)+RY*|
00000370  9b 28 52 29 3a e1 0d 00  8c 84 dd f2 44 52 41 57  |.(R):.......DRAW|
00000380  3a 58 3d 30 3a 59 3d 30  3a ec 30 2c 30 3a e3 4d  |:X=0:Y=0:.0,0:.M|
00000390  3d 31 b8 4e 3a e6 4d 3a  c8 8f c8 90 2d 58 28 4d  |=1.N:.M:....-X(M|
000003a0  29 2b 58 2c 2d 59 28 4d  29 2b 59 2c 31 30 3a ec  |)+X,-Y(M)+Y,10:.|
000003b0  2d 58 28 4d 29 2b 58 2c  2d 59 28 4d 29 2b 59 3a  |-X(M)+X,-Y(M)+Y:|
000003c0  df 58 28 4d 29 2b 58 2c  59 28 4d 29 2b 59 3a c8  |.X(M)+X,Y(M)+Y:.|
000003d0  8f c8 90 58 28 4d 29 2b  58 2c 59 28 4d 29 2b 59  |...X(M)+X,Y(M)+Y|
000003e0  2c 31 30 3a 58 3d 58 2b  58 28 4d 29 3a 59 3d 59  |,10:X=X+X(M):Y=Y|
000003f0  2b 59 28 4d 29 3a ed 4d  3a e1 0d 00 96 04 0d 00  |+Y(M):.M:.......|
00000400  a0 04 0d 00 aa 04 0d 00  b4 04 0d 00 be 04 0d ff  |................|
00000410