Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
67
Task/Brownian-tree/Simula/brownian-tree.simula
Normal file
67
Task/Brownian-tree/Simula/brownian-tree.simula
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
BEGIN
|
||||
INTEGER NUM_PARTICLES;
|
||||
INTEGER LINES, COLUMNS;
|
||||
INTEGER SEED;
|
||||
|
||||
NUM_PARTICLES := 1000;
|
||||
LINES := 46;
|
||||
COLUMNS := 80;
|
||||
SEED := ININT;
|
||||
BEGIN
|
||||
|
||||
PROCEDURE DRAW_BROWNIAN_TREE(WORLD); INTEGER ARRAY WORLD;
|
||||
BEGIN
|
||||
INTEGER PX, PY; COMMENT PARTICLE VALUES ;
|
||||
INTEGER DX, DY; COMMENT OFFSETS ;
|
||||
INTEGER I;
|
||||
|
||||
COMMENT SET THE SEED ;
|
||||
PX := RANDINT(0,LINES-1,SEED);
|
||||
PY := RANDINT(0,COLUMNS-1,SEED);
|
||||
WORLD(PX,PY) := 1;
|
||||
|
||||
FOR I := 0 STEP 1 UNTIL NUM_PARTICLES - 1 DO BEGIN
|
||||
COMMENT SET PARTICLE'S INITIAL POSITION ;
|
||||
PX := RANDINT(0,LINES-1,SEED);
|
||||
PY := RANDINT(0,COLUMNS-1,SEED);
|
||||
|
||||
WHILE TRUE DO BEGIN
|
||||
COMMENT RANDOMLY CHOOSE A DIRECTION ;
|
||||
DX := RANDINT(-1,1,SEED);
|
||||
DY := RANDINT(-1,1,SEED);
|
||||
|
||||
IF DX + PX < 0 OR DX + PX >= LINES
|
||||
OR DY + PY < 0 OR DY + PY >= COLUMNS THEN
|
||||
BEGIN
|
||||
COMMENT PLOP THE PARTICLE INTO SOME OTHER RANDOM LOCATION ;
|
||||
PX := RANDINT(0,LINES-1,SEED);
|
||||
PY := RANDINT(0,COLUMNS-1,SEED);
|
||||
END ELSE IF WORLD(PX + DX, PY + DY) <> 0 THEN BEGIN
|
||||
COMMENT BUMPED INTO SOMETHING ;
|
||||
WORLD(PX, PY) := 1;
|
||||
GO TO BREAK;
|
||||
END ELSE BEGIN
|
||||
PY := PY + DY;
|
||||
PX := PX + DX;
|
||||
END IF;
|
||||
END WHILE;
|
||||
BREAK:
|
||||
END FOR;
|
||||
END DRAW_BROWNIAN_TREE;
|
||||
|
||||
INTEGER ARRAY WORLD(0:LINES-1,0:COLUMNS-1);
|
||||
INTEGER I,J;
|
||||
|
||||
DRAW_BROWNIAN_TREE(WORLD);
|
||||
|
||||
FOR I := 0 STEP 1 UNTIL LINES-1 DO
|
||||
BEGIN
|
||||
FOR J := 0 STEP 1 UNTIL COLUMNS-1 DO
|
||||
BEGIN
|
||||
OUTCHAR(IF WORLD(I,J)=0 THEN '.' ELSE '*');
|
||||
END;
|
||||
OUTIMAGE;
|
||||
END;
|
||||
|
||||
END;
|
||||
END.
|
||||
Loading…
Add table
Add a link
Reference in a new issue