DEFINT A-Z TYPE liney r AS INTEGER g AS INTEGER B AS INTEGER x1 AS INTEGER y1 AS INTEGER x2 AS INTEGER y2 AS INTEGER END TYPE DECLARE SUB pal (colindex%, colr%, colg%, colb%) SCREEN 13 CLS 'if any text gets printed in default color, it's invisible! pal 15, 0, 0, 0 FOR a = 0 TO 22 PRINT NEXT a FOR a = 0 TO 255 LINE (a, 191)-(a, 199), a NEXT a col = 0 'starting color cols = 200 'number of colors vis = 100 'number of visible colors dimr! = .96 'dimming factor for palette diminishing dimg! = .9 dimb! = .7 dimx! = 1.1 'kinda silly newlines = 4 'number of new lines generated each pass DIM lin(0 TO (cols - 1)) AS liney B = 0 DO k$ = INKEY$ SOUND INT(RND * 32731) + 37, .05 PRINT FOR a = 1 TO (vis - 1) i = (col + a) MOD cols lin(i).r = lin(i).r * (INT(RND / 10) - .05 + dimr!)'diminish color lin(i).g = lin(i).g * (INT(RND / 10) - .05 + dimg!) lin(i).B = lin(i).B * (INT(RND / 10) - .05 + dimb!) lin(i).y1 = (200 - lin(i).y1) * (INT(RND / 10) - .05 + dimx!) + 200 lin(i).y2 = (200 - lin(i).y2) * (INT(RND / 10) - .05 + dimx!) + 200 lin(i).x1 = lin(i).x1 + INT(RND * 5) - 2 lin(i).x2 = lin(i).x2 + INT(RND * 5) - 2 pal i + 16, lin(i).r, lin(i).g, lin(i).B LINE (lin(i).x1, lin(i).y1)-(lin(i).x2, lin(i).y2), i + 16, B LINE (lin(i).x1, lin(i).y1)-(lin(i).x2, lin(i).y2), i + 16 LINE (lin(i).x1, lin(i).y2)-(lin(i).x2, lin(i).y1), i + 16 NEXT a FOR a = 0 TO newlines - 1 coli = (col + cols - a) MOD cols lin(coli).r = INT(RND * 32) + 32 lin(coli).g = INT(RND * 32) + 32 lin(coli).B = INT(RND * 32) + 16 lin(coli).x1 = INT(RND * 320) lin(coli).y1 = INT(RND * 30) + 160 lin(coli).x2 = INT(RND * 320) lin(coli).y2 = INT(RND * 30) + 160 pal coli + 16, lin(coli).r, lin(coli).g, lin(coli).B LINE (lin(col).x1, lin(col).y1)-(lin(col).x2, lin(col).y2), col + 16, B LINE (lin(col).x1, lin(col).y1)-(lin(col).x2, lin(col).y2), col + 16 LINE (lin(col).x1, lin(col).y2)-(lin(col).x2, lin(col).y1), col + 16 NEXT a col = (col + (cols - newlines)) MOD cols LOOP UNTIL k$ = CHR$(27) DEFSNG A-Z SUB pal (colindex%, colr%, colg%, colb%) OUT &H3C8, colindex% OUT &H3C9, colr% OUT &H3C9, colg% OUT &H3C9, colb% END SUB