From 62dae744d6e11aaea693f12dab7530adc7e7dac8 Mon Sep 17 00:00:00 2001 From: fpia Date: Fri, 11 Dec 2015 13:10:12 -0500 Subject: [PATCH] 3 balls --- BouncyBallOOP/Ball.pde | 42 +++++++++++++++++++++++++++++++++ BouncyBallOOP/BouncyBallOOP.pde | 15 +++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/BouncyBallOOP/Ball.pde b/BouncyBallOOP/Ball.pde index dcdc86d..5432fcc 100644 --- a/BouncyBallOOP/Ball.pde +++ b/BouncyBallOOP/Ball.pde @@ -8,13 +8,55 @@ class Ball { Ball() { diam = 200; loc = new PVector(random(diam, width-diam), random(diam, height-diam)); + vel = PVector.random2D(); + vel.mult(20); + c = color(random(255), random(50), random(100, 255)); + } + + Ball(int tDiam) { + diam = tDiam; + loc = new PVector(random(diam, width-diam), random(diam, height-diam)); + vel = PVector.random2D(); + vel.mult(10); c = color(random(255), random(50), random(100, 255)); } + Ball(float tX, float tY) { + diam = 50; + loc = new PVector(tX, tY); + vel = PVector.random2D(); + vel.mult(30); + c = color(0, 255, 0); + } + Ball(float tX, float tY, int tDiam) { + diam = tDiam; + loc = new PVector(tX, tY); + vel = PVector.random2D(); + vel.mult(5); + c = color( 255, 0 ,45); + } + //after declaring fields and setting up constructors, you can define your methods void display() { fill(c); noStroke(); ellipse(loc.x, loc.y, diam, diam); } + void move() {loc.add(vel); +} + + void bounce() { + if (loc.x >= width){ + vel.x *= -1; + } + if (loc.x <= 0){ + vel.x *= -1; + } + if (loc.y >= height){ + vel.y *= -1; + } + if (loc.y <= 0){ + vel.y *= -1; + } + } } \ No newline at end of file diff --git a/BouncyBallOOP/BouncyBallOOP.pde b/BouncyBallOOP/BouncyBallOOP.pde index 97b4782..7abdb64 100644 --- a/BouncyBallOOP/BouncyBallOOP.pde +++ b/BouncyBallOOP/BouncyBallOOP.pde @@ -1,11 +1,24 @@ Ball b; //declare a new ball called b - +Ball c; +Ball d; void setup() { size(1600, 1200); b = new Ball(); //initialize b as a new object of the Ball class + c = new Ball(); + d = new Ball(25, 13, 14); } + void draw() { background(0); b.display(); //call b's display() method + c.display(); + d.display(); + b.move(); + c.move(); + d.move(); + d.bounce(); + b.bounce(); + c.bounce(); + } \ No newline at end of file