Objektorientierte Programmierung WS 2013/2014 - Datei Ball.java
//
// general purpose reusable bouncing ball abstraction
// Described in Chapter 5 of
// Understanding Object-Oriented Programming with Java
// by Timothy A Budd
// Published by Addison-Wesley
//
import java.awt.*;
public class Ball {
protected Rectangle location;
protected double dx;
protected double dy;
protected Color color;
public Ball(int x, int y, int r) {
location = new Rectangle(x - r, y - r, 2 * r, 2 * r);
dx = 0;
dy = 0;
color = Color.blue;
}
public void setColor(Color newColor) {
color = newColor;
}
public void setMotion(double ndx, double ndy) {
dx = ndx;
dy = ndy;
}
public int radius() {
return location.width / 2;
}
public int x() {
return location.x + radius();
}
public int y() {
return location.y + radius();
}
public double xMotion() {
return dx;
}
public double yMotion() {
return dy;
}
public Rectangle region() {
return location;
}
public void moveTo(int x, int y) {
location.setLocation(x, y);
}
public void move() {
location.translate((int) dx, (int) dy);
}
public void paint(Graphics g) {
g.setColor(color);
g.fillOval(location.x, location.y, location.width, location.height);
}
}
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 05.11.2013


