'=========================================================================== ' Subject: STAR TREK WARP DEMO Date: 06-19-98 (19:52) ' Author: Adam Dalke Code: QB, QBasic, PDS ' Origin: jwdalke@worldnet.att.net Packet: DEMOS.ABC '=========================================================================== '/~~~~~~~~~~~~~~~~\ WARPDEMO.BAS, a look at work in progess on The Dark Star '| A | Project. A Star Trek: The Next Generation RPG of epic '| | proportions being created by Ace in the Hole Software Ltd. '| | Being as this is a demo of an unfinished program, please '| /\ | don't use my Enterprise graphic in your programs, this is '| ( ) | not public domain (at least wait until I release the whole '| /\ | program). This program was not created, approved, licensed, '| | or endorsed by any entity involved in creating or producing '| A | the Star Trek(R) television series or films. '\________________/ ' ' ' \ / ' --------->Press F5 to begin the demo.<--------- ' / \ ' ' ' DECLARE SUB warp () SCREEN 12 DIM SHARED trek%(197, 35) FOR B = 270 TO 292.5 STEP .5 LINE (B, 240)-(B - 9.38, 260), 8 NEXT FOR B = 173.12 TO 190 STEP .01 LINE (B, 260)-(B + 10, 245), 8 NEXT FOR a = 1 TO 50 CIRCLE (320, 240), a, 7, , , -.9 NEXT FOR a = 1 TO 60 CIRCLE (233.12, 260), a, 7, , , -.85 NEXT LINE (173.12, 261)-(203.12, 270), 0, BF FOR c = 1 TO 8 CIRCLE (203.12, 270), c, 0 NEXT FOR c = 1 TO 8 CIRCLE (204.12, 270), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (293.12, 260), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (294.12, 260), c, 0 NEXT LINE (163.12, 245)-(233.12, 237.5), 7, BF FOR a = 1 TO 3 STEP .05 CIRCLE (163.12, 242.25), a, 7 NEXT FOR a = 1 TO 3 STEP .05 CIRCLE (164.12, 242.25), a, 7 NEXT FOR a = 1 TO 10 CIRCLE (233.12, 242.25), a, 4, , , -.7 NEXT LINE (161.12, 242.25)-(220, 242.25), 1, B k = 238 FOR B = 215 TO 210 STEP -1 LINE (220, k)-(B, k), 1 k = k + .8 NEXT FOR B = 210 TO 215 LINE (220, k)-(B, k), 1 k = k + .4 NEXT FOR d = 271 TO 369 STEP 4 PSET (d, 240), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 243), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 237), 14 NEXT FOR d = 176 TO 286 STEP 4 PSET (d, 258), 14 NEXT FOR d = 196 TO 266 STEP 4 PSET (d, 255), 14 NEXT FOR d = 216 TO 286 STEP 4 PSET (d, 261), 14 NEXT FOR d = 216 TO 272 STEP 4 PSET (d, 264), 14 NEXT GET (160, 235)-(370, 267), trek% 'SLEEP CLS DIM SHARED trek2%(197, 35) FOR B = 270 TO 292.5 STEP .5 LINE (B, 240)-(B - 9.38, 260), 8 NEXT FOR B = 173.12 TO 190 STEP .01 LINE (B, 260)-(B + 10, 245), 8 NEXT FOR a = 1 TO 50 CIRCLE (320, 240), a, 7, , , -.9 NEXT FOR a = 1 TO 60 CIRCLE (233.12, 260), a, 7, , , -.85 NEXT LINE (173.12, 261)-(203.12, 270), 0, BF FOR c = 1 TO 8 CIRCLE (203.12, 270), c, 0 NEXT FOR c = 1 TO 8 CIRCLE (204.12, 270), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (293.12, 260), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (294.12, 260), c, 0 NEXT LINE (163.12, 245)-(233.12, 237.5), 7, BF FOR a = 1 TO 3 STEP .05 CIRCLE (163.12, 242.25), a, 7 NEXT FOR a = 1 TO 3 STEP .05 CIRCLE (164.12, 242.25), a, 7 NEXT FOR a = 1 TO 10 CIRCLE (233.12, 242.25), a, 4, , , -.7 NEXT LINE (161.12, 242.25)-(220, 242.25), 9, B k = 238 FOR B = 215 TO 210 STEP -1 LINE (220, k)-(B, k), 9 k = k + .8 NEXT FOR B = 210 TO 215 LINE (220, k)-(B, k), 9 k = k + .4 NEXT FOR d = 271 TO 369 STEP 4 PSET (d, 240), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 243), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 237), 14 NEXT FOR d = 176 TO 286 STEP 4 PSET (d, 258), 14 NEXT FOR d = 196 TO 266 STEP 4 PSET (d, 255), 14 NEXT FOR d = 216 TO 286 STEP 4 PSET (d, 261), 14 NEXT FOR d = 216 TO 272 STEP 4 PSET (d, 264), 14 NEXT GET (160, 235)-(370, 267), trek2% 'SLEEP CLS DIM SHARED trek3%(197, 35) FOR B = 270 TO 292.5 STEP .5 LINE (B, 240)-(B - 9.38, 260), 8 NEXT FOR B = 173.12 TO 190 STEP .01 LINE (B, 260)-(B + 10, 245), 8 NEXT FOR a = 1 TO 50 CIRCLE (320, 240), a, 7, , , -.9 NEXT FOR a = 1 TO 60 CIRCLE (233.12, 260), a, 7, , , -.85 NEXT LINE (173.12, 261)-(203.12, 270), 0, BF FOR c = 1 TO 8 CIRCLE (203.12, 270), c, 0 NEXT FOR c = 1 TO 8 CIRCLE (204.12, 270), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (293.12, 260), c, 0 NEXT FOR c = 1 TO 5 CIRCLE (294.12, 260), c, 0 NEXT LINE (163.12, 245)-(233.12, 237.5), 7, BF FOR a = 1 TO 3 STEP .05 CIRCLE (163.12, 242.25), a, 7 NEXT FOR a = 1 TO 3 STEP .05 CIRCLE (164.12, 242.25), a, 7 NEXT FOR a = 1 TO 10 CIRCLE (233.12, 242.25), a, 4, , , -.7 NEXT LINE (161.12, 242.25)-(220, 242.25), 11, B k = 238 FOR B = 215 TO 210 STEP -1 LINE (220, k)-(B, k), 11 k = k + .8 NEXT FOR B = 210 TO 215 LINE (220, k)-(B, k), 11 k = k + .4 NEXT FOR d = 271 TO 369 STEP 4 PSET (d, 240), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 243), 14 NEXT FOR d = 291 TO 349 STEP 4 PSET (d, 237), 14 NEXT FOR d = 176 TO 286 STEP 4 PSET (d, 258), 14 NEXT FOR d = 196 TO 266 STEP 4 PSET (d, 255), 14 NEXT FOR d = 216 TO 286 STEP 4 PSET (d, 261), 14 NEXT FOR d = 216 TO 272 STEP 4 PSET (d, 264), 14 NEXT GET (160, 235)-(370, 267), trek3% CLS CALL warp DEFINT A-Z SUB warp n = 150 'number of stars DIM y(n) DIM x(n) DIM s(n) DIM c(n) DIM x1(n) DIM y1(n) DIM c1(n) DIM s1(n) RANDOMIZE TIMER CLS FOR i = 1 TO n x(i) = INT(RND * 640 + 1) y(i) = INT(RND * 480 + 1) s(i) = INT(RND * 5 + 1) s1(i) = INT(RND * 5 + 1) x1(i) = INT(RND * 640 + 1) y1(i) = INT(RND * 480 + 1) IF s1(i) <= 3 THEN c1(i) = 8 IF s1(i) = 4 THEN c1(i) = 7 IF s1(i) = 5 THEN c1(i) = 15 IF s(i) <= 3 THEN c(i) = 8 IF s(i) = 4 THEN c(i) = 7 IF s(i) = 5 THEN c(i) = 15 NEXT i secondprise = 1 DO FOR i = 1 TO n PSET (x(i), y(i)), 0 PSET (x1(i), y1(i)), 0 x(i) = x(i) - s(i) 'change + to - to go in opposite direction x1(i) = x1(i) - s1(i) 'change + to - if you change the thing above IF x(i) <= 1 THEN GOSUB 22 'change < to > if you change the thing above IF x1(i) >= 640 THEN GOSUB 33 'change > to < if you change the thing above PSET (x(i), y(i)), c(i) PSET (x1(i), y1(i)), c1(i) a$ = INKEY$: IF a$ <> "" THEN END NEXT i IF secondprise > 425 THEN LINE (secondprise - 22, 200)-(secondprise + 212, 236), 0, BF LINE (630, 147)-(630, 257), 11 LINE (secondprise - 223, 207)-(640, 207), 11 SLEEP 1 LINE (630, 147)-(630, 257), 0 LINE (177, 207)-(640, 207), 0 EXIT SUB END IF IF secondprise < 100 THEN LINE (secondprise - 1, 200)-(secondprise + 212, 236), 0, BF PUT (secondprise, 200), trek% speed = 1 secondprise = secondprise + speed END IF IF secondprise >= 100 THEN LINE (secondprise - 2, 200)-(secondprise + 212, 236), 0, BF PUT (secondprise, 200), trek2% speed = 2 secondprise = secondprise + speed END IF IF secondprise = 200 THEN warped = 1 IF warped = 1 THEN LINE (secondprise - 22, 200)-(secondprise + 212, 236), 0, BF PUT (secondprise, 200), trek3% LINE (secondprise + 1, 207)-(secondprise - 23, 207), 11 speed = 20 secondprise = secondprise + speed END IF LOOP 22 x(i) = 640 y(i) = INT(RND * 480 + 1) RETURN 33 x1(i) = 1 y1(i) = INT(RND * 480 + 1) RETURN END SUB