' An attempt to generate universally reusable color parette. ' By Svjatoslav Agejenko in 2001. ' homepage: svjatoslav.eu ' email: svjatoslav@svjatoslav.eu DECLARE SUB getcol (a%, b%, c%, d%) DEFINT A-Y SCREEN 13 CLS c = 0 FOR r = 0 TO 5 FOR g = 0 TO 5 FOR b = 0 TO 5 OUT &H3C8, c c = c + 1 OUT &H3C9, r * 12 OUT &H3C9, g * 12 OUT &H3C9, b * 12 NEXT b NEXT g NEXT r 'GOTO 1 FOR c = 0 TO 5 FOR b = 0 TO 5 FOR a = 0 TO 5 LINE (a * 5 + c * 30, b * 5)-(a * 5 + 4 + c * 30, b * 5 + 4), c * 36 + b * 6 + a, BF NEXT a NEXT b NEXT c a$ = INPUT$(1) ex = -100 ey = 0 FOR z = 0 TO 75 STEP 15 x1 = 50 - (z / 2) y1 = 50 - (z * .866025) x2 = 50 + z y2 = 50 x3 = x1 y3 = 100 - y1 ex = ex + 100 IF z = 45 THEN ex = ex - 300: ey = ey + 101 FOR x = 0 TO 100 FOR y = 0 TO 100 r = 7 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 15 + 1) g = 7 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 15 + 1) b = 7 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 15 + 1) IF r < 0 THEN r = 0 IF g < 0 THEN g = 0 IF b < 0 THEN b = 0 IF r > 5 THEN r = 5 IF g > 5 THEN g = 5 IF b > 5 THEN b = 5 c = r * 36 + g * 6 + b PSET (x + ex, y + ey), c NEXT y NEXT x NEXT z a$ = INPUT$(1) 1 ex = -100 ey = 0 FOR z = 0 TO 75 STEP 15 x1 = 50 - (z / 2.5) y1 = 50 - (z * .566025) x2 = 50 + z / 1.5 y2 = 50 x3 = x1 y3 = 100 - y1 ex = ex + 100 IF z = 45 THEN ex = ex - 300: ey = ey + 101 r1 = 0 g1 = 0 b1 = 0 FOR x = 0 TO 100 FOR y = 0 TO 100 r = 30 - (SQR((x1 - x) ^ 2 + (y1 - y) ^ 2) / 2 + 1) g = 30 - (SQR((x2 - x) ^ 2 + (y2 - y) ^ 2) / 2 + 1) b = 30 - (SQR((x3 - x) ^ 2 + (y3 - y) ^ 2) / 2 + 1) r1 = r1 + r g1 = g1 + g b1 = b1 + b r = r1 / 5 g = g1 / 5 b = b1 / 5 r1 = r1 - (r * 5) g1 = g1 - (g * 5) b1 = b1 - (b * 5) IF r < 0 THEN r = 0 IF g < 0 THEN g = 0 IF b < 0 THEN b = 0 IF r > 5 THEN r = 5 IF g > 5 THEN g = 5 IF b > 5 THEN b = 5 c = r * 36 + g * 6 + b PSET (x + ex, y + ey), c NEXT y NEXT x NEXT z a$ = INPUT$(1) SYSTEM