Arnold
by Stan Munson
There is only one module in this picture, a simple
bubble gum figure created with variables so that it can be drawn in
different sizes. A handful of different sizes of the figure are thrown
over the drawing area.
The subprogram GOHOME
has been changed a little and put in between every
line in the figure. When the turtle crosses the borderline in FRAME
, it
is ordered to lift up the pen. In this way only the parts of the figure
within FRAME
are drawn.
The subprogram PICKCOLORS
paints the resulting spaces at random. Finally
a frame is added. It takes some time and skill to draw the figure. It
has its own program and can easily be exported to other programs.
Starting command: ARNOLD
Also try: REPEAT 12 [ARNOLD WAIT 1000]
Arnold.lgo
TO P ; KEEPS THE ACTION INSIDE THE FRAMED AREA
IF OR (XCOR < 300) (YCOR < 300) PD
IF OR (XCOR < -300) (YCOR < -300) PD
IF OR (XCOR > 300) (YCOR > 300) PU
IF OR (XCOR < -300) (YCOR < -300) PU
END
TO ELEMENT :A ; DRAWS THE BASIC ELEMENT
PD SETPC 0
MAKE "X GETXY
REPEAT 30 [FD 3 * :A RT 2 P] ;1
REPEAT 12 [FD 2 * :A RT 12 P] ;2
REPEAT 20 [FD 3 * :A LT 2 P] ;3
REPEAT 12 [FD 2 * :A RT 5 P] ;4
REPEAT 40 [FD 2 * :A LT 6 P] ;5
REPEAT 40 [FD 3 * :A RT 4 P] ;6
REPEAT 12 [FD 3 * :A RT 6 P] ;7
REPEAT 20 [FD 3 * :A RT 4 P] ;8
REPEAT 12 [FD 3 * :A LT 15 P] ;9
REPEAT 12 [FD 3 * :A RT 4 P] ;10
REPEAT 12 [FD 3 * :A RT 10 P] ;11
REPEAT 20 [FD 3 * :A LT 4 P] ;12
REPEAT 20 [FD 3 * :A RT 12 P] ;13
REPEAT 16 [FD 3 * :A LT 4 P] ;14
REPEAT 10 [FD 2 * :A LT 16 P] ;15
REPEAT 12 [FD 3 * :A RT 3 P] ;16
REPEAT 12 [FD 3 * :A RT 12 P] ;17
REPEAT 12 [FD 3 * :A LT 20 P] ;18
REPEAT 12 [FD 3 * :A RT 4 P] ;19
REPEAT 12 [FD 3 * :A RT 12 P] ;20
REPEAT 6 [FD 3 * :A RT 12 P] ;21
REPEAT 12 [FD 4 * :A LT 10 P] ;22
REPEAT 12 [FD 3 * :A LT 12 P] ;23
REPEAT 12 [FD 3 * :A RT 4 P] ;24
REPEAT 12 [FD 3 * :A RT 12 P] ;25
REPEAT 18 [FD 5 * :A RT 4 P] ;26
REPEAT 12 [FD 3 * :A LT 15 P] ;27
REPEAT 16 [FD 3 * :A RT 15 P] ;28
SETXY :X PU
END
TO FRAME; MAKES THE FRAME AROUND THE DRAWING
SETWIDTH 3 PU HT SETPC 0 HOME
BK 300 RT 90 BK 300 PD
REPEAT 4 [FD 600 LT 90]
SETWIDTH 1
PU HOME
END
TO ARNOLD; MAIN PROGRAM
CS SETWIDTH 1 PU SETPC 0 HOME FS
MAKE "X 3 + RANDOM 3
REPEAT :X [MAKE "A PICK [0.4 2 0.6 2.2 1 1.2 1.4 1.6 1.8 2 2.2 2] PU RT RANDOM 360 FD RANDOM 120 RT RANDOM 360 ELEMENT :A PU HOME]
FRAME PICKCOLORSDOT 400 FRAME
PU SETXY [350 -340] PD SETPC "WHITE FILL
END
TO PICKCOLORSDOT :T; PAINTS AT RANDOM THE AREA INSIDE THE FRAME
PU SETXY [400 -200] SETPC [254 254 254] PD FILL PU; PAINTS THE BACKGROUND WITH A LIGHT GRAY
PU HOME HT REPEAT :T [RT RANDOM 360 FD RANDOM 500 PD SETPC (LIST RANDOM 255 RANDOM 255 RANDOM 255) TEST DOT? IFT [PU] FILL PU HOME]
END
Procedure | ARNOLD |
Description | Logo Art |
Level | Beginner |
Tags | Art |