Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

Question

Implement all the classes using Java programming language from the given UML Class diagram.

Note: This problem requires you to submit only one class: Ball.java.

Do NOT include "public static void main()" method inside all of these classes. Graders will be testing your classes, using the unit-testing framework JUnit 4.

A class called Ball is designed as shown in the class diagram.

The Ball class contains the following private instance variables:

  • x, y and radius, which represent the ball's center (x, y) co-ordinates and the radius, respectively.
  • xDelta (Δx) and yDelta (Δy), which represent the displacement (movement) per step, in the x and y direction respectively.

The Ball class contains the following public methods:

  • A constructor which accepts x, y, radius, speed, and direction as arguments. For user friendliness, user specifies speed (in pixels per step) and direction (in degrees in the range of (-180°, 180°]). For the internal operations, the speed and direction are to be converted to (Δx, Δy) in the internal representation. Note that the y-axis of the Java graphics coordinate system is inverted, i.e., the origin (0, 0) is located at the top-left corner.
  • Δx = d × cos(θ)      Δy = -d × sin(θ)

    Hint: You will find Math.cos() and Math.toRadians(direction) static methods usefull. Don't forget that "d" is a speed.

 

  • Getter and setter for all the instance variables.
  • A method move() which move the ball by one step.  x += Δx              y += Δy
  • reflectHorizontal() which reflects the ball horizontally (i.e., hitting a vertical wall)     Δx = -Δx        Δy no changes
  • reflectVertical() (the ball hits a horizontal wall).Δx no changes Δy = -Δy
  • toString() which prints the message "Ball at (x, y) of velocity (Δx, Δy)".

Write and submit the Ball class.

Ax
d (speed)
O (direction)
Ay
User's Polar
Java Graphics
Co-ordinates system
Co-ordinates
expand button
Transcribed Image Text:Ax d (speed) O (direction) Ay User's Polar Java Graphics Co-ordinates system Co-ordinates
Ball
-x:float
-y:float
-radius:int
Each move step advances x and y
by Ax and Ay. Ax and Ay could be
positive or negative.
|-xDelta:float
-yDelta:float
+Ball(x:float,y:float,radius:int
speed:int, direction:int)
+getX():float
+setX(x:float):void
+getY():float
+setY(y:float):void
+getRadius ():int
+setRadius (radius:int):void
+getXDelta():float
+setXDelta(xDelta:float):void
+getYDelta():float
+setYDelta(yDelta:float):void
+move ():void•-
+reflectHorizontal():voide
+reflectVertical():void•
+toString():String
Move one step:
х +3 Дх; у +3D Ду;
Ax = -Ax
Ay = -Ay
"Ball[(x,y),speed%-D(Ax,Ay)]"
expand button
Transcribed Image Text:Ball -x:float -y:float -radius:int Each move step advances x and y by Ax and Ay. Ax and Ay could be positive or negative. |-xDelta:float -yDelta:float +Ball(x:float,y:float,radius:int speed:int, direction:int) +getX():float +setX(x:float):void +getY():float +setY(y:float):void +getRadius ():int +setRadius (radius:int):void +getXDelta():float +setXDelta(xDelta:float):void +getYDelta():float +setYDelta(yDelta:float):void +move ():void•- +reflectHorizontal():voide +reflectVertical():void• +toString():String Move one step: х +3 Дх; у +3D Ду; Ax = -Ax Ay = -Ay "Ball[(x,y),speed%-D(Ax,Ay)]"
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education