Objektorientierte Programmierung WS 2013/2014 - Datei KatzUndMaus.java
import java.awt.*; import java.awt.event.*; import java.util.Vector; import java.util.Enumeration; public class KatzUndMaus extends Frame { public static final int FRAMEWIDTH = 600; public static final int FRAMEHEIGHT = 400; public static final int SPEED = 5; public static final int RADIUS = 8; // die beiden Baelle private SpielBall ball1; private SpielBall ball2; // Fuer das DoubleBuffering private Graphics bufferGraphics; private Image buffer; private void bufferInit () { // wir zeichnen in einen Puffer buffer = this.createImage(FRAMEWIDTH, FRAMEHEIGHT); bufferGraphics = buffer.getGraphics(); } public static void main (String[] args) { new KatzUndMaus().setVisible(true); } public KatzUndMaus () { setTitle("Katz und Maus"); setSize(FRAMEWIDTH, FRAMEHEIGHT); setBackground(Color.white); WindowListener wl = new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }; addWindowListener(wl); ball1 = new SpielBall(20, FRAMEHEIGHT - 20, RADIUS, 0, 0, FRAMEWIDTH, FRAMEHEIGHT); ball1.setRolle(new Maus(ball1, this)); ball1.setColor(Color.blue); ball2 = new SpielBall(FRAMEWIDTH - 20, 40, RADIUS, 0, 0, FRAMEWIDTH, FRAMEHEIGHT); ball2.setRolle(new Katze(ball2, ball1)); ball2.setColor(Color.red); repaint(); } public void paint (Graphics g) { if (buffer == null) bufferInit(); // loesche Puffer bufferGraphics.setColor(Color.white); bufferGraphics.fillRect(0, 0, FRAMEWIDTH, FRAMEHEIGHT); ball1.moveSpielBall(); ball2.moveSpielBall(); ball1.paintSpielBall(bufferGraphics); ball2.paintSpielBall(bufferGraphics); g.drawImage(buffer, 0, 0, this); try { Thread.sleep(10); } catch (InterruptedException e) { System.exit(0); } repaint(); } public void update (Graphics g) { paint(g); } }
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 26.11.2013