SCREEN 12 PRINT "SnelGroeiFractal afgeleid van SloGro" PRINT "Quick growth fractal derived from SloGro" PRINT "*****************************************" PRINT PRINT "Druk toets om te stoppen/Press a key to stop" PRINT "********************************************" PRINT : PRINT : PRINT : COLOR 10 PRINT " Credits: guido wuyts 1997" PRINT : PRINT : PRINT : COLOR 3 PRINT " -> Toets/Key...": COLOR 15 PLAY "o4l24d" SLEEP: a$ = INKEY$: a$ = "": COLOR 12 CLS DEFINT N, T nbr = 180 DIM toest(nbr, nbr) x0 = 300: y0 = 230: dx = 640 / nbr: dy = 460 / nbr tmax = INT(nbr / 2) LINE (x0, y0)-(x0 + dx - 1, y0 + dy - 1), 3, BF toest(tmax, tmax) = 1 RANDOMIZE TIMER FOR tel1 = 1 TO tmax - 1 FOR tel = 1 TO tel1 'hor1: FOR t = -tel + 1 TO tel - 1 ti = tmax + t: tj = tmax - tel IF (toest(ti + 1, tj) = 1 AND toest(ti - 1, tj) = 1) THEN GOTO Volg1 IF (toest(ti, tj + 1) = 1 AND toest(ti, tj - 1) = 1) THEN GOTO Volg1 IF (toest(ti, tj + 1) = 1 OR (toest(ti + 1, tj) = 1 OR toest(ti - 1, tj) = 1)) THEN x = x0 + t * dx: y = y0 - tel * dy: GOSUB Beslis Volg1: NEXT t 'vert1: FOR t = -tel + 1 TO tel - 1 ti = tmax + tel: tj = tmax + t IF (toest(ti + 1, tj) = 1 AND toest(ti - 1, tj) = 1) THEN GOTO Volg2 IF (toest(ti, tj + 1) = 1 AND toest(ti, tj - 1) = 1) THEN GOTO Volg2 IF (toest(ti - 1, tj) = 1 OR (toest(ti, tj + 1) = 1 OR toest(ti, tj - 1) = 1)) THEN x = x0 + tel * dx: y = y0 + t * dy: GOSUB Beslis Volg2: NEXT t 'hor2: FOR t = tel - 1 TO -tel + 1 STEP -1 ti = tmax + t: tj = tmax + tel IF (toest(ti + 1, tj) = 1 AND toest(ti - 1, tj) = 1) THEN GOTO Volg3 IF (toest(ti, tj + 1) = 1 AND toest(ti, tj - 1) = 1) THEN GOTO Volg3 IF (toest(ti, tj - 1) = 1 OR (toest(ti + 1, tj) = 1 OR toest(ti - 1, tj) = 1)) THEN x = x0 + t * dx: y = y0 + tel * dy: GOSUB Beslis Volg3: NEXT t 'vert2: FOR t = tel - 1 TO -tel + 1 STEP -1 ti = tmax - tel: tj = tmax + t IF (toest(ti + 1, tj) = 1 AND toest(ti - 1, tj) = 1) THEN GOTO Volg4 IF (toest(ti, tj + 1) = 1 AND toest(ti, tj - 1) = 1) THEN GOTO Volg4 IF (toest(ti + 1, tj) = 1 OR (toest(ti, tj + 1) = 1 OR toest(ti, tj - 1) = 1)) THEN x = x0 - tel * dx: y = y0 + t * dy: GOSUB Beslis Volg4: NEXT t Volg: IF NOT INKEY$ = "" THEN GOTO Einde NEXT tel: NEXT tel1 Einde: BEEP a$ = INPUT$(1) CLS END Beslis: IF RND < .75 THEN RETURN LINE (x, y)-(x + dx - 1, y + dy - 1), col% MOD 8, BF toest(ti, tj) = 1 col% = col% + 1 RETURN