Hi,
ich wollte eine Spiel machen wo Astereoiden kommen und eine Kanone steht in der Mitte und man muss versuchen die Astereoiden abzuschießen. Ich will jetzt aber zufällig ein Winkel berechnen lassen um in dann mit der Drehmatrix die Koordinaten auszurechnen.... leider bin ich noch sechste Klasse und habe versucht es zu verstehen meine Lehrerin hat es auch Versucht und ich GLAUBE das ich sie verstanden habe! Aber so wie das gerade beim programmieren läuft bin ich wieder am verzweifeln.... Es soll um einen zufälligen Winkel um die Kanone drehen! Ich poste mal hier den Code den ich bis jetzt so probiert habe!
Die Fenster.drehpunktAx und Fenster.drehpunktAy bezieht sich auf den Punkt der gedreht werden soll ich glaube bei diesem Punkt ist auch irgendwie der Fehler..... Außerdem bezieht sich Fenster.xKanone und Fenster.yKanone auf das Drehzentrum(die Kanone).
MFG ostylk
ich wollte eine Spiel machen wo Astereoiden kommen und eine Kanone steht in der Mitte und man muss versuchen die Astereoiden abzuschießen. Ich will jetzt aber zufällig ein Winkel berechnen lassen um in dann mit der Drehmatrix die Koordinaten auszurechnen.... leider bin ich noch sechste Klasse und habe versucht es zu verstehen meine Lehrerin hat es auch Versucht und ich GLAUBE das ich sie verstanden habe! Aber so wie das gerade beim programmieren läuft bin ich wieder am verzweifeln.... Es soll um einen zufälligen Winkel um die Kanone drehen! Ich poste mal hier den Code den ich bis jetzt so probiert habe!
Java:
int winkel = rnd.nextInt(360);
if(winkel > 0 && winkel < 360){
System.out.println("Winkel: " + winkel);
double cos1 = Math.cos(winkel);
System.out.println("Cos1: " + cos1);
double sin1 = Math.sin(winkel);
double sin2 = Math.sin(winkel);
sin1 *= -1;
System.out.println("Sin1: " + sin1);
System.out.println("Sin2: " + sin2);
int drehVectorx = Fenster.drehpunktAx - Fenster.xKanone;
int drehVectory = Fenster.drehpunktAy - Fenster.yKanone;
System.out.println("DrehvectorX: " + drehVectorx);
System.out.println("DrehvectorY: " + drehVectory);
double vorX = cos1 * drehVectorx + sin1 * drehVectory;
double vorY = sin2 * drehVectorx + cos1 * drehVectory;
System.out.println("vorX: " + vorX);
System.out.println("vorY: " + vorY);
int x = (int) (vorX + Fenster.xKanone);
int y = (int) (vorY + Fenster.yKanone);
System.out.println("X: " + x);
System.out.println("Y: " + y);
}
MFG ostylk