home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 26
/
CD_ASCQ_26_1295.iso
/
vrac
/
begin_jb.zip
/
MAGGOTS.BAS
< prev
next >
Wrap
BASIC Source File
|
1995-07-21
|
2KB
|
58 lines
' Maggots
' =======
' By James Bielby
DO
CLS
INPUT "Screen Mode(7/8/9)"; scrn
INPUT "Number of maggots"; n
INPUT "Maggot colour"; magcol
INPUT "Trail colour"; tcol
INPUT "Background colour"; bcol
INPUT "2 or 1 body bits"; twone
LOOP UNTIL n > 0 AND magcol >= 0 AND magcol <= 15 AND tcol >= 0 AND tcol <= 15 AND bcol >= 0 AND bcol <= 15 AND twone >= 1 AND twone <= 2
SELECT CASE scrn
CASE 7
SCREEN 7
xmax = 320: ymax = 200: mov = 5: size = 3
CASE 8
SCREEN 8
xmax = 640: ymax = 200: mov = 5: size = 4
CASE ELSE
SCREEN 9
xmax = 640: ymax = 390: mov = 5: size = 5
END SELECT
CLS
COLOR 15, bcol
DIM x(n): DIM y(n)
DIM dx(n): DIM dy(n)
DIM oldx(n): DIM oldy(n)
FOR d = 1 TO n
dx(d) = (RND * mov * 2) - mov
dy(d) = (RND * mov * 2) - mov
x(d) = CINT(xmax / 2)
y(d) = CINT(ymax / 2)
NEXT d
DO
FOR v = 1 TO n
CIRCLE (x(v), y(v)), size, tcol
PAINT (x(v), y(v)), tcol
IF twone = 2 THEN CIRCLE (oldx(v), oldy(v)), size, tcol
IF twone = 2 THEN PAINT (oldx(v), oldy(v)), tcol
IF x(v) < 0 THEN x(v) = xmax
IF x(v) > xmax THEN x(v) = 0
IF y(v) < 0 THEN y(v) = ymax
IF y(v) > ymax THEN y(v) = 0
oldx(v) = x(v)
oldy(v) = y(v)
x(v) = x(v) + dx(v)
y(v) = y(v) + dy(v)
dx(v) = (RND * mov * 2) - mov
dy(v) = (RND * mov * 2) - mov
IF twone = 2 THEN CIRCLE (oldx(v), oldy(v)), size, magcol
IF twone = 2 THEN PAINT (oldx(v), oldy(v)), magcol
CIRCLE (x(v), y(v)), size, magcol
PAINT (x(v), y(v)), magcol
NEXT
LOOP UNTIL INKEY$ <> ""