Objektorientierte Programmierung WS 2013/2014 - Datei Ball.java
//
// general purpose reusable bounding ball abstraction
//
// From Chapter 5 of
// Understanging Object-Oriented Programming with Java
// Written by Tim Budd
// Published by Addison-Wesley Longman
//
// See ftp://ftp.cs.orst.edu/pub/budd/java/ReadMe.html
// for further information
//
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;
}
// functions that set attributes
public void setColor(Color newColor) {
color = newColor;
}
public void setMotion(double ndx, double ndy) {
dx = ndx;
dy = ndy;
}
// functions that access attributes of ball
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;
}
// functions that change attributes of ball
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: 06.01.2014


