TREE.PNG
SCAR 3.15
SCAR Code:
VAR R,C,h,_2,_3,_1,BMP:INTEGER;
_0,A:ARRAY OF INTEGER;
TPA0,TPA1:ARRAY OF ARRAY OF TPOINT;
BEGIN
DISPLAYDEBUGIMGWINDOW(200,200)
BMP:=BitmapFromString(200,200,'')
REPEAT
SLEEP(200)
IF ISarrowdown(0) THEN
BEGIN
R:=RANDOM(4) IF R=3 THEN
BEGIN
SetARRAYLength(TPA0,GetArrayLength(TPA0)+1)
SetARRAYLength(TPA0[GetArrayLength(TPA0)-1],4)
SetARRAYLength(TPA1,GetArrayLength(TPA1)+1)
SetARRAYLength(TPA1[GetArrayLength(TPA1)-1],4)
SetARRAYLength(A,GetArrayLength(A)+1)
SetARRAYLength(_0,GetArrayLength(_0)+1)
A[GetArrayLength(A)-1]:=RANDOMRANGE(-99,99)
END;
IF GetArrayLength(A)>0 THEN FOR C:=0 TO GetArrayLength(A)-1 DO INC(_0[C]);
END;
IF ISarrowdown(1) THEN ;;
IF ISarrowdown(2) THEN FOR C:=0 TO GetArrayLength(A)-1 DO DEC(_0[C]);
IF ISarrowdown(3) THEN ;;
//
FastDrawClear(BMP,0)
IF GetArrayLength(A)>0 THEN
BEGIN
FOR C:=GetArrayLength(A)-1 DOWNTO 0 DO
BEGIN
IF _0[C]<15 THEN
BEGIN
TPA0[C][0].X:=3+96+A[C] TPA0[C][0].Y:=0-(_0[C]*2)+93-(_0[C]*5)
TPA0[C][1].X:=0-(_0[C]*4)+96+A[C] TPA0[C][1].Y:=3+(_0[C]*2)+93-(_0[C]*5)
TPA0[C][2].X:=7+(_0[C]*4)+96+A[C] TPA0[C][2].Y:=3+(_0[C]*2)+93-(_0[C]*5)
TPA0[C][3].X:=4+96+A[C] TPA0[C][3].Y:=0-(_0[C]*2)+93-(_0[C]*5)
//
TPA1[C][0].X:=0-_0[C]+99+A[C] TPA1[C][0].Y:=0-(_0[C]*5)+97+(_0[C]*2)
TPA1[C][1].X:=0-_0[C]+99+A[C] TPA1[C][1].Y:=9+(_0[C]*5)+97+(_0[C]*2)
TPA1[C][2].X:=1+_0[C]+100+A[C] TPA1[C][2].Y:=9+(_0[C]*5)+97+(_0[C]*2)
TPA1[C][3].X:=1+_0[C]+100+A[C] TPA1[C][3].Y:=0-(_0[C]*5)+97+(_0[C]*2)
//
GETBITMAPCANVAS(BMP).BRUSH.COLOR:=clGreen
GETBITMAPCANVAS(BMP).PEN.COLOR:=CLGREEN
GETBITMAPCANVAS(BMP).POLYGON(TPA0[C])
//
//
GETBITMAPCANVAS(BMP).BRUSH.COLOR:=clBronze
GETBITMAPCANVAS(BMP).PEN.COLOR:=clBronze
GETBITMAPCANVAS(BMP).POLYGON(TPA1[C])
//
END;
END;
END;
SafeDrawBitmap(BMP,GetDebugCanvas,0,0)
UNTIL FALSE
END.