7
7777
Gast
Ein Apfelschiessen, dessen Stopbutton nicht funktioniert!
Woran liegt das?
Selbst mein Lehrer hat den Fehler nicht gefunden :-(
Woran liegt das?
Selbst mein Lehrer hat den Fehler nicht gefunden :-(
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,treffer=0,farbe=0,schnell=0,ro=255,gr=255,bl=255;
double mausx=0,mausy=0,r=0,posyd=0,posxd=0,abstand=0;
float speedy=0;
Thread Apfelschiessen = null;
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Objekterstellung Objekterstellung Objekterstellung Objekterstellung
//Labels
java.awt.Label ausgabe = new java.awt.Label();
java.awt.Label punkte = new java.awt.Label();
java.awt.Label speed = new java.awt.Label();
//Labels
//Textfelder
java.awt.TextField geschw = new java.awt.TextField();
//Textfelder
//Buttons
java.awt.Button los = new java.awt.Button();
java.awt.Button stopp= new java.awt.Button();
//Buttons
//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(50,0,50,20);
add(punkte);
punkte.setBounds(0,0,50,20);
punkte.setText("Punkte:");
add(speed);
speed.setBounds(0,20,50,20);
speed.setText("Speed:");
//Labels
//Textfelder
add(geschw);
geschw.setBounds(50,20,50,20);
geschw.setText("1000");
//Textfelder
//Butttons
add(los);
los.setBounds(360,360,40,40);
los.setForeground(new java.awt.Color(17,189,255));
los.setBackground(Color.black);
los.setLabel("LOS!");
add(stopp);
stopp.setBounds(320,360,40,40);
stopp.setForeground(new java.awt.Color(17,189,255));
stopp.setBackground(Color.black);
stopp.setLabel("STOP!");
stopp.disable();
//Buttons
//Maus MAUS Maus MAUS Maus MAUS Listener
Listen Mauslistener = new Listen();
this.addMouseListener(Mauslistener);
stopp.addMouseListener(Mauslistener);
los.addMouseListener(Mauslistener);
//Maus MAUS Maus MAUS Maus MAUS Listener ENDE
setBackground(Color.white);
}
//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);
else if(maus==stopp)
buttondruck(Ereignis);
else if(maus==los)
losdruck(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)
{
f1=(int)(Math.random()*200);
f2=(int)(Math.random()*200);
f3=(int)(Math.random()*200);
f4=(int)(Math.random()*200);
farbe=(int)(Math.random()*11+1);
posx=(int)(Math.random()*300+10);
posy=(int)(Math.random()*300+40);
b=(int)(Math.random()*70+40);
repaint();
Float Speedy=Float.valueOf(geschw.getText());
float speedy=Speedy.floatValue();
schnell=(int)speedy;
try
{
Apfelschiessen.sleep(schnell);
}
catch(InterruptedException e)
{
}
}
}
public void start()
{
Apfelschiessen = new Thread(this);
Apfelschiessen.start();
}
public void stop()
{
Apfelschiessen.stop();
Apfelschiessen=null;
}
public void paint(Graphics g)
{
switch(farbe)
{
case 1:g.setColor(Color.red); break;
case 2:g.setColor(Color.green); break;
case 3:g.setColor(Color.yellow); break;
case 4:g.setColor(Color.blue); break;
case 5:g.setColor(Color.orange); break;
case 6:g.setColor(Color.magenta); break;
case 7:g.setColor(Color.cyan); break;
case 8:g.setColor(Color.pink); break;
case 9:g.setColor(Color.darkGray); break;
case 10:g.setColor(Color.black); break;
default:g.setColor(new Color(f1,f2,f3,f4));break;
}
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
public void formdruck(java.awt.event.MouseEvent Ereignis)
{
mausx=Ereignis.getX();
mausy=Ereignis.getY();
posxd=(double)posx;
posyd=(double)posy;
r=(double)b;
abstand=Math.sqrt((Math.pow((posxd+(r/2)-mausx),2))+ (Math.pow((posyd+(r/2)-mausy),2)));
if(abstand<=(r/2))
{
switch(farbe)
{
case 1:treffer=treffer+100; break;
case 2:treffer=treffer+25; break;
case 3:treffer=treffer+50; break;
case 4:treffer=treffer+75; break;
case 5:treffer=treffer+10; break;
case 6:treffer=treffer+5; break;
case 7:treffer=treffer+5; break;
case 8:treffer=treffer+5; break;
case 9:treffer=treffer+3; break;
case 10:treffer=treffer-50;break;
default:treffer=treffer+150;break;
}
ro=ro-2;
gr=gr-1;
this.setBackground(new Color(ro,gr,bl));
if(treffer<0)
treffer=0;
ausgabe.setText(""+treffer);
b=0;
repaint();
}
}
public void buttondruck(java.awt.event.MouseEvent Ereignis)
{
/* los.enable();
stop.disable(); */
stop();
}
public void losdruck(java.awt.event.MouseEvent Ereignis)
{
Thread Apfelschiessen = new Thread(this);
Apfelschiessen.start();
los.disable();
stopp.enable();
}
/*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 */
}