25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more...
Home   Projects   Up   Sitemap   Search   Blog   Forum+Chat   About Us   Privacy   Terms of Use   Feedback   FAQ   Images   Services   Ads   Donate   Humor

Other versions:

Programs that do a similar thing:

 

10 'DLA3.BAS 
11 'COPYRIGHT (C)1991 STEVEN WHITNEY.
12 'Published under GNU GPL (General Public License) Version 2, with ABSOLUTELY NO WARRANTY.
13 'SIMULATES DIFFUSION LIMITED AGGREGATION.
14 'PARTICLE RANDOMLY WANDERS AROUND THE SCREEN.  WHEN IT COLLIDES WITH BOUNDARY, IT STICKS.  
15 'THIS VERSION STARTS AT CENTER OF A SMALL CIRCLE
16 'EXIT WITH CTRL-C OR CTRL-BREAK.
17 'SCREEN 12 : 'ENABLE FOR IBM BASICA 
20 'SET CENTERPOINT
30 RANDOMIZE
40 CLS
50 PSET (320, 112), 1
70 CIRCLE (320, 112), 30, 1
71 CIRCLE (320, 112), 31, 1
90 'KEEP THIS LINE, A BORDER TO PREVENT GOING OUT OF BOUNDS
100 LINE (0, 0)-(639, 0), 1: LINE -(639, 399), 1: LINE -(0, 399), 1: LINE -(0, 0), 1
110 'THIS REALLY SHOULD DRAW A CIRCLE AND START MOVING FROM A POINT ON IT
120 'X=INT(RND*640): Y=INT(RND*225)
121  X = 320: Y = 112
130 PSET (X, Y), 4
140 	'TEST TO SEE IF POINT IS NEXT TO ANOTHER POINT
150 	TST = POINT(X + 1, Y) OR POINT(X - 1, Y) OR POINT(X + 1, Y + 1) OR POINT(X, Y + 1) OR POINT(X - 1, Y + 1) OR POINT(X + 1, Y - 1) OR POINT(X, Y - 1) OR POINT(X - 1, Y - 1)
160 	IF TST THEN PSET (X, Y), 7: GOTO 110
170 	PSET (X, Y), 0
180 	M = INT(RND * 8)
190 	IF M = 0 THEN X = X + 1
200 	IF M = 1 THEN X = X - 1
210 	IF M = 2 THEN Y = Y + 1
220 	IF M = 3 THEN Y = Y - 1
230 	IF M = 4 THEN X = X + 1: Y = Y + 1
240 	IF M = 5 THEN X = X + 1: Y = Y - 1
250 	IF M = 6 THEN X = X - 1: Y = Y + 1
260 	IF M = 7 THEN X = X - 1: Y = Y - 1
270 	'NO NEED FOR OUT OF BOUNDS TEST - BORDER TAKES CARE OF IT
280 GOTO 130

 

 

Valid HTML 4.01 Transitional Valid CSS
View content labeling at ICRA.
Copyright ©2008 Steven Whitney. Last modified 02/27/2008.