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

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
Get step-by-step solutions from verified subject matter experts
