User Tools

Site Tools


spcs:2015:day4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
spcs:2015:day4 [2015/07/08 21:56]
ffpaladin
spcs:2015:day4 [2015/07/09 05:26] (current)
ffpaladin
Line 17: Line 17:
     - Step 2: make it visual with rectangles     - Step 2: make it visual with rectangles
     - http://​visualgo.net/​sorting.html     - http://​visualgo.net/​sorting.html
-  - **Processing: ​Physics** - Create objects that represent physics. You can make it more realistic, like with gravity if you are able. +  - **Processing: ​Seurat Painting** - How do we make a Seurat Painting animation in Processing 
-  - **Processing: Simulation** - Pick a simulation that will teach me something. +    Step 1: Make an animation 
-  **Processing: Make a Game** - To make a game, give it interactions and a winning condition (Ludus and Paida). +    Step 2: Make it so that the user can change the size of the circle
-  **Processing (Bonus)Interaction** - Make any of the above MORE interactive.+
   - **Github** - You can store your processing projects directly there and run them with Processing.js - Read: http://​processingjs.org/​articles/​jsQuickStart.html (Similar to yesterday)   - **Github** - You can store your processing projects directly there and run them with Processing.js - Read: http://​processingjs.org/​articles/​jsQuickStart.html (Similar to yesterday)
  
Line 157: Line 156:
 <code java> <code java>
  
-// Car Objects from Processing.org+// Credit: Neel
  
-// Example: Two Car objects +int[] cheesesticks = {200, 40, 170, 50, 70, 60, 80, 90, 190, 150, 100, 110, 120, 140, 180, 130, 20, 160, 30, 10}; 
-Car myCar1+ 
-Car myCar2// Two objects!+int i = -1; 
 +int j = 0
 +int min;
  
 void setup() { void setup() {
-  size(200,200); +  size (250250);
-  // Parameters go inside the parentheses when the object is constructed. +
-  myCar1 = new Car(color(255,​0,​0),​0,​100,​2);​  +
-  myCar2 = new Car(color(0,​0,​255),​0,​10,​1);+
 } }
  
 void draw() { void draw() {
-  ​background(255);​ +   
-  ​myCar1.drive(); +  ​background(200); 
-  ​myCar1.display();​ +   
-  ​myCar2.drive();​ +  // only runs after j reaches 20   
-  myCar2.display();​ +  ​if ((j == 20) && (i < 19)) { 
-+  
- +     i++
-// Even though there are multiple objects, we still only need one class.  +     j=i+1
-// No matter how many cookies we make, only one cookie cutter is needed. +     min cheesesticks[i];
-class Car {  +
-  color c; +
-  float xpos; +
-  float ypos; +
-  float xspeed; +
- +
-  // The Constructor is defined with arguments. +
-  ​Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {  +
-    c = tempC; +
-    xpos = tempXpos+
-    ​ypos ​tempYpos+
-    ​xspeed ​tempXspeed;+
   }   }
- +  
-  ​void display() { +  ​// runs as long as j is less than 20 
-    ​stroke(0); +  if (j < 20) { 
-    ​fill(c)+  
-    ​rectMode(CENTER)+    ​if (cheesesticks[j] < min)
-    ​rect(xpos,​ypos,​20,​10);+      min = cheesesticks[j]
 +      //​swap 
 +      int temp = cheesesticks[i]
 +      ​cheesesticks[i] = cheesesticks[j];​ 
 +      cheesesticks[j] = temp
 +    ​
 +    j++;
   }   }
 +  ​
 +  fill(#​EA5353);​
  
-  void drive() { +for (int i=0; i<20; i++) 
-    ​xpos = xpos + xspeed; +  ​
-    if (xpos > width+    ​rect(0, i*10,​cheesesticks[i],​ 5);
-      xpos = 0; +
-    }+
   }   }
-}+ 
 +
  
 </​code>​ </​code>​
  
/soe/sherol/.html/teaching/data/attic/spcs/2015/day4.1436417816.txt.gz · Last modified: 2015/07/08 21:56 by ffpaladin