SCREEN 12 PRINT "Groeifractal met impact, afgeleid van SloGro" PRINT "Impact growth fractal, derived from SloGro" PRINT "********************************************" PRINT PRINT "Druk toets om te stoppen/Press 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 Init: px = 10: py = 8: nx = INT(640 / px): ny = INT(460 / py) i0 = INT(nx / 2): j0 = INT(ny / 2): x0 = i0 * px: y0 = j0 * py DIM toest(nx + 1, ny + 1): toest(i0, j0) = 1: LINE (x0, y0)-(x0 + px - 1, y0 + py - 1), 3, BF imin = 5: imax = 5: jmin = 5: jmax = 5 RANDOMIZE TIMER telmax = 500 FOR tel = 1 TO telmax Inval: a = RND: b = RND IF a < .5 THEN i = i0 - imin + INT(RND * (imin + imax)) IF b < .5 THEN j = j0 - jmin ELSE j = j0 + jmax END IF ELSE j = j0 - jmin + INT(RND * (jmin + jmax)) IF b < .5 THEN i = i0 - imin ELSE i = i0 + imax END IF END IF di = RND - .5 dj = RND - .5 LOOPt: i1 = i + di: j1 = j + dj x = INT(i) * px: y = INT(j) * py: x1 = INT(i1) * px: y1 = INT(j1) * py IF i1 < (i0 - imin) OR i1 > (i0 + imax) THEN LINE (x, y)-(x + px - 1, y + py - 1), 0, BF: GOTO Inval IF j1 < (j0 - jmin) OR j1 > (j0 + jmax) THEN LINE (x, y)-(x + px - 1, y + py - 1), 0, BF: GOTO Inval IF toest(INT(i1), INT(j1)) = 1 THEN GOSUB Inslag: GOTO Volgend LINE (x, y)-(x + px - 1, y + py - 1), 0, BF LINE (x1, y1)-(x1 + px - 1, y1 + py - 1), , BF i = i1: j = j1 GOTO LOOPt Volgend: a$ = INKEY$ IF NOT a$ = "" THEN GOTO Einde NEXT tel Einde: BEEP END Inslag: LINE (x, y)-(x + px - 1, y + py - 1), 3, BF toest(INT(i), INT(j)) = 1 IF i0 - i > imin - 5 THEN imin = i0 - i + 5 IF i - i0 > imax - 5 THEN imax = i - i0 + 5 IF j0 - j > jmin - 5 THEN jmin = j0 - j + 5 IF j - j0 > jmax - 5 THEN jmax = j - j0 + 5 RETURN