## Interactive Games and Animations

#### Terms

Abstraction
A simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
AND operation
Boolean operation: only evaluates to true when both of the operands are true
Animation
A series of images that create the illusion of motion by being shown rapidly one after the other.
Argument
a value passed to a function when the function is called.
Assignment statement
changes the value that is held in a variable
Boolean
A single value of either TRUE or FALSE.
Boolean algebra
Branch of mathematics and logic dedicated to boolean constants (true, false) and boolean operations
Boolean Expression
In programming, an expression that evaluates to True or False.
bounce function
Makes the sprite and the target bounce when they touch each other. Both the sprite and the target change how they are moving.
bounceOff function
Makes the sprite bounce off the target. The target keeps moving normally.
Branching logic
Pathways in code that diverge based on whether certain conditions are met or not.
Bug
Part of a program that does not work correctly.
collide function
Makes the sprite stop when it runs into the target. If the target is moving, it will push the sprite with it. The target keeps moving normally.
Conditional
Statement that only runs under certain conditions.
Counter pattern
A software pattern where a numeric variable changes by a set amount each time through a loop
createEdgeSprites function
De Morgan's Law
A Boolean law, which states that distribution of a NOT operation over AND/OR will change the other operation to OR/AND.
Debugging
Finding and fixing problems in an algorithm or program.
displace function
Allows one sprite to "push" another sprite around the screen
Draw function
A function in Game Lab that executes over and over again.
Draw loop
A function in Game Lab that executes over and over again.
Equality operator
Comparison/logical operator: evaluates to true when the operands have the same value.
Expression
Any valid unit of code that resolves to a value.
Frame
A single image within an animation.
Frame Rate
The rate at which frames in an animation are shown, typically measured in frames per second.
Function
A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.A named group of programming instructions. Functions are reusable abstractions that reduce the complexity of writing and maintaining programs.
Game design process
A formalized method for creating a game by describing the big picture and visualizing it, then breaking it down into sprites and variables and functions
George Boole
Founder of Boolean logic, a mathematician who suggested a new form of propositional logic where sentences are either true or false
Greater than operator
Comparison/logical operator: evaluates to true when the left operand has a value more than the right operand.
Greater than or equal operator
Comparison/logical operator: evaluates to true when the left operand's value is at least as great as the right operand's.
IDE
Short for Integrated Development Environment, this represents a way to create, test and debug code in some language.
Identifier
In programming, this is the name given to a variable, method, class or other user-nameable segment of code
If-Else
Sets up two code pathways: one when a condition is met, another when the condition is not met
If-Statement
The common programming structure that implements "conditional statements".
Inequality operator
Comparison/logical operator: evaluates to true when the two operands have different values.
isTouching function
checks to see if one sprite's image intersects with the image of another sprite
Knights and knaves
Class of logic problems supposing an island where each inhabitant either only lies or only tells the truth
Less than operator
Comparison/logical operator: evaluates to true when the left operand's value is lower than the right operand's value.
Less than or equal operator
Comparison/logical operator: evaluates to true when the right operand's value is at least as great as the left operand's value.
Local variable
A variable that is only accessible within a function where it is declared
Logical operator
Type of operator that evaluates one or more values and returns a boolean result of true or false
NOT operation
Boolean operation: flips the truth value of its operand.
OR operation
Boolean operation: only evaluates to false when both operands are false; true otherwise.
Parameter
An extra piece of information passed to a function to customize it for a specific need.
Parameter default value
What a parameter is set to when an argument is not supplied. Parameters with default values must be at the end of the list of parameters.
Program
An algorithm that has been coded into something that can be run by a machine.
Program statement
A part of a program that executes a single action.
Property
Attribute that describes an object's characteristics.
Reserved word
A word that has a special meaning to the programming language
setAnimation function
setCollider function
Changes the way that one sprite will interact visually with other sprites it comes into direct contact with. Options are "rectangle" or "circle".
setTimeout function
Short-circuit evaluation
Type of logical operation that will stop execution if a condition is reached about the first operator.
Sprite
A graphic character on the screen with properties that describe its location, movement, and look.
Sprite bounciness property
How quickly a sprite moves away from another sprite it bounces off of. 1 will be the same speed but opposite directions.
Sprite velocityX property
How quickly a sprite is moving along the x axis
Sprite velocityY property
How quickly a sprite is moving along the y axis
Statement block
A set of program statements that execute one after the other.
Statement terminator
A special character indicating the end of a program statement
String concatenation
Connecting two strings together, often using the + operator
String literal
A series of characters between quotation marks, written directly into code
Syntax
The vocabulary and grammar of a language, programming or otherwise.
Syntax error
A problem with the vocabulary or grammar of a program.
timedLoop function
Truth table
A method of analyzing boolean expressions by investigating their truth values under all possible input conditions
Variable
A placeholder for a piece of information that can change.
Variable Declaration
A program creating a variable in memory and giving that memory location a label
Variable scope
The range of code that has access to view and modify the value of a variable