/****************************************************************** * File Name: Asteroids * Author: Gabriel Duarte * Student Number: 991433574 * Date: Sept 22, 2016 * Description: An asteroids inspired interactive drawing where the vertical mouse position controls the placement and alpha of the asteroids and the horizontal mouse position controls where the ship is. Also, the stars are paralaxed towards the mouse and the screen flases when the mouse is clicked. ******************************************************************/ //Executed at begining: void setup() { size(400, 400); } //Everyy frame: void draw() { //Sets backgound to black: background(0); //Draws stars: fill(255); /*0*/ ellipse(mouseX/12+347, -mouseY/12+332, 2, 2); /*1*/ ellipse(mouseX/12+67, -mouseY/12+44, 2, 2); /*2*/ ellipse(mouseX/12+137, -mouseY/12+109, 2, 2); /*3*/ ellipse(mouseX/12+66, -mouseY/12+223, 2, 2); /*4*/ ellipse(mouseX/12+69, -mouseY/12+275, 2, 2); /*5*/ ellipse(mouseX/12+279, -mouseY/12+193, 2, 2); /*6*/ ellipse(mouseX/12+342, -mouseY/12+56, 2, 2); /*7*/ ellipse(mouseX/12+133, -mouseY/12+256, 2, 2); /*8*/ ellipse(mouseX/12+58, -mouseY/12+345, 2, 2); /*9*/ ellipse(mouseX/12+149, -mouseY/12+300, 2, 2); /*10*/ ellipse(mouseX/12+356, -mouseY/12+295, 2, 2); /*11*/ ellipse(mouseX/8+72, -mouseY/8+43, 2, 2); /*12*/ ellipse(mouseX/8+305, -mouseY/8+195, 2, 2); /*13*/ ellipse(mouseX/8+250, -mouseY/8+302, 2, 2); /*14*/ ellipse(mouseX/8+226, -mouseY/8+138, 2, 2); /*15*/ ellipse(mouseX/8+269, -mouseY/8+94, 2, 2); /*16*/ ellipse(mouseX/8+1, -mouseY/8+296, 2, 2); /*17*/ ellipse(mouseX/8+136, -mouseY/8+135, 2, 2); /*18*/ ellipse(mouseX/8+388, -mouseY/8+384, 2, 2); /*19*/ ellipse(mouseX/8+302, -mouseY/8+187, 2, 2); /*20*/ ellipse(mouseX/8+374, -mouseY/8+205, 2, 2); /*21*/ ellipse(mouseX/15+215, -mouseY/15+151, 2, 2); /*22*/ ellipse(mouseX/15+386, -mouseY/15+96, 2, 2); /*23*/ ellipse(mouseX/15+224, -mouseY/15+326, 2, 2); /*24*/ ellipse(mouseX/15+165, -mouseY/15+292, 2, 2); /*25*/ ellipse(mouseX/15+356, -mouseY/15+241, 2, 2); /*26*/ ellipse(mouseX/15+373, -mouseY/15+376, 2, 2); /*27*/ ellipse(mouseX/15+246, -mouseY/15+247, 2, 2); /*28*/ ellipse(mouseX/15+396, -mouseY/15+176, 2, 2); /*29*/ ellipse(mouseX/15+310, -mouseY/15+275, 2, 2); /*30*/ ellipse(mouseX/15+28, -mouseY/15+162, 2, 2); //DRAWS ALL ASTEROIDS: //Makes asteroids transparent: stroke(255, 255, 255, mouseY-30); fill(0, 0, 0, mouseY+80); //Asteroid_1 quad( 60, (mouseY-10)+50, 140, (mouseY-50)+50, 170, (mouseY+30)+50, 100, (mouseY+30)+50 ); //Asteroid_2: quad( 250, (mouseY-20), 310, (mouseY-20), 300, (mouseY+20), 270, (mouseY+10) ); //Asteroid_3: quad( 140+30, (mouseY+10)-30, 145+30, (mouseY-10)-30, 160+30, (mouseY-5)-30, 150+30, (mouseY+10)-30 ); //Asteroid_4: quad( 90-30, (mouseY+50)-80, 50-30, (mouseY+10)-80, 70-30, (mouseY-20)-80, 130-30, (mouseY-30)-80 ); //Asteroid_5: quad( 230+60, (mouseY)-85, 280+60, (mouseY-10)-85, 310+60, (mouseY-40)-85, 300+60, (mouseY+20)-85 ); //Asteroid_6: quad( 220, (mouseY-10)-140, 210, (mouseY-10)-140, 220, (mouseY+20)-140, 240, (mouseY)-140 ); //Asteroid_7: quad( 220, mouseY-250, 240, mouseY-200, 300, mouseY-210, 310, mouseY-255 ); //Asteroid_8: quad( 50, mouseY-300, 100, mouseY-200, 150, mouseY-210, 190, mouseY-255 ); //Draws ship: fill(0); stroke(255); quad( mouseX-10, 340, mouseX, 320, mouseX+10, 340, mouseX, 335 ); //Sets the cursor: fill(0); stroke(255); ellipse(mouseX, mouseY, 3, 3); line(mouseX, mouseY-4, mouseX, mouseY-8); line(mouseX, mouseY+4, mouseX, mouseY+8); line(mouseX-4, mouseY, mouseX-8, mouseY); line(mouseX+4, mouseY, mouseX+8, mouseY); } //Mouse click "flash": void mousePressed() { fill(random(255), random(255), random(255), 255); rect(0, 0, width, height); }