Question: Please edit the following code so that the ball changes color randomly every time it hits the wall. This needs to be made into a
Please edit the following code so that the ball changes color randomly every time it hits the wall. This needs to be made into a function that will go into utilities file. Use https://introcs.cs.princeton.edu/java/stdlib/ to build off of.
/****************************************************************************** * Compilation: javac BouncingBall.java * Execution: java BouncingBall * Dependencies: StdDraw.java * * Implementation of a 2-d bouncing ball in the box from (-1, -1) to (1, 1). * * % java BouncingBall * ******************************************************************************/
public class BouncingBall { public static void main(String[] args) {
// set the scale of the coordinate system StdDraw.setXscale(-1.0, 1.0); StdDraw.setYscale(-1.0, 1.0); StdDraw.enableDoubleBuffering();
// initial values double rx = 0.480, ry = 0.860; // position double vx = 0.015, vy = 0.023; // velocity double radius = 0.05; // radius
// main animation loop while (true) {
// bounce off wall according to law of elastic collision if (Math.abs(rx + vx) > 1.0 - radius) vx = -vx; if (Math.abs(ry + vy) > 1.0 - radius) vy = -vy;
// update position rx = rx + vx; ry = ry + vy;
// clear the background StdDraw.clear(StdDraw.LIGHT_GRAY);
// draw ball on the screen StdDraw.setPenColor(StdDraw.BLACK); StdDraw.filledCircle(rx, ry, radius);
// copy offscreen buffer to onscreen StdDraw.show();
// pause for 20 ms StdDraw.pause(10);
} } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
