X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=blobdiff_plain;f=misc%2Fpal.bas;fp=misc%2Fpal.bas;h=f5e6faacc32d9dd31b3a88beab5ac39e56772c02;hp=0000000000000000000000000000000000000000;hb=c6aaa433dedff2dd8063983c7716c0cdb296a0f9;hpb=3779e9035f2c67e36111585e10d956a3e9e3c0fa diff --git a/misc/pal.bas b/misc/pal.bas new file mode 100644 index 0000000..f5e6faa --- /dev/null +++ b/misc/pal.bas @@ -0,0 +1,116 @@ +' 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 +