Das Script 03
PROCEDURE branch2;
VAR
N:INTEGER;
Length,meinWinkel_02,x0,y0,x,y,meinWinkel_01,B1,B2,B3:REAL;
PROCEDURE subbranch2(N:INTEGER;x0,y0,Length,meinWinkel_01,B1,B2,B3,meinWinkel_02:REAL);BEGIN
{Winkelbehandlung an für meinWinkel_01}
Anglevar;
IF N<>0 THEN
BEGIN
MoveTo(x0,y0);
LineTo(Length,#meinWinkel_01);
PenLoc(x,y);
x0:=x;
y0:=y;
subbranch2(N-1,x0,y0,Length*Random*B1,meinWinkel_01-meinWinkel_02*Random,B1,B2,B3,meinWinkel_02);
subbranch2(N-1,x0,y0,Length*B2,meinWinkel_01+meinWinkel_02,B1,B2,B3,meinWinkel_02);
subbranch2(N-1,x0,y0,Length*B3,meinWinkel_01,B1,B2,B3,meinWinkel_02);
END;
{winkelbehandlung aus für meinWinkel_01}
noAnglevar;
END;
BEGIN
N:=10;
Length:=15;
B1:=0.666;
B2:=0.666;
B3:=0.666;
meinWinkel_02:=30;
meinWinkel_01:=90;
subbranch2(N,0,0,Length,meinWinkel_01,B1,B2,B3,meinWinkel_02);
END;
RUN(branch2);