Wer ein wenig Lust hat zu denken kann mir ja mal bei meinem Problem helfen.
Wie schon gesagt habe ich ein Apfelschiessen programmiert.
Am Bildschirm tauchen per Zufall verschiedene Bälle auf, die der User abschiessen muss.
Diese tauchen mit Hilfe "SetOval" etc auf.
Ich habe nun mit Hilfe des Satz des Pythagoras probiert das Programm so weiter zu bekommen, dass in ein Label Oben am Bildschirm ein "hallo" erscheinen soll wenn man einen apfel getroffen hat.
Leider funktioniert meine Formel nicht richtig- der hat nen Problem mit dem wurzel ziehen:
if((sqrt((posx+r-mausx)*(posx+r-mausx))+((posy+r-mausy)*(posy+r-mausy)))<=r)
Woran könnte das liegen?
cya
David
Wie schon gesagt habe ich ein Apfelschiessen programmiert.
Am Bildschirm tauchen per Zufall verschiedene Bälle auf, die der User abschiessen muss.
Diese tauchen mit Hilfe "SetOval" etc auf.
Ich habe nun mit Hilfe des Satz des Pythagoras probiert das Programm so weiter zu bekommen, dass in ein Label Oben am Bildschirm ein "hallo" erscheinen soll wenn man einen apfel getroffen hat.
Leider funktioniert meine Formel nicht richtig- der hat nen Problem mit dem wurzel ziehen:
if((sqrt((posx+r-mausx)*(posx+r-mausx))+((posy+r-mausy)*(posy+r-mausy)))<=r)
Woran könnte das liegen?
Code:
import java.awt.*;
import java.applet.*;
public class Applecatch extends java.applet.Applet implements Runnable
{
int f1=0,f2=0,f3=0,f4=0,a=0,b=0,h=0,posx=0,posy=0,mausx=0,mausy=0,r=0;
Thread Apfelschiessen = null;
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
java.awt.Label ausgabe = new java.awt.Label();
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
public void init()
{
setLayout(null);
setSize(400,400);
setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.CROSSHAIR_CURSOR));
//Labels
add(ausgabe);
ausgabe.setBounds(0,0,200,20);
//Labels
//Maus MAUS Maus MAUS Maus MAUS Listener
Listen Mauslistener = new Listen();
this.addMouseListener(Mauslistener);
//Maus MAUS Maus MAUS Maus MAUS Listener ENDE
}
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
class Listen extends java.awt.event.MouseAdapter
{
public void mousePressed(java.awt.event.MouseEvent Ereignis)
{
Object maus = Ereignis.getSource();
if(maus==Applecatch.this)
formdruck(Ereignis);
}
}
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
//MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS MAUS
public void run()
{
while(true)
{
repaint();
try
{
Apfelschiessen.sleep(1000);
}
catch(InterruptedException e)
{
}
}
}
public void start()
{
Thread Apfelschiessen = new Thread(this);
Apfelschiessen.start();
}
public void paint(Graphics g)
{
f1=(int)(Math.random()*200);
f2=(int)(Math.random()*200);
f3=(int)(Math.random()*200);
f4=(int)(Math.random()*200);
posx=(int)(Math.random()*300+10);
posy=(int)(Math.random()*300+10);
b=(int)(Math.random()*100+10);
g.setColor(new Color(f1,f2,f3,f4));
g.fillOval(posx,posy,b,b);
try
{
Apfelschiessen.sleep(1500);
}
catch(InterruptedException e)
{
}
f1=(int)(Math.random()*200);
f2=(int)(Math.random()*200);
f3=(int)(Math.random()*200);
f4=(int)(Math.random()*200);
posx=(int)(Math.random()*300+10);
posy=(int)(Math.random()*300+10);
b=(int)(Math.random()*100+10);
g.setColor(new Color(f1,f2,f3,f4));
g.fillOval(posx,posy,b,b);
}
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
void formdruck(java.awt.event.MouseEvent Ereignis)
{
mausx=Ereignis.getX();
mausy=Ereignis.getY();
r=b/2;
if((sqrt((posx+r-mausx)*(posx+r-mausx))+((posy+r-mausy)*(posy+r-mausy)))<=r)
{
ausgabe.setText("HALLO");
}
else
{
ausgabe.setText("WOS");
}
}
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE
//OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE OBJEKTE Ende
}
cya
David