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
Next revision Both sides next revision
spcs:2015:day4 [2015/07/08 21:38]
ffpaladin
spcs:2015:day4 [2015/07/09 00:57]
ffpaladin [Class Assignments]
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 35: Line 34:
  
 <code java> <code java>
 +
 +// Selection Sort
  
  
Line 88: Line 89:
  
 <code java> <code java>
 +
 +
 +// Credit: RadioTech@Github
 +// Visual Sort
  
 int i = 0, j = 0; int i = 0, j = 0;
Line 148: Line 153:
   ​   ​
 </​code>​ </​code>​
 +
 +<code java>
 +
 +// Car Objects from Processing.org
 +
 +// Example: Two Car objects
 +Car myCar1;
 +Car myCar2; // Two objects!
 +
 +void setup() {
 +  size(200,​200);​
 +  // 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() {
 +  background(255);​
 +  myCar1.drive();​
 +  myCar1.display();​
 +  myCar2.drive();​
 +  myCar2.display();​
 +}
 +
 +// Even though there are multiple objects, we still only need one class. ​
 +// No matter how many cookies we make, only one cookie cutter is needed.
 +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() {
 +    stroke(0);
 +    fill(c);
 +    rectMode(CENTER);​
 +    rect(xpos,​ypos,​20,​10);​
 +  }
 +
 +  void drive() {
 +    xpos = xpos + xspeed;
 +    if (xpos > width) {
 +      xpos = 0;
 +    }
 +  }
 +}
 +
 +</​code>​
 +
 +<code java>
 +
 +// Credit: Neel
 +
 +int[] cheesesticks = {200, 40, 170, 50, 70, 60, 80, 90, 190, 150, 100, 110, 120, 140, 180, 130, 20, 160, 30, 10};
 +
 +int i = -1;
 +int j = 0;
 +int min;
 +
 +void setup() {
 +  size (250, 250);
 +}
 +
 +void draw() {
 +  ​
 +  background(200);​
 +  ​
 +  // only runs after j reaches 20  ​
 +  if ((j == 20) && (i < 19)) {
 + 
 +     i++;
 +     ​j=i+1;​
 +     min = cheesesticks[i];​
 +  }
 + 
 +  // runs as long as j is less than 20
 +  if (j < 20) {
 + 
 +    if (cheesesticks[j] < min){
 +      min = cheesesticks[j];​
 +      //swap
 +      int temp = cheesesticks[i];​
 +      cheesesticks[i] = cheesesticks[j];​
 +      cheesesticks[j] = temp;
 +    }
 +    j++;
 +  }
 +  ​
 +  fill(#​EA5353);​
 +
 +for (int i=0; i<20; i++)
 +  {
 +    rect(0, i*10,​cheesesticks[i],​ 5);
 +  }
 +
 +
 +
 +</​code>​
 +
/soe/sherol/.html/teaching/data/pages/spcs/2015/day4.txt · Last modified: 2015/07/09 05:26 by ffpaladin