'Program LANGTON.BAS animated "Langton's Ants" '(c) 1997 by J. C. Sprott DEFINT A-Z SCREEN 12 xmax = 640: ymax = 480 LINE (0, 0)-(xmax - 1, ymax - 1), , BF x = xmax / 2 - 1 y = ymax / 2 - 1 dx = 1 dy = 0 c = 15 'for i=1 to 100: preset(rnd*xmax,rnd*ymax): next i 'Adds more ants WHILE INKEY$ = "" 'locate 1,1: print n&; 'Tracks the number of generations n& = n& + 1 x = x + dx y = y + dy x = (x + xmax) MOD xmax y = (y + ymax) MOD ymax p = POINT(x, y) IF p THEN PRESET (x, y) IF dx = 1 AND dy = 0 THEN dx = 0: dy = 1: c = 15 ELSEIF dx = 0 AND dy = 1 THEN dx = -1: dy = 0: c = 14 ELSEIF dx - 1 AND dy = 0 THEN dx = 0: dy = -1: c = 13 ELSE dx = 1: dy = 0: c = 12 END IF ELSE PSET (x, y), c IF dx = 1 AND dy = 0 THEN dx = 0: dy = -1: c = 11 ELSEIF dx = 0 AND dy = -1 THEN dx = -1: dy = 0: c = 10 ELSEIF dx = -1 AND dy = 0 THEN dx = 0: dy = 1: c = 9 ELSE dx = 1: dy = 0: c = 8 END IF END IF WEND