Write a program that can draw 2-D shapes using ASCII or any other method Rules (not too restrictive; flexible):

1.Must be able to draw shapes on command (e.g., I type in "square" and a square is drawn).

Minimum completed shapes that can be drawn on command: Square, Circle, Triangle, Pentagon.

2.Must also be able to also draw shapes vertex-by-vertex, specified by a command function that gives the user an input to determine line segment lengths between points in succession.

The program has to give the option to make polygons as well, but incomplete 2-D shapes, circles, unclosed planes, and non-polygons shall be allowed.

Winner: Most votes.
Logo
Just install it!
Then things like triangles, squares, pentagons and circles are defined as:
to triangle :length
    polygon :length 3
end

to square :length
    polygon :length 4
end

to pentagon :length
    polygon :length 5
end

to circle :length
    polygon :length 360
end

to polygon :length :sides
    repeat :sides [forward :length right 360/:sides]
end

Easy peasy lemon squeezy...