This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
spcs:2015:day4 [2015/07/08 21:56] ffpaladin |
spcs:2015:day4 [2015/07/09 05:26] 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 153: | Line 152: | ||
} | } | ||
| | ||
+ | </code> | ||
+ | |||
+ | |||
</code> | </code> | ||
<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 (250, 250); |
- | // 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> | ||