Question: A ball bounces inside a given rectangle, starting at the rectangle's bottom left corner at (0, 0) and initially moving in the northeast direction. When

A ball bounces inside a given rectangle, starting at the rectangle's bottom left corner at (0, 0) and initially moving in the northeast direction. When the ball bounces on a wall, it turns 90 degrees clockwise. If it bounces on a corner, its direction reverses. The move method advances its position by one unit in the (x)-direction (left or right) and one unit in the (y)-direction (up or down).

Please complete in java.

Ball.java

/** This class models a ball that bounces off walls. */ public class Ball { // Instance variables /* Your code goes here */ /** Constructs a ball at (0, 0) traveling northeast. @param rightWall the position of the wall to the right @param topWall the position of the wall at the top */ public Ball(int rightWall, int topWall) { /* Your code goes here */ } /** Moves the ball. */ public void move() { /* Your code goes here */ } /** Turns the ball direction 90 degrees clockwise. */ private void turn() { /* Your code goes here */ } /** Gets the current x-position. @return the x-position */ public int getX() { /* Your code goes here */ } /** Gets the current y-position. @return the y-position */ public int getY() { /* Your code goes here */ } }

BallTester.java

A ball bounces inside a given rectangle, starting at the rectangle's bottom

public class BallTester { public static void main(String[] args) { Ball balli = new Ball(6, 4); System.out.println(balli.getX() + " " + balli.getY()); System.out.println("Expected: 0 0"); balll.move(); System.out.println(balll.getX() + " " + balll.getY()); System.out.println("Expected: 1 1"); balll.move(); System.out.println(balli.getX() + + balli.getY()); System.out.println("Expected: 2 2"); balll.move(); balll.move(); System.out.println(balli.getX() + + ball1.getY()); System.out.println("Expected: 4 4"); balll.move(); System.out.println(balll.getX() + "" + balli.getY()); System.out.println("Expected: 5 3"); balli.move(); System.out.println(balli.getX() + "" + balli.getY(); System.out.println("Expected: 6 2"); balll.move(); System.out.println(balli.getX() + " " + balli.getY()); System.out.println("Expected: 5 l"); balll.move(); System.out.println(balli.getX() + " " + balli.getY()); System.out.println("Expected: 40"); balll.move(); System.out.println(balli.getX() + "" + balli.getY()); System.out.println("Expected: 31"); Ball ball2 = new Ball(10, 10); for (int i = 1; i

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!