Hallo Leute,
Ich habe ein Spiel geschrieben, was Applecatch heißen soll. Dazu habe ich bisher schon einige Fragen gestellt und ich bin jetzt fast fertig.
Es hakt nurnoch an einer Stelle.
Am besten erkläre ich erst einmal, wie genau ich das überhaupt programmiert habe.
Und zwar entstehen mit Hilfe eines Threads immer per Zufall verschiedene Kugeln auf dem Bildschirm.
Diese lass ich mit der Funktion fillOval() zufälllig erscheinen.
Diese Funktion erwartet vier Integerwerte.
fillOval(posx,posy,breite,breite)
Die Variablen heißen bei mir:
fillOval(posx,posy,b,b);
Pro Klick auf die Form habe ich außerdem noch zwei weiter variablen, die bei jedem Klick ausgelesen werden.
Diese nennen sich mausx und mausy.
Eine weitere Variable bei mir wäre "Abstand", die den Abstand zwischen Mausklickstelle und Kreismittelpunkt darstellt.
Das mit dem Treffen oder nicht treffen habe ich jetzt einfach so gedacht:
Hierbei nutze ich das mit Pythagoras.
Die Formel für den Abstand wäre also dann:
a² = ((b/2)+posx-mausx)²+((b/2)+posy-mausy)²
Ich müsste nun also nurnoch aus dem hinteren Teil die Wurzel ziehen und ich hätte den Abstand zwischen Mausklickpunkt und der Kreismitte.
Der Rest ist ein Katzensprung:
Ich frage einfach ab ob der Abstand zwischen Mauszeiger und Kreismittelpunkt kleiner oder größer als "b/2"- also der Radius des Kreises- ist.
Ist das der Fall habe ich getroffen.
In der Praxis sah das bei mir dann hier so aus:
Der Compiler meckert auch nicht oder so etwas in der Art aber es gibt nie einen Treffer.
Hat einer von euch vielleicht eine Ahnung worin mein Fehler bestehen könnte???
Wäre sehr lieb von euch, denn ich habe schon seit drei Stunden keine Lösung meines Problems und bin jetzt recht denkensmüde xD
David
PS:

Ich habe ein Spiel geschrieben, was Applecatch heißen soll. Dazu habe ich bisher schon einige Fragen gestellt und ich bin jetzt fast fertig.
Es hakt nurnoch an einer Stelle.
Am besten erkläre ich erst einmal, wie genau ich das überhaupt programmiert habe.
Und zwar entstehen mit Hilfe eines Threads immer per Zufall verschiedene Kugeln auf dem Bildschirm.
Diese lass ich mit der Funktion fillOval() zufälllig erscheinen.
Diese Funktion erwartet vier Integerwerte.
fillOval(posx,posy,breite,breite)
Die Variablen heißen bei mir:
fillOval(posx,posy,b,b);
Pro Klick auf die Form habe ich außerdem noch zwei weiter variablen, die bei jedem Klick ausgelesen werden.
Diese nennen sich mausx und mausy.
Eine weitere Variable bei mir wäre "Abstand", die den Abstand zwischen Mausklickstelle und Kreismittelpunkt darstellt.
Das mit dem Treffen oder nicht treffen habe ich jetzt einfach so gedacht:
Hierbei nutze ich das mit Pythagoras.
Die Formel für den Abstand wäre also dann:
a² = ((b/2)+posx-mausx)²+((b/2)+posy-mausy)²
Ich müsste nun also nurnoch aus dem hinteren Teil die Wurzel ziehen und ich hätte den Abstand zwischen Mausklickpunkt und der Kreismitte.
Der Rest ist ein Katzensprung:
Ich frage einfach ab ob der Abstand zwischen Mauszeiger und Kreismittelpunkt kleiner oder größer als "b/2"- also der Radius des Kreises- ist.
Ist das der Fall habe ich getroffen.
In der Praxis sah das bei mir dann hier so aus:
Code:
abstand=Math.sqrt((Math.pow((posxd+r-mausx),2))+ (Math.pow((posyd+r-mausy),2)));
if(abstand<=r)
{
ausgabe.setText("TREFFER!!!");
}
else
ausgabe.setText("");
}
Der Compiler meckert auch nicht oder so etwas in der Art aber es gibt nie einen Treffer.
Hat einer von euch vielleicht eine Ahnung worin mein Fehler bestehen könnte???
Wäre sehr lieb von euch, denn ich habe schon seit drei Stunden keine Lösung meines Problems und bin jetzt recht denkensmüde xD
David
PS: