/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://cst1101.sketchpad.cc/sp/pad/view/ro.dG7qVHYkrQc/rev.31
*
* authors:
* kimyoonshik
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
// HW #8
// Kim Yoonshik
Snow mySnow; // object data type
Snow [] sky; // array called lot of "Car"s
void setup() {
cursor(CROSS);
sky = new Snow[400];
size(400, 500);
for (int i = 0; i < sky.length; i++) {
sky[i] = new Snow(color(random(100,255)), i*6, random(0, height), 2, i/20.0);
}
}
void draw() {
background(0);
fill(255);
ellipse(mouseX,mouseY,15,15);
for (int i = 0; i < sky.length; i++) {
sky[i].display();
sky[i].drop();
}
}
//------------------------- CLASS ----------------------------
class Snow {
color snowColor; // data
int snowX;
float snowY;
int snowSpeed;
float snowSize;
Snow(color snowColor_, int snowX_, float snowY_, int snowSpeed_, float snowSize_) { // constructor
snowColor = snowColor_;
snowX = snowX_;
snowY = snowY_;
snowSpeed = snowSpeed_;
snowSize = snowSize_;
}
void drop() { // methods
snowY = snowY + snowSpeed;
if (snowY > height) {
snowY = 0;
}
}
void display() { // methods
fill(snowColor);
stroke(255);
ellipse(snowX, snowY, snowSize, snowSize/1.5);
}
}