' Rounds up sharp edges ' made by Svjatoslav Agejenko ' in 2003.12 ' homepage: svjatoslav.eu ' email: svjatoslav@svjatoslav.eu DEFINT A-Z WIDTH 80, 50 VIEW PRINT 1 TO 50 RANDOMIZE TIMER CLS DIM SHARED buf1(1 TO 80, 1 TO 50) DIM SHARED buf2(1 TO 80, 1 TO 50) FOR y = 1 TO 50 FOR x = 1 TO 80 buf1(x, y) = INT(RND * 2) NEXT x NEXT y 1 FOR y = 2 TO 49 FOR x = 2 TO 79 c = buf1(x - 1, y - 1) c = c + buf1(x, y - 1) c = c + buf1(x + 1, y - 1) c = c + buf1(x - 1, y) c = c + buf1(x + 1, y) c = c + buf1(x - 1, y + 1) c = c + buf1(x, y + 1) c = c + buf1(x + 1, y + 1) IF buf1(x, y) = 1 THEN IF c > 3 THEN buf2(x, y) = 1 ELSE buf2(x, y) = 0 ELSE IF c > 4 THEN buf2(x, y) = 1 ELSE buf2(x, y) = 0 END IF NEXT x NEXT y FOR y = 1 TO 50 FOR x = 1 TO 80 b = buf2(x, y) buf1(x, y) = b LOCATE y, x IF b = 0 THEN PRINT "."; ELSE PRINT "#" NEXT x NEXT y SOUND 0, 3 GOTO 1