----- LOGO 15-WORD CHALLENGE UPDATE, MAY 24 -----

This contains:

1. The rules for the Logo 15-Word Challenge, and

2. A list of all contest entries so far.

The contest ends June 1, 1997.

The contest was first posted on the logo list

---------- THE LOGO 15-WORD CHALLENGE ----------

Write a Logo one-liner using 15 or fewer words,

not counting square brackets and parentheses,

to produce the most beautiful, complex, and

interesting picture.

RULES

Write a single line of Logo commands to be entered

directly at the Logo command prompt.

Do not write a named Logo procedure using "TO".

You may use "DEFINE" to define a procedure, followed

by a command to run the procedure, all on the same line.

The one-liner must have 15 or fewer words, not counting

square brackets and parentheses. For example, this

one-liner is ten words:

for [i 0 2200] [fd 3 rt (:i * :i)]

Any initial commands to move the turtle to a better

starting position and clear the screen are not

counted as part of the one-liner.

The one-liner must be self-contained: it cannot rely on

pre-defined variables, non-primitive procedures,

external files, etc.

The one-liner must use only one turtle.

The one-liner must not use color.

PORTABILITY

The one-liner should be reasonably portable. In other

words, the one-liner should use only commands which are

likely to be easily translated into equivalent commands

in common Logo implementations.

I will use MSW Logo version 4 to run the one-liners.

Some MSW Logo commands, syntax, and primitives which are

acceptable:

fd, bk, lt, rt

for [i 0 100] [ print :i ]

repeat 100 [ print repcount ]

make "x :x + 1

if :i = 0 [ ... ]

ifelse :i < 0 [ ... ] [ ... ]

setx x, sety y, setxy x y, setpos [ x y ]

setheading x, seth x

penreverse, px (pen reverses underlying color)

setpensize [ x y ] (x and y must be the same)

wrap, window, fence (wrap mode is the default)

x + y, x - y, x * y, x / y,

remainder x y, int x, round x,

sqrt x, power x y, exp x, log10 x, ln x,

sin x, cos x, arctan x

random x

define "square [[x] [repeat 4 [fd :x rt 90]]]

parentheses are acceptable

Some commands which are NOT acceptable:

arc, circle

setpc (color is not allowed)

For other Logos, change "for [i 0 10] [...]" to

something like "make "i 0 repeat 10 [... make "i :i+1]",

but this takes many more words.

For MicroWorlds, change "for [i 0 10]" to "dotimes [i 10]".

THE RESET PROCEDURE

I have added "reset" to the beginning of each one-liner

to reset everything. (Don't count it as a word.)

In MSW Logo, "reset" can be defined as follows:

to reset

cs st pd wrap zoom 1 penpaint setpensize [1 1]

setpc [0 0 0] setsc [255 255 255] setfloodcolor [0 0 0]

setscrunch 1 1

end

You may prefer that "reset" do "ht" instead of "st".

EXAMPLE ONE-LINERS UNDER 15 WORDS

The following example one-liners run in MSW Logo.

Simple Scroll, 8W

reset for [i 0 1000] [fd 10 rt :i]

Curly Cloud, 10W

reset for [i 0 2200] [fd 3 rt (:i * :i)]

(Very pretty and very simple)

Growing Scrolls, 10W

reset for [i 0 3000] [fd (:i / 100) rt :i]

Slalom Scrolls, 11W

reset for [i 0 2000] [fd 5 rt (90 * sin :i)]

Wiggly Star, 13W

reset for [i 0 4320] [fd 3 rt (90 * sin (:i * :i))]

Hairy Star, 13W

reset for [i 0 4700] [fd 8 rt (180 * sin (:i * :i))]

Jaggy Star, 13W

reset for [i 0 2200] [fd (20 * sin :i) rt (:i * :i)]

Strange Tracks, 13W

reset for [i 0 10000] [fd 5 rt (180 * sin (power :i 1.5))]

(Note: "power :i 1.5" is the same as ":i * sqrt :i")

Bullring, 14W

reset for [i 0 1002] [fd 8 seth (360 * (power :i 3) / 1002)]

(Bullring is from "Another Fine Math You've Got Me Into..."

by Ian Stewart)

HOW TO ENTER

E-mail one or more one-liners using 15 or fewer words

to Keith Enevoldsen at

E-mail your entry on or before June 1, 1997.

Please use "Logo contest entry" as the subject line.

Feel free to share your entries with the logo list

but official entries must be e-mailed to me directly.

I will post updates on the logo list.

Please include a descriptive or whimsical name for each

one-liner.

One-liners do not need to be original. I want the best

one-liners, old or new.

JUDGING

I (and whoever else happens to be around) will choose

the best one-liners based on these criteria:

1. The beauty, complexity, and interestingness

of the picture,

2. The simplicity of the commands.

I will announce the winners on the logo list on or

about June 8, 1997.

There will be NO prizes! This is just for fun!

---------- CONTEST ENTRIES ----------

Here are all the contest entries so far.

I have also included some one-liners by myself

which are, of course, ineligible for the contest.

I invented names (marked with asterisks) for all

unnamed entries.

Random Lines*, 9W, Michael Tempel

reset repeat random 1000 [fd random 1000 rt random 360]

(This usually produces Jackson Pollacks, but there is

a chance that it will produce a Michelangelo.)

Square Spiral*, 14W or 9W, Yehuda Katz

reset px make "x 1 repeat 1000000 [fd :x rt 90 make "x :x+1]

reset px for [x 1 1000000] [fd :x rt 90]

(It seems simple, but it has a surprising effect.)

Square Spiral variation 1, 9W, Keith Enevoldsen

reset px for[x 1 1000000] [fd :x rt 89.99]

Square Spiral variation 2, 14W or 8W, Bill Kerr

reset make "x 1 repeat 150 [fd :x rt 89 make "x :x+1]

reset for [x 1 150] [fd :x rt 89]

Sine Wave, 15W, Shachar Katz

reset sety 1000 home setx 1000 for [x -180 180] [setxy :x 70*sin :x]

(Who needs Mathematica?)

Radar, 11W, Zippi Katz

reset px repeat 1000000 [fd 40 fd 40 bk 80 rt 1]

(No, "fd 40 fd 40" cannot be replaced by "fd 80"!)

Radar variation 1, 12W, Bill Kerr

reset repeat 3600 [px fd 80 fd 0 bk 80 lt random 360]

Radar variation 2, 7W, Keith Enevoldsen

reset px repeat 10000 [fd 200 rt 179]

Brownian Motion, 14W, Erez Katz

reset repeat 10000 [fd 3*(-1+random 2) rt 90*random 4]

(Maybe it should be named urban sprawl.)

Feathers*, 13W, Marian Rosen

reset repeat 12 [repeat random 50 [fd 100 bk 95 rt 2] rt 180]

(Very pretty.)

Feathers variation 1, 13W, Keith Enevoldsen

reset repeat 50 [repeat random 100 [fd 300 bk 295 rt 2] rt 180]

Spiral*, 11W, Olga Tuzova

reset for [i 0.01 4 0.05] [repeat 180 [fd :i rt 1]]

Ring*, 10W, Olga Tuzova

reset px setpensize [20 20] repeat 100000 [fd 2 rt 2]

(Looks like a caterpillar to me.)

Ring variation 1, 10W, Keith Enevoldsen

reset px setpensize [200 200] repeat 36 [fd 20 rt 10]

Ring variation 2, 14W, Olga Tuzova

reset px setpensize [100 100] repeat 1000 [repeat 72 [fd 20 rt 10] rt 90]

Cubism (Ring variation), 15W, Yehuda Katz

reset px for [x 10 200] [setpensize se :x :x repeat 36 [fd 20 rt 15]]

Milky Way, 15W, Olga Tuzova

reset setsc [0 0 0] px setpensize [10 10] repeat 100000 [fd 10 rt random 360]

(Cosmic!)

Inky Dots, 14W, Olga Tuzova

reset setpensize [10 10] repeat 10000 [pu fd 15 pd fd 0 rt random 360]

(Don't worry, you can remove the stains with CS.)

Inky Dots variation 1, 15W, Yehuda Katz

reset px setpensize [10 10] repeat 10000 [pu fd 15 pd fd 0 rt random 360]

Rose, 13W, M.H. Elhefni (shortened by Yehuda Katz)

reset for [t 0 180 3] [seth :t fd 200*sin :t home]

Rose variation 1, 14W, Keith Enevoldsen

reset for [t 0 180] [seth :t fd 200*sin :t*7 home]

Lissajous, 15W, M.H. Elhefni

reset for [t 0 360] [setxy 200*sin :t 200*cos :t*5]

Lissajous variations 1-4, 15W, Samuel Kilchenmann

reset repeat 360 [setxy (sin(2 * repcount)) * 150 (sin(3 * repcount)) * 150]

reset repeat 360 [setxy (sin(89 * repcount)) * 150 (sin(179 * repcount)) *

150]

reset repeat 360 [setxy (sin(254 * repcount)) * 150 (sin(201 * repcount)) *

150]

reset repeat 360 [setxy (sin(327 * repcount)) * 150 (sin(66 * repcount)) *

150]

(Very pretty variations.)

Times, 14W, Yehuda Katz

for [i 1 10] [repeat 10 [type form repcount*:i 4 0] pr[]]

(This one uses the text screen.)

Shell, 14W, Vered Katz

reset for [scr .2 1.75 .05] [setscrunch 1 :scr repeat 360 [fd :scr rt 1]]

(This one makes me as happy as a clam!)

Dahlia, 14W, David Eisenstat

reset repeat 8 [rt 45 repeat 6 [repeat 90 [fd 2 rt 2] rt 90]]

(The 6 can be replaced with 1 to 7 for other flowers.

For numbers greater than 7, the patterns repeat.)

Hypercube, 12W, Frank Caggiano

reset repeat 8 [repeat 4 [rt 90 fd 100] bk 100 lt 45]

(Logo enters a higher dimension!)

Pencil Sketch*, 15W, Andrzej Baczynski (shortened by Yehuda Katz)

reset repeat 5000 [run list item sum 1 random 4 [fd bk rt lt] random 10]

(Looks even more like a pencil sketch if you use px.)

Scribble, 15W, Keith Enevoldsen

reset repeat 1000 [fd 3 rt random int 20*(1+sin(10*repcount))]

Fan Flower, 12W, Keith Enevoldsen

reset repeat 12 [repeat 75 [fd 100 bk 100 rt 2] fd 250]

Current, 10W, George Mills

reset repeat 5100 [fd 10 rt arctan (remainder repcount 100)/100]

(Math is beautiful.)

Elliptical Spiral, 15W, George Mills

reset repeat 3600 [setxy repcount/10 * sin repcount repcount/20 * cos

repcount]

Tree Growth Rings, 13W, George Mills

reset repeat 36000 [setxy (sqrt repcount) * sin repcount (sqrt repcount) *

cos repcount]

(Pretty computer artifacts.)

Cloudy Night, 8W, George Mills

reset repeat 6000 [fd repcount rt remainder repcount 360]

(Happy stargazing.)

Simple Flower, 13W, Julie Clune

reset repeat 11 [for [i 0 359] [fd 1 rt (sin :i / 2)]]

(Why does the line match up exactly after

drawing 11 petals?)

Seconds, 15W, Zippi Katz

reset px st setpensize [5 5] repeat 1000 [fd 100 wait 40 bk 100 rt 6]

(Clever use of the triangular turtle.)

Self-Replicating, 13W, Brian Harvey

invoke [[x] print (list "invoke :x :x)] [[x] print (list "invoke :x :x)]

(This non-graphics one-liner prints itself.)

Basic Spinning Wheel variations 1-3, 15W, Greg Simkins' 6th grade class

reset define "spin [[][repeat 15 [fd 100 bk 100 rt 5]]] repeat 25 [spin fd

100]

reset define "spin [[][repeat 15 [fd 100 bk 95 rt 10]]] repeat 12 [spin fd

100]

reset pu setpos [-400 0] pd

define "spin [[][repeat 25 [fd 100 bk 100 rt 15]]] repeat 24 [spin fd 100]

Basic Spinning Wheel variations 1-3, 12W, shortened by Yehuda Katz

reset repeat 25 [repeat 15 [fd 100 bk 100 rt 5] fd 100]

reset repeat 12 [repeat 15 [fd 100 bk 95 rt 10] fd 100]

reset pu setpos [-400 0] pd

repeat 24 [repeat 25 [fd 100 bk 100 rt 15] fd 100]

Low, 15W, Alessio Plebe

reset pu setx -100 pd

for [i 0 32] [repeat :i [fd :i rt 358 / :i] bk sqrt :i]

Layers, 15W, Alessio Plebe

reset for [i 0 420] [seth :i repeat :i [fd 2 rt 1] pu home pd]

(A bit slow, but it's worth the wait.)

Black Sun, 13W, Alessio Plebe

reset repeat 2000 [pu home seth random 361 fd 40 pd fd random 200]

Hexagon, 15W, M.H. Elhefni

reset for [i 100 30 -50] [repeat 6 [repeat 6 [fd :i lt 60] lt 60]]

(Quasi-fractal.)

Pentahexagon, 10W, M.H. Elhefni

(shortened by Keith Enevoldsen)

reset repeat 5 [repeat 6 [fd 100 lt 72] lt 144]

Pentagon, 15W, M.H. Elhefni

reset for [i 100 10 -10] [repeat 5 [repeat 5 [fd :i lt 72] lt 72]]

Hexagon variation 1, 15W, Yehuda Katz

reset for [size 20 80 20] [repeat 6 [repeat 6 [fd :size rt 60] rt 60]]

ENTRANTS

Keep those contest entries coming!

E-mail your entry on or before June 1, 1997.

---------------------------------------------------------------