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;
}
// 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: 26.11.2013


