'=========================================================================== ' Subject: PHOENIX (PLASMA-LIKE EFFECT) Date: 06-18-98 (09:12) ' Author: Ryan White Code: QB, QBasic, PDS ' Origin: bigfooty@yahoo.com Packet: GRAPHICS.ABC '=========================================================================== 'Phoenix 'By Ryan White 'bigfooty@home.com & bigfooty@yahoo.com '6-18-98 'Yes I'm back for a while making more eye candy for everyone. 'I now have an even bigger collection of stuff so if you would like to 'share learn etc, just gimme a shout. SCREEN 13 DEFINT A-W CLS DIM c(255, 2), co(255, 2) 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 n = 0: x = 5 FOR I = 200 TO 40 STEP -1: n = n + 1: IF n = 256 THEN n = 1 x = x / 1.003: FOR j = 1 TO 10: CIRCLE (160, I), x, n, , , .5: x = x * 1.003: NEXT j NEXT I n = 255: x = 5 FOR I = -10 TO 160 n = n - 1 IF n = 0 THEN n = 255 x = x / 1.003 FOR j = 1 TO 10 '6.28= 2PI= 360deg so 1.05 = 1/6th a circle. FOR w = 1 TO 9 STEP 2 CIRCLE (160, I), x / w, n, 0, 1.05, .5 CIRCLE (160, I), x / w, n, 2.1, 3.15, .5 CIRCLE (160, I), x / w, n, 4.2, 5.25, .5 NEXT w x = x * 1.003 NEXT j NEXT I '!!!! BLURS FOR g = 1 TO 7 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) '4th 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