05-26-2003, 05:37 AM
Here's something I threw together. There's plenty of lines to spare, and lots of ways to crunch down on the size of this and get even more lines. But I've been sittin' at the computer all day and need a break. So here ya go:
Keep the hero alive. Red pellets slow the enemy. Purple pellets speed you up. Brown pellets clear the screen (very useful)
Have fun!
*peace*
Meg.
Keep the hero alive. Red pellets slow the enemy. Purple pellets speed you up. Brown pellets clear the screen (very useful)
Have fun!
Code:
RANDOMIZE TIMER
DEF SEG = 0
SCREEN 13
LINE (0, 0)-(319, 199), 1, B
x! = 160
y! = 100
s! = .001
bs! = .0006
t# = TIMER
PSET (160, 100), 15
DO
DO
IF INT(RND * 100000) = 1 AND bs! < s! THEN bs! = bs! + .00001
IF INT(RND * 9000) = 1 THEN
dx% = INT(RND * 320)
dy% = INT(RND * 200)
IF ABS(x! - dx%) > 5 AND ABS(y! - dy%) > 5 THEN PSET (INT(RND * 320), INT(RND * 200)), 1
END IF
b% = POINT(bx! + bxc!, by! + byc!) 'get next color
bx! = bx! + bxc! 'move baddy
by! = by! + byc! 'move baddy
IF b% <> 1 THEN PSET (bx!, by!), 1 'draw baddy
bxc! = SGN(x! - bx!) * bs! * COS(ATN(ABS(y! - by!) / ABS(x! - bx!)))
byc! = SGN(y! - by!) * bs! * SIN(ATN(ABS(y! - by!) / ABS(x! - bx!)))
n% = POINT(x! + xc!, y! + yc!) 'get next color
IF n% <> 15 THEN PSET (x!, y!), 1 'make trail
x! = x! + xc! 'move hero
y! = y! + yc! 'move hero
IF n% = 4 OR n% = 5 OR n% = 6 OR b% = 4 OR b% = 5 OR b% = 6 OR INT(RND * 100000) = 1 THEN
IF cx% OR cy% THEN CIRCLE (cx%, cy%), 1, 0
cx% = INT(RND * 316) + 2
cy% = INT(RND * 196) + 2
CIRCLE (cx%, cy%), 1, INT(RND * 3) + 4
END IF
IF n% = 4 THEN bs! = .0005
IF n% = 5 THEN s! = s! + .0001
IF n% = 6 THEN
CLS
LINE (0, 0)-(319, 199), 1, B
PSET (x!, y!), 15
CIRCLE (cx%, cy%), 1, INT(RND * 3) + 4
END IF
IF n% <> 1 THEN PSET (x!, y!), 15 'draw hero
POKE &H41A, PEEK(&H41C) 'clear kb buffer
k% = INP(&H60) 'get keystroke
LOOP UNTIL k% = 72 OR k% = 75 OR k% = 80 OR k% = 77 OR k% = 1 OR n% = 1
xc! = 0
yc! = 0
IF k% = 72 THEN yc! = -s!
IF k% = 75 THEN xc! = -s!
IF k% = 80 THEN yc! = s!
IF k% = 77 THEN xc! = s!
LOOP UNTIL k% = 1 OR n% = 1
PRINT "You scored"; INT(TIMER - t# + .5); "points!"
*peace*
Meg.