Rules: * Must have return after each line even if it is the last line of the program * Capitalize the first letters of the command then use camel case (Note: This is not required but encouraged) Functions: * Move * Moves in a what ever direction you are pointing * Syntax: Move\n * TurnLeft * Turns your arrow one direction to the left * Syntax: TurnLeft\n * Paint * Paints the current square black * Syntax: Paint\n * Erase * If current square is colored it will change it to blank * Syntax: Erase\n * TurnRight * Turns your arrow one direction to the right * TurnAround * Turns your arrow to face the opposite direction Loops and Conditionals: * While loop * Uses conditions to repeat a segment of code until condition is not met * Syntax: while(condition){\n }\n * For-Loop * Runs a segment of code a specific amount of times before moving on * Syntax: for( x = startValue; x < someNumber; +/-){\n }\n * If-statement * Uses a condition and if that condition is met then it runs a certain segment of code * If-Else statement * Uses a condition and if that condition is met then it runs a specific segment of code * If condition is not met it runs a different segment of code * Syntax: else { \n }\n Conditions: * NotBlocked * Checks to see if next move is blocked based on current direction * Syntax: notBlocked * IsPainted * Checks to see if current square is painted * Syntax: isPainted * NotPainted * Checks to see if current square is not painted * Syntax: notPainted * LeftBlocked * Checks if square to your left is blocked * Syntax: LeftBlocked * RightBlocked * Checks if square to your right is blocked * Syntax: RightBlocked * BehindBlocked * Checks if square behind you is blocked * Syntax: BehindBlocked