1 / 27

Variables

Variables. animation scripting. c sc 233. Lesson Two:. Variables What are they? Declaring and initializing variables Common uses for variables Variables you get “for free” in Processing Aka: Built-in variables Using random values for variables. The basics. The computer has memory

jerica
Download Presentation

Variables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Variables animation scripting csc 233

  2. Lesson Two: • Variables • What are they? • Declaring and initializing variables • Common uses for variables • Variables you get “for free” in Processing • Aka: Built-invariables • Using random values for variables Learning Processing: Slides by Don Smith

  3. The basics • The computer has memory • The computer uses that memory to remember data it needs • A variable is a pointer to a location in the computer’s memory where that data is stored • Variables allow a programmer to save information from one point in the program and refer back to it at a later time • Variables can keep track of information related to shapes, color, size, location • The power of a variable is not that it remembers a value, but that those values can vary and we can alter them. • The value of the variable can change overtime Learning Processing: Slides by Don Smith

  4. What is a variable? • Variable Analogies: • Different sizes • Like a bucket • Like a locker • Like a post-it note • Like a shoe box • Like a dresser drawer • Graph Paper/Spreadsheet • Many ‘storage’ places, all with unique locations (x,y) • In Excel, E3 could be named ‘Billy’s Score’ • Billy’s score can change! A B C D E F 1 2 3 4 5

  5. What is a variability? • Consider this analogy • In a game of Scrabble: • The paper is the “computer memory” • Billy’s score and Jane’s score are the names of variables • The score is a specific Type of data • The score value changes as the game progresses • three ingredients for a variable • Data Type • Name • Value Billy’s score 5 20 53 83 101 Jane’s Score 10 25 47 68 85

  6. What is a variable? • In Algebra: • x = y * z • Named with single letters to represent some number • In Programming: • We use longer, more descriptive names • Variables refer to ‘memory locations’ • Stored in ‘RAM’ • Random Access Memory • Have a ‘size’ • How many bytes of memory ‘wide’ Learning Processing: Slides by Don Smith

  7. Variable Declaration & Initialization • Variables can hold primitive values or references to objects and arrays. For now we will just focus on primitive values • Primitive values are the building blocks of data on the computer and typically involve a singular piece of information, like a number or character. • Before you can use a variable in a program it has to be declared. By declaring the variable you tell the computer the kind of data the variable will contain. This is called the Data type • Give the variable a Unique name. • You can also assign the variable a value, but you do not have to at the time of the declaration. Learning Processing: Slides by Don Smith

  8. Data Types What is a Data Type? • Each type requires a specific amount of storage and the type declaration lets the computer know how much storage to reserve for that variable • ‘Primitive’ types include three main categories • Integers (int)– Whole Numbers (positive and negative), no fractions • Floating point (float) – Numbers with fractional parts and exponents • Characters (char)– One letter that you can type : inside of single quotes • ‘ A’, ‘ B’, ‘C’, ‘a’, ‘b’, ‘1’, ‘2’, ‘3’, ‘%’,’‘&’…. Learning Processing: Slides by Don Smith

  9. All Primitive Types • Integer Types • byte: A very small number (-127 to +128) • short: A small number (-3,2768 to +3,2767) • int: A big number (-2,147,483,648 to +2,147,483,647) • long: A really huge number • Floating Point Types • float: A decimal number such as 3.14159 • double: A huge decimal number used for advanced mathematics • Other Types • boolean: true orfalse (0 or 1) • char: One symbol in single quotes ‘a’

  10. Primitive Type Examples • Integer Types • byte: 123 • short: 1984 • int: 1784523 • long: 234345456789 • Floating Point Types • float: 4.0 • double: 3.14159 • Other Types • boolean: true • char: ‘a’ Learning Processing: Slides by Don Smith

  11. Numeric versus ‘Character’ types • How do you decide if you need a numeric or a character type? • If you plan on doing ‘math’ on the variable, then you MUST use a numeric type • What is the letter ‘a’ times the letter ‘c’? • Notice the single quotes around characters • If you plan on using “Strings” (later), they are just words made up of characters. • “Bob” and “Mary” are Strings (of characters) • Notice the double quotes around strings • What is the string “Bob” times the string “Mary”? Learning Processing: Slides by Don Smith

  12. Variable name • What is in a name • Variables are declared by… • first defining the data type: int (integers), float (floats), char (characters), etc • Second giving the variable a name: • Must be one word (no spaces) • Must start with a letter (not a number) numbers can be used in the name • Must not contain punctuation or special characters • Underscore is allowed in name • it needs to make sense and be descriptive • Example: intcount; data type is Integer, the variable name is count • End the declaration with the semi colon. Learning Processing: Slides by Don Smith

  13. Best Practices for variable names • There are some ‘rules’ and some ‘best practices’ • Rules • Letters, Digits and underscore ( _ ) are OK to use • Cannot start with a digit ( 0,1,…9 ) • Cannot use reserved words • mouseX, int, size.. • Best Practices • Use descriptive names • booleanmoreToDo; • Use ‘camelHump’ notation • Start with lower case • Each new word starts with Upper Case Learning Processing: Slides by Don Smith

  14. Declaring & Initializing Variables • Setting an initial value into the contents of the variable • Pseudocode: Set NumPlayers to 5 • Can be done in two ways: • During Declaration: On one line • int count = 50; // declare and initialize • After declaration: On two lines • int count; // declare the variable • count = 50; // initialize the value • Can also be initialized with a calculation! • int max = 100; • int min = 10; • int count = max – min; // calculation Learning Processing: Slides by Don Smith

  15. Declaration & Initialization examples Type name (optional initialization) ; int count = 0; // Declare an int , initialized to 0 char letter = 'a'; // Declare a char, initialized to 'a' double d = 132.32; // Declare a double, initialized to 132.32 boolean happy = false; // Declare a boolean, initialized to false float x = 4.0; // Declare a float, initialized to 4.0 float y; // Declare a float (no assignment) float z = x * y + 15.0;// Declare a float, initialize it to // x times y plus 15.0. After declaration Assignments: count = 1; letter = ‘b’; happy = true; y = x + 5.2; // Assign the value of x plus 5.2 Learning Processing: Slides by Don Smith

  16. Declaration & Initialization issues • You can only initialize a variable to a value of the same, or compatible type. • Which initializations are compatible? • int count = ‘a’; • char letter = 0; • double deposit = “Fred”; • boolean happy = 1; • float feet = 6; • int inches = feet * 12; • long giant = feet * 3.0; Learning Processing: Slides by Don Smith

  17. Declaration & Initialization issues • If you forget to assign a value to a variable Processing will assign a default value of… • Int = 0 • float = 0.0 Its good to always initialize a value to avoid confusion. Learning Processing: Slides by Don Smith

  18. Where to declare variables • Remember that your code is in ‘blocks’ • Variables can go inside or outside these blocks • For now, we will put them ‘outside’ (before) blocks

  19. Pong Variables • What variables would be required to play? Learning Processing: Slides by Don Smith

  20. Try this:varying variables: • Remember that processing calls draw()in a loop • If you want the variable to change every time: • Declare and initialize it outside of draw()! • Change it inside draw()! Moves as circleX increases 

  21. What happens in example 4.3? • circleXIs initialized to 0 • Used first time draw()is called • ellipse(circleX, circleY, 50,50); • Then circleX = circleX + 1; • Next time draw()is called, circleX is 1 • ellipse(circleX, circleY, 50,50); • Then circleX = circleX + 1; • Next time draw()is called, circleX is 2 • ellipse(circleX, circleY, 50,50); • Then circleX = circleX + 1; • .. Until circleXis over 200, and the circle just moves off the right side of the screen, never to be seen again! • It is often useful to make a ‘table’ of all of the variables that are being changed every time through a ‘loop’ Learning Processing: Slides by Don Smith

  22. Using Many Variables Make things more interesting using more variables! • Declare and initialize them outside of draw()! • Change them inside draw()!

  23. System Variables • Processing provides many ‘built-in’ variables: • These are not for you to play with, but may change! • mouseX , mouseY, pmouseXandpmouseY • width: Width (in pixels) of sketch window • height: Height (in pixels) of sketch window • frameCount: Number of frames processed • frameRate: Rate (per sec.) that frames are processed • key: Most recent key pressed on keyboard • keyCode: Numeric code for which key pressed • mousePressed: True or false (pressed or not?) • mouseButton: Which button (left, right, center) Learning Processing: Slides by Don Smith

  24. Random: Variety is the spice of life • Processing (and all programming languages) provide a way to get a random value when your program runs. • random()is a ‘function’ that returns a float • You can assign this number to a variable and use it! • Some examples: Learning Processing: Slides by Don Smith

  25. casting • (int) • Since random()returns a floating point number and w is an int, we need to change the type from floatto int. • This is called ‘casting’ • random(1,100) ; • (1,100) are ‘parameters’ which tell the random function the range of numbers to return • w will be between 1 and 99 (not quite 100) Learning Processing: Slides by Don Smith

  26. Moving Zoogor your own characterstart simple, then work your way up to moving your entire character across the screen • Use variables and random() to make a Zoog or your character move from upper left to lower right of the screen. • Plan! • Declare variables • Use variables • Use Random Learning Processing: Slides by Don Smith

  27. Summary • Variables have names and types • There are rules and best practices for naming variables • You must declare your variables • Determines the ‘type’, size of storage, and maximum values • You can initialize variables in different ways • Variables have many uses to programmers • processing provides ‘system’ (built-in) variables • You can use random numbers to make your program run differently every time Learning Processing: Slides by Don Smith

More Related