---

DEFINT A-Z '------------------------------------------------------------' ' Program ANTY.BAS by David Rice, based upon the article in ' ' July 1994 _Scientific_American_ called "The Ultimate in ' ' Anty-Particles," page 104. ' ' This program demonstrates how a complex structure (called ' ' "highway building" in the article) may result from very ' ' simple, basic natural laws. The laws for the ant are as ' ' follows: ' ' On a 320 X 200 grid, an ant moves one square in any ' ' of four directions. If the square it moves on is ' ' black, it paints it white and changes direction to ' ' the left. If it lands on a white square, it paints ' ' it black and changes direction to the right. ' '------------------------------------------------------------' DECLARE SUB Completed (AntMovedCount%) RANDOMIZE TIMER: SCREEN 1: CLS AntX = (320 \ 2): AntY = (200 \ 2) AntDirection = ((RND * 4) + 1): ' for random direction AntDirection = 1: AntMovedCount% = 0 White = 16: Black = 0 ' DATA -1,0: ' east 1 DATA 0,-1: ' north 2 DATA 1,0: ' west 3 DATA 0,1: ' south 4 DIM Directions%(1 TO 4, 1 TO 2) FOR A% = 1 TO 4 READ Directions%(A%, 1), Directions%(A%, 2) NEXT DO AntX = AntX + Directions%(AntDirection, 1) AntY = AntY + Directions%(AntDirection, 2) IF AntX < 0 OR AntX > 319 THEN CALL Completed(AntMovedCount%) IF AntY < 0 OR AntY > 199 THEN CALL Completed(AntMovedCount%) AntMovedCount% = AntMovedCount% + 1 ' IF POINT(AntX, AntY) = Black THEN PSET (AntX, AntY), White SELECT CASE AntDirection CASE 1: AntDirection = 4 CASE 2: AntDirection = 1 CASE 3: AntDirection = 2 CASE 4: AntDirection = 3 END SELECT ELSE PSET (AntX, AntY), Black SELECT CASE AntDirection CASE 1: AntDirection = 2 CASE 2: AntDirection = 3 CASE 3: AntDirection = 4 CASE 4: AntDirection = 1 END SELECT END IF LOOP SUB Completed (AntMovedCount%) BEEP A$ = INPUT$(1) SYSTEM

---

The views and opinions stated within this web page are those of the author or authors which wrote them and may not reflect the views and opinions of the ISP or account user which hosts the web page. The opinions may or may not be those of the Chairman of The Skeptic Tank.

Return to The Skeptic Tank's main Index page.

E-Mail Fredric L. Rice / The Skeptic Tank