In der integrierten Executefunktion meines Compilers funktioniert, das von mir geschriebene Spiel hier einwandtfrei. Sobald ich jedoch das Applet compiliere und hochlade komme ich genau so weit, wie hier:
http://jesusfreak777.je.funpic.de/Regen/Tropfen.html
Nur ein graues Etwas :-(
Mein Code ist das hier, falls das wem hilft.
Es wäre wirklich nett, wenn mir jemand sagen könnte, was mein Compiler falsch macht und warums auf dem Browser nicht läuft.
cya
David
PS: Es läuft nicht nur auf dem FTP nicht, sondern auch auf meinem PC nicht. Andere Applets gehn.
PPS: Der Code:
http://jesusfreak777.je.funpic.de/Regen/Tropfen.html
Nur ein graues Etwas :-(
Mein Code ist das hier, falls das wem hilft.
Es wäre wirklich nett, wenn mir jemand sagen könnte, was mein Compiler falsch macht und warums auf dem Browser nicht läuft.
cya
David
PS: Es läuft nicht nur auf dem FTP nicht, sondern auch auf meinem PC nicht. Andere Applets gehn.
PPS: Der Code:
Code:
import java.awt.*;
import java.applet.*;
import symantec.itools.awt.DirectionButton;
public class Tropfen extends java.applet.Applet implements java.lang.Runnable
{
int zeitlich=0,schlaf=40,x=-20,y=-20,ho=20,br=10,eimerx=0,eimery=266,eimerh=70,wind=2,eimerb=50,geschw=1,wasserstand=0,waterstand=0; //VARIABLEN int
int r=170,g=170,b=255,rwind=0;
boolean linkss=true; //VARIABLEN boolean
Thread wasser = null; //Thread "wasser" wird zu Anfang auf "nichts" gesetzt.
public void init()
{
add(wassser);
wassser.setBackground(java.awt.Color.white);
wassser.setBounds(0,0,1,1);
setLayout(null);
setBackground(new java.awt.Color(230,230,255));
setSize(563,429);
add(eimer);
eimer.setBackground(java.awt.Color.cyan);
eimer.setBounds(0,266,50,70);
add(links);
links.setBounds(24,384,15,15);
try {
unten.setDirection(symantec.itools.awt.DirectionButton.DOWN);
}
catch(java.beans.PropertyVetoException e) { }
add(unten);
unten.setBounds(48,408,15,15);
try {
rechts.setDirection(symantec.itools.awt.DirectionButton.RIGHT);
}
catch(java.beans.PropertyVetoException e) { }
add(rechts);
rechts.setBounds(72,384,15,15);
try {
oben.setDirection(symantec.itools.awt.DirectionButton.UP);
}
catch(java.beans.PropertyVetoException e) { }
add(oben);
oben.setBounds(48,360,15,15);
stopp.setLabel("Start");
add(stopp);
stopp.setBackground(java.awt.Color.green);
stopp.setFont(new Font("Dialog", Font.BOLD, 12));
stopp.setBounds(480,396,77,28);
add(bottom);
bottom.setBackground(java.awt.Color.black);
bottom.setBounds(0,336,564,3);
ausgabe.setText("0");
add(ausgabe);
ausgabe.setBounds(324,384,144,24);
waters.setText("Wasserstand:");
add(waters);
waters.setBounds(240,384,84,24);
MS.setText("ms");
add(MS);
MS.setBounds(180,384,24,24);
add(millisek);
millisek.setBounds(132,384,46,24);
SymMouse aSymMouse = new SymMouse();
stopp.addMouseListener(aSymMouse);
links.addMouseListener(aSymMouse);
rechts.addMouseListener(aSymMouse);
oben.addMouseListener(aSymMouse);
unten.addMouseListener(aSymMouse);
rechts.disable();
links.disable();
oben.disable();
unten.disable();
}
java.awt.Button wassser = new java.awt.Button();
java.awt.Label eimer = new java.awt.Label();
symantec.itools.awt.DirectionButton links = new symantec.itools.awt.DirectionButton();
symantec.itools.awt.DirectionButton unten = new symantec.itools.awt.DirectionButton();
symantec.itools.awt.DirectionButton rechts = new symantec.itools.awt.DirectionButton();
symantec.itools.awt.DirectionButton oben = new symantec.itools.awt.DirectionButton();
java.awt.Button stopp = new java.awt.Button();
java.awt.Canvas bottom = new java.awt.Canvas();
java.awt.Label ausgabe = new java.awt.Label();
java.awt.Label waters = new java.awt.Label();
java.awt.Label MS = new java.awt.Label();
java.awt.Label millisek = new java.awt.Label();
public void start()
{
wasser = new Thread(this);//Thread "wasser" wird im Arbeitsspeicherbereich DIESES Applets erstellt.
}
public void run()
{
x=(int)(Math.random()*563+1);
wind = (int)(Math.random()*5+1); //Zufallszahlen
rwind=(int)(Math.random()*12+1);
while(true)
{
eimer.setBounds(eimerx,eimery,eimerb,eimerh); //Veränderung der Position des Eimers mit 4 Positions und Koordinatenvariablen
try
{
wasser.sleep(schlaf); //Verzögerung variirt durch die Variable schlaf.
}
catch(InterruptedException e) //Fehler abfangen
{}
zeitlich=zeitlich+schlaf;
millisek.setText(""+zeitlich);
if(linkss==true) //Wurde als letztes Button "rechts" gedrückt
{ //so wird nun die Variable geschw um eins erhöht
if(eimerx<=513)
eimerx = eimerx + geschw; //und der Eimer bewegt sich nach rechts.
}
if(linkss==false) //Genau umgekehrt hier.
{
if(eimerx>=0)
eimerx = eimerx - geschw;
}
if(y>=247 && y<=250 && (x>=eimerx && x<=eimerx+50))
{
x=(int)(Math.random()*563+1);
rwind=(int)(Math.random()*12+1);
wind = (int)(Math.random()*5+1); //Zufallszahlen
y=0;
wasserstand++;
wassser.setBackground(new java.awt.Color(r,g,b));
r=r-10;
g=g-10;
if(wasserstand>=17)
{
ausgabe.setText("Der Eimer ist voll!");
wasser.stop();
}
else
ausgabe.setText(""+wasserstand);
}
else
{
if(y>=316)
{
y=0;
x=(int)(Math.random()*563+1);
wind = (int)(Math.random()*5+1); //Zufallszahlen
rwind=(int)(Math.random()*12+1);
repaint(); //Aufrufen der Paintmethode
}
else
{
y=y+wind; //y Pos vom Tropfen wird erhöht.
switch(rwind)
{
case 1:
if(x>=0)
{
x--;
}
else
rwind=2;
break;
case 2:
if(x<=553)
{
x++;
}
else
rwind=1;
break;
case 3:
if(x>=2)
{
x=x-2;
}
else
rwind=4;
break;
case 4:
if(x<=552)
{
x=x+2;
}
else
rwind=3;
break;
}
repaint();
}
}
}
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.fillOval(x,y,br,ho);
switch(wasserstand) //Je nachdem, wie der Wasserstand ist, wird auch das RECT gezeichnet.
{
case 0:
wassser.setBounds(eimerx+2,eimery,46,0);
break;
case 1:
wassser.setBounds(eimerx+2,66+eimery,46,4);
break;
case 2:
wassser.setBounds(eimerx+2,62+eimery,46,8);
break;
case 3:
wassser.setBounds(eimerx+2,58+eimery,46,12);
break;
case 4:
wassser.setBounds(eimerx+2,54+eimery,46,16);
break;
case 5:
wassser.setBounds(eimerx+2,50+eimery,46,20);
break;
case 6:
wassser.setBounds(eimerx+2,46+eimery,46,24);
break;
case 7:
wassser.setBounds(eimerx+2,42+eimery,46,28);
break;
case 8:
wassser.setBounds(eimerx+2,38+eimery,46,32);
break;
case 9:
wassser.setBounds(eimerx+2,34+eimery,46,36);
break;
case 10:
wassser.setBounds(eimerx+2,30+eimery,46,40);
break;
case 11:
wassser.setBounds(eimerx+2,26+eimery,46,44);
break;
case 12:
wassser.setBounds(eimerx+2,22+eimery,46,48);
break;
case 13:
wassser.setBounds(eimerx+2,18+eimery,46,52);
break;
case 14:
wassser.setBounds(eimerx+2,14+eimery,46,56);
break;
case 15:
wassser.setBounds(eimerx+2,10+eimery,46,60);
break;
case 16:
wassser.setBounds(eimerx+2,6+eimery,46,64);
break;
case 17:
wassser.setBounds(eimerx+2,2,46+eimery,68);
break;
}
}
public void stop()
{
wasser.stop();
Thread wasser = null;
}
class SymMouse extends java.awt.event.MouseAdapter
{
public void mousePressed(java.awt.event.MouseEvent event)
{
Object object = event.getSource();
if (object == stopp)
stopp_MousePressed(event);
else if (object == links)
links_mousePressed(event);
else if (object == rechts)
rechts_mousePressed(event);
else if (object == oben)
oben_mousePressed(event);
else if (object == unten)
unten_mousePressed(event);
}
}
void stopp_MousePressed(java.awt.event.MouseEvent event)
{
wasser.start(); //Thread "wasser" wird gestartet
stopp.disable();
rechts.enable();
links.enable();
oben.enable();
unten.enable();
}
void links_mousePressed(java.awt.event.MouseEvent event)
{
linkss=false; //Schlater "links" ist nun gedrückt.
}
void rechts_mousePressed(java.awt.event.MouseEvent event)
{
linkss=true; //Schlater "rechts" ist nun gedrückt.
}
void oben_mousePressed(java.awt.event.MouseEvent event)
{
geschw++; //Geschwindigkeitserhöhung
}
void unten_mousePressed(java.awt.event.MouseEvent event)
{
if(geschw>=2) //Geschwindigkeitserhöhung aber nur dann, wenn die Geschwindigkeit noch größer als 2 oder 2 ist.
geschw--;
}
}