Terrapin Resources

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