J
Joww
Gast
also leute, ich habe folgendes Problem:
ICh muss bis nächste woche ein Schulprojekt programmieren mit dem Titel Inkball (Windows Vista Game).
Es geht darum, dass ein Ball in ein Loch geführt werden muss, mithilfe von Linien die mit der Maus gezeichnet werden sollen.
Der Ball prallt an der Linie ab und auch an den Blöcken.
ich beschäftige mich schon mind einer woche mit der Abprallfunktion des Balles an den Blöcken und ich kriegs einfach nicht hin. Glaubt mir, ich bin wirklich keiner, der in iwelche Foren geht nur aus Faulheit oder sonst was, sondern weil meine Jahresnote daon abhängt und ich einfach nichtmehr weiter komm.
Ich hab folgenden Code bereits geschrieben und ich hoffe es kann mir wer weiterhelfen!
ICh muss bis nächste woche ein Schulprojekt programmieren mit dem Titel Inkball (Windows Vista Game).
Es geht darum, dass ein Ball in ein Loch geführt werden muss, mithilfe von Linien die mit der Maus gezeichnet werden sollen.
Der Ball prallt an der Linie ab und auch an den Blöcken.
ich beschäftige mich schon mind einer woche mit der Abprallfunktion des Balles an den Blöcken und ich kriegs einfach nicht hin. Glaubt mir, ich bin wirklich keiner, der in iwelche Foren geht nur aus Faulheit oder sonst was, sondern weil meine Jahresnote daon abhängt und ich einfach nichtmehr weiter komm.
Ich hab folgenden Code bereits geschrieben und ich hoffe es kann mir wer weiterhelfen!
Java:
if (b.Overlaps(bl)) {
boolean down = (!(bl.getPosY() + bl.getSizeY() <= b.getPosY())) && ((bl.getPosX() + bl.getSizeX() >= b.getPosX() + b.getSizeX()) && (bl.getPosX() <= b.getPosX() + b.getSizeX()));
boolean up = (!(bl.getPosY() >= b.getPosY() + b.getSizeY())) && ((bl.getPosX() + bl.getSizeX() >= b.getPosX() + b.getSizeX()) && (bl.getPosX() <= b.getPosX() + b.getSizeX()));
boolean right = (!(bl.getPosX() + bl.getSizeX() <= b.getPosX())) && ((bl.getPosY() + bl.getSizeY() >= b.getPosY() + b.getSizeY()) && (bl.getPosY() <= b.getPosY() + b.getSizeY()));
boolean left = (!(bl.getPosX() >= b.getPosX() + b.getSizeX())) && ((bl.getPosY() + bl.getSizeY() >= b.getPosY()) && (bl.getPosY() <= b.getPosY() + b.getSizeY()));
if(down) {
//System.out.println("DOWN");
//b.dy = b.dy * (-1);
b.dy = -Math.abs(b.dy);
}
if(up) {
//System.out.println ("UP");
//b.dy = b.dy * (-1);
b.dy = Math.abs(b.dy);
}
if(right) {
//System.out.println("RIGHT");
//b.dx = b.dx * (-1);
b.dx = Math.abs(b.dx);
}
if(left) {
//System.out.println("LEFT");
//b.dx = b.dx * (-1);
b.dx = -Math.abs(b.dx);
}
}
public boolean Overlaps(FBlock bl){
return ((this.posY + this.sizeY > bl.getPosY()) &&
(this.posY < bl.getPosY() + bl.getSizeX()) &&
(this.posX + this.sizeX > bl.getPosX()) &&
(this.posX < bl.getPosX() + bl.getSizeX()));
}
[code=Java]
im obigen code steht bl für block und b für den ball.
bitte wenn mir wer helfen könnte wäre echt toll und wenn ich am kompletten Holzweg bin, dann gebt mir tipps wie mans noch machn kann.
im Voraus schonmal danke.
lg