REM Print the Mandlebrot set REM REM Translated from C code by Glenn Rhoads into Parrot BASIC REM (translating characters to colours) REM by Leon Brocard REM REM The C code is: REM REM main(){ REM REM int x, y, k; REM char *b = " .:,;!/>)|&IH%*REM"; REM float r, i, z, Z, t, c, C; REM for (y=30; puts(""), C = y*0.1 - 1.5, y--;){ REM for (x=0; c = x*0.04 - 2, z=0, Z=0, x++ < 75;){ REM for (r=c, i=C, k=0; t = z*z - Z*Z + r, Z = 2*z*Z + i, z=t, k<112; k++) REM if (z*z + Z*Z > 10) break; REM printf ("%c", b[k%16]); REM } REM } REM } REM cls FOR y = 30 TO 0 step -1 bigc = y bigc = bigc * 0.1 bigc = bigc - 1.5 FOR x = 0 TO 75 c = x c = c * 0.04 c = c - 2.0 bigz = 0.0 Z = 0.0 r = c i = bigc k = 0 FOR k = 1 TO 112 if (z*z + Z*Z > 10) THEN GOTO BREAKOUT t = (z * z) - (bigz * bigz) + r bigz = 2*z*bigz + i z = t next k BREAKOUT: c = k mod 16 color c, c print " "; next x print next y end