Hallo, ich bin gerade dabei das Spiel Pong zu programmieren und bin dabei auf ein Problem gestoßen.
Ich habe 3 Klassen, eine Klasse in der der Ball erstellt wird, eine in der die Paddels erstellt werden und noch eine die alles zusammenfügt.
Nun meine Frage: Ich will, dass in der Ball-Klasse festgelegt wird, dass der Ball wenn er oben bzw. unten anstößt, umkehrt, und dasselbe wenn er auf ein Paddel stößt. Das mit den Rändern hab ich schon, aber jetzt ist meine Frage: Wie kann ich mir immer die aktuelle Position des Paddels anzeigen lassen?
Hier meine Ball-Klasse
Und hier die Paddle-Klasse
Danke schonmal im Vorraus!
Ich habe 3 Klassen, eine Klasse in der der Ball erstellt wird, eine in der die Paddels erstellt werden und noch eine die alles zusammenfügt.
Nun meine Frage: Ich will, dass in der Ball-Klasse festgelegt wird, dass der Ball wenn er oben bzw. unten anstößt, umkehrt, und dasselbe wenn er auf ein Paddel stößt. Das mit den Rändern hab ich schon, aber jetzt ist meine Frage: Wie kann ich mir immer die aktuelle Position des Paddels anzeigen lassen?
Hier meine Ball-Klasse
Java:
import de.ur.mi.graphics.*;
public class Ball {
// screen properties
private static final int SCREEN_WIDTH = 320;
private static final int SCREEN_HEIGHT = 240;
// ball properties (size and speed)
private static final int BALL_SIZE = SCREEN_WIDTH / 32;
private static final int BALL_SPEED = SCREEN_WIDTH / 160;
private static Color BALL_COLOR = Color.WHITE;
private int speedXAxis = 1;
private int speedYAxis = 1;
private static Ellipse ball;
public Ball(int xPos, int yPos) {
ball = new Ellipse(xPos, yPos, BALL_SIZE, BALL_SIZE, BALL_COLOR);
}
public void move() {
ball.move(BALL_SPEED * speedXAxis, BALL_SPEED * speedYAxis);
}
public void checkWallCollision(int width, int height) {
if (ball.getTopBorder() <= 0) {
speedYAxis *= -1;
} else if (ball.getBottomBorder() >= height) {
speedYAxis *= -1;
}
}
public void draw() {
ball.draw();
}
}
Und hier die Paddle-Klasse
Java:
import de.ur.mi.graphics.*;
public class Paddle{
private static int PADDLE_WIDTH = 10;
private static int PADDLE_HEIGHT = 50;
private static Color PADDLE_COLOR = Color.WHITE;
private Rect paddlePlayerOne;
private Rect paddlePlayerTwo;
public Paddle(int xPos, int yPos) {
paddlePlayerOne = new Rect(xPos, yPos, PADDLE_WIDTH, PADDLE_HEIGHT, PADDLE_COLOR);
paddlePlayerTwo = new Rect(xPos, yPos, PADDLE_WIDTH, PADDLE_HEIGHT, PADDLE_COLOR);
}
public void draw() {
paddlePlayerOne.draw();
paddlePlayerTwo.draw();
}
public void move(int xDiff, int yDiff) {
paddlePlayerOne.move(xDiff, yDiff);
paddlePlayerTwo.move(xDiff, yDiff);
}
}
Danke schonmal im Vorraus!