# Before You Begin

Before you can begin utilizing turtle graphics, you must be sure to import the turtle module and create a Turtle.

```import turtle
t = turtle.Turtle()
```

# Simple Movement

#### Forward

Using this command the turtle can move forward a given number of spaces (pixels).

Note: If a negative value is provided, the turtle will move backwards

`forward(value)` `fd(value)`
```# turtle moves forward 100 spaces
t.forward(100)
```

#### Backward

Using this command the turtle can move backward a given number of spaces (pixels).

Note: If a negative value is provided, the turtle will move forward.

`backward(value)` `back(value)` `bk(value)`
```# turtle moves backward 100 spaces
t.backward(100)
```

#### Right

Using this command the turtle can turn right a given number of degrees.

Note: If a negative degree is given, the turtle will turn left.

`right(degrees)` `rt(degrees)`
```# Turns the turtle right 90 degrees.
t.right(90)
```

#### Left

Using this command the turtle can turn left a given number of degrees.

Note: If a negative degree is given, the turtle will turn right.

`left(degrees)` `lt(degrees)`
```# Turns the turtle left 90 degrees.
t.left(90)
```

#### Circle

Using this command the turtle moves in a circlular patter of a given radius.

Note: The turtle's starting point is point of the circle (not the center). The turtle rotates to the it's left as it makes the circle.

`circle(radius)`
```# Moves around circle of radius 50
t.circle(50)
```

This command can also be used to move over only a portion of a circle (arc) if a second degree measure (measure of the arc) is given.

`circle(radius, degrees)`
```# Moves 180 degrees around a circle of radius 75
t.circle(75,180)
```

#### Speed

This command can be used to alter the speed of the turtle. The lower the value, the quicker the turtle animates. A value of 0 is fastest

`speed(5)`
```# Sets the speed of the turtle to 5 (a normal speed)
t.speed(5)
```

#### SetX

This command moves the turtle to the x-coordinate value specified. The canvas mimics a Cartesian coordinate system whose center is (0,0).

Note: This moves the turtle to the specified position, so if the turtle's pen is down, the turtle will draw.

`setx(value)`
```# Sets the x-coordinate of the turtle to -100
t.setx(-100)
```

#### SetY

This command moves the turtle to the x-coordinate value specified. The canvas mimics a Cartesian coordinate system whose center is (0,0).

Note: This moves the turtle to the specified position, so if the turtle's pen is down, the turtle will draw.

`sety(value)`
```# Sets the y-coordinate of the turtle to 100
t.sety(100)
```

#### SetPos

This command sets both the x and y-coordinate at the same time.

Note: This moves the turtle to the specified position, so if the turtle's pen is down, the turtle will draw.

`setpos(x,y)`
```# Sets the position of the turtle to (-100,100)
t.setpos(-100,100)
```

This command sets the turtle's heading to the specified degree measure. Headings are given in degrees where 0 points to right, 90 points up, 180 points left, and 270 points down.

`setheading(degree)` `seth(degree)`
```# Causes the turtle to face up and to the right (northeast).
```

#### Home

This command sends the turtle back to its home position, the origin (0,0). If the turtle's pen is down, it will draw as it is sent back home.

`home()`
```# Sends the turtle home
t.home()
```

# Drawing Tools

#### PenDown

Puts the turtle's pen down so that it draws as it moves (default setting).

`pendown()` `pd()` `down()`
```# Put's the turtle's pen down
t.pendown()
```

#### PenUp

Puts the turtle's pen in the up position so that it does not draw as it moves.

`penup()` `pu()` `up()`
```# Put's the turtle's pen up
t.penup()
```

#### PenSize

Sets the width of the turtle's pen.

`pensize(width)` `width(width)`
```# Sets the pen size to 3
t.pensize(5)
```

#### Fill

Turns the turtle's fill mode on and off. When on, the turtle fills the shapes as it draws them. The command requires a boolean value (True/False) indicates whether fill mode should be on.

`fill(boolean)`
```# Turns fill mode on
t.fill(True)
# Turns fill mode off
t.fill(False)
```

#### PenColor

Set's the turtle's pen color. The pen color can be set to any HTML/CSS recognized color string. More information on HTML colors can be found here.

`pencolor("{color}")`
```# Sets the pen color to red
t.pencolor("red")
```

This method can also used by providing an amount of red, green, blue, and opactity (alpha). Each color amount is an integer value between 0 and 255 and the opacity is a floating-point value between 0 and 1 (0 = transparent).

`pencolor(red, green, blue, alpha)`
```# Sets the pen color to half transparent blue.
t.pencolor(0,0,255,0.5)
```

#### FillColor

Set's the turtle's fill color. The fill color can be set to any HTML/CSS recognized color string. More information on HTML colors can be found here.

`pencolor("{color}")`
```# Sets the fill color to light grey
t.fillcolor("#CCCCCC")
```

This method can also used by providing an amount of red, green, blue, and opactity (alpha). Each color amount is an integer value between 0 and 255 and the opacity is a floating-point value between 0 and 1 (0 = transparent).

`fillcolor(red, green, blue, alpha)`
```# Sets the fill color to a semi-transparent green.
t.fillcolor(0,255,0,0.85)
```

# Clearing & Reseting

#### Clear

Clears the turtle's canvas, causing all drawings to be erased.

`clear()`
```# Clears the canvas
t.clear()
```

#### Reset

Clears the turtle's canvas and resets all settings and positioning of the turtle.

`reset()`
```# Resets the canvas and turtle
t.reset()
```

# Utility

#### HideTurtle

Hides the turtle from view

`hideturtle()` `ht()`
```# Hides the turtle
t.hideturtle()
```

#### ShowTurtle

Shows the turtle on the canvas.

`showturtle()` `st()`
```# Shows the turtle
t.showturtle()
```

#### IsVisible

Returns a boolean indicating whether the turtle is visible.

`isvisible()`
```# If the turtle is not visible, show it.
if not(t.isvisible()):
t.showturtle()
```

#### IsDown

Returns a boolean indicating whether the turtle's pen is down.

`isdown()`
```# If the pen is down, it picks it up
if t.isdown():
t.penup()
```