'=========================================================================== ' Subject: TIE DIE SCREEN SAVER Date: 06-25-98 (05:45) ' Author: Ryan White Code: QB, QBasic, PDS ' Origin: bigfooty@yahoo.com Packet: GRAPHICS.ABC '=========================================================================== 'Tiedie 'By: Ryan White 'Bigfooty@home.com Bigfooty@yahoo.com 'Only the best gets out. 8') 'You'll notice alot of my programs have the same code, just a few different 'lines. That is all it takes to make some of the coolest screen savers ever. 'If you make anything cooler out of this, let me see. ' -BF SCREEN 13 DEFINT A-W CLS DIM c(255, 2), co(255, 2), zr(6) zr(1) = 0: zr(2) = 1.05: zr(3) = 2.1: zr(4) = 3.15: zr(5) = 4.2: zr(6) = 5.25 FOR n = 0 TO 15 c(n, 0) = n * 4: c(n, 1) = n * 4: c(n, 2) = n * 4: c(n + 16, 0) = 63: c(n + 16, 1) = 63 - n * 4: c(n + 16, 2) = 63 - n * 4: c(n + 32, 0) = 63: c(n + 32, 1) = n * 2: c(n + 32, 2) = 0 c(n + 48, 0) = 63: c(n + 48, 1) = n * 2 + 31: c(n + 48, 2) = 0: c(n + 64, 0) = 63 - n * 4: c(n + 64, 1) = 63: c(n + 64, 2) = 0: c(n + 80, 0) = 0: c(n + 80, 1) = 63 - n * 2: c(n + 80, 2) = n * 4 c(n + 96, 0) = 0: c(n + 96, 1) = 32 - n * 2: c(n + 96, 2) = 60: c(n + 112, 0) = n * 3: c(n + 112, 1) = 0: c(n + 112, 2) = 60: c(n + 128, 0) = 45 - n * 3: c(n + 128, 1) = 0: c(n + 128, 2) = 60 c(n + 144, 0) = 0: c(n + 144, 1) = n * 2: c(n + 144, 2) = 60: c(n + 160, 0) = 0: c(n + 160, 1) = 30 + n * 2: c(n + 160, 2) = 60 - n * 4: c(n + 176, 0) = n * 4: c(n + 176, 1) = 63: c(n + 176, 2) = 0 c(n + 192, 0) = 63: c(n + 192, 1) = 60 - n * 2: c(n + 192, 2) = 0: c(n + 208, 0) = 63: c(n + 208, 1) = 30 - n * 2: c(n + 208, 2) = 0: c(n + 224, 0) = 60 - n * 2: c(n + 224, 1) = n * 2: c(n + 224, 2) = n * 2 c(n + 240, 0) = 30 - n * 2: c(n + 240, 1) = 30 - n * 2: c(n + 240, 2) = 30 - n * 2: NEXT n: FOR n = 1 TO 255: OUT &H3C8, n: FOR m = 0 TO 2: OUT &H3C9, c(n, m): NEXT m: NEXT n FOR i = 1 TO 260 n = n - 1: IF n = 0 THEN n = 255 FOR x = 1 TO 360 PSET (160 + COS(x) * i, 100 + SIN(x) * i), n NEXT x NEXT i '!!!! BLURS FOR g = 1 TO 4 FOR h = 1 TO 99 'this and j will cover one quadrant, which I can use on all FOR j = 1 TO 159 '1st quad k0 = POINT(319 - j, h) k1 = POINT(319 - j - 1, h) k2 = POINT(319 - j, h - 1) k3 = POINT(319 - j, h + 1) k4 = POINT(319 - j + 1, h) '2nd quad b0 = POINT(j, h) b1 = POINT(j - 1, h) b2 = POINT(j, h - 1) b3 = POINT(j, h + 1) b4 = POINT(j + 1, h) '3rd quad l0 = POINT(j, 199 - h) l1 = POINT(j - 1, 199 - h) l2 = POINT(j, 199 - h - 1) l3 = POINT(j, 199 - h + 1) l4 = POINT(j + 1, 199 - h) '4 th quad m0 = POINT(319 - j, 199 - h) m1 = POINT(319 - j - 1, 199 - h) m2 = POINT(319 - j, 199 - h - 1) m3 = POINT(319 - j, 199 - h + 1) m4 = POINT(319 - j + 1, 199 - h) c1 = INT((k0 + k1 + k2 + k3 + k4) / 5) c2 = INT((b0 + b1 + b2 + b3 + b4) / 5) c3 = INT((l0 + l1 + l2 + l3 + l4) / 5) c4 = INT((m0 + m1 + m2 + m3 + m4) / 5) PSET (319 - j, h), c1 PSET (j, h), c2 PSET (j, 199 - h), c3 PSET (319 - j, 199 - h), c4 NEXT j NEXT h NEXT g DO UNTIL INKEY$ <> "" FOR n = 1 TO 255: OUT &H3C7, n: FOR m = 0 TO 2: co(n, m) = INP(&H3C9): NEXT m: NEXT n c(255, 0) = co(1, 0): c(255, 1) = co(1, 1): c(255, 2) = co(1, 2) FOR n = 1 TO 254: FOR m = 0 TO 2: c(n, m) = co(n + 1, m): NEXT m: NEXT n FOR n = 1 TO 255: OUT &H3C8, n: FOR m = 0 TO 2: OUT &H3C9, c(n, m): NEXT m: NEXT n LOOP