# applet stockt nur auf meiner kiste



## van jong (13. Nov 2005)

Hallöchen,
ich beschäftige mich gerade ein wenig mit java und nur zum spaß bastel ich mir ein kleines pong spiel...
alles soweit so gut aber aus mir unerfindlichen gründen stockt der ball beim "durchdasappletrollen".... allerdings auch nur auf meiner kiste, bei anderen leuten läuft das ding einwandfrei.... meine hardware kann es eigentlich auch nicht sein...
athlon xp 2500+ und geforce 4
habe auch die neuste jdk version drauf (alles unter windows)
hier mal der code:


```
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.util.*;

/**
  *
  * <Beschreibung>
  *
  * @version 1.0 vom 09.11.2005
  * @author
  */

public class jong extends Applet implements Runnable{
  // Anfang Variablen
  int sizex = 700;
  int sizey = 500;
  private Image dbImage;
  private Graphics dbg;

  //fuer Schlaeger 1
  int posx = 0;
  int posy = 0;
  int posw = 20;
  int posh = 100;

  //fuer Ball
  int ballposx = 250;
  int ballposy = 150;
  int ballposxspeed = 5;
  int ballposyspeed = 5;
  // Ende Variablen

  public void init () {
    setLayout(null);
    setSize(sizex, sizey);
    // Anfang Komponenten
    setBackground(Color.black);
    // Ende Komponenten

  }
  // Anfang Ereignisprozeduren
  public void paint (Graphics g){
     g.setColor(Color.white);
     g.drawRect(sizex/2,0,5,sizey);
     g.fillRect(posx, posy, posw, posh);
     g.fillOval(ballposx, ballposy, 40, 40);
  }
  public void update (Graphics db){
    if (dbImage==null){
      dbImage = createImage (this.getSize().width, this.getSize().height);
      dbg = dbImage.getGraphics();
    }
    dbg.setColor(getBackground());
    dbg.fillRect (0,0,this.getSize().width,this.getSize().height);
    dbg.setColor(getForeground());
    paint(dbg);
    db.drawImage(dbImage,0,0,this);
  }


  public boolean keyPressed (Event e, int key){
    if (key==Event.DOWN){
       if (posy==400){

       }else{
           posy = posy+10;
       }

    }
    if (key==Event.UP){
       if (posy==0){

       }else{
         posy = posy-10;
       }

    }
    return true;
  }

   public void start(){
      Thread ball = new Thread(this);
      ball.start();
    }
    public void run(){
      Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

      while(true){


       repaint();

        // wenn ball links anstoesst start
        if (ballposx<20){
         ballposxspeed = +5;
         if (ballposyspeed==-5){
           ballposyspeed = -5;
         }else{
           ballposyspeed = +5;
         }
        //ende
        // wenn ball rechts anstoesst start
       }else if(ballposx>660){
         ballposxspeed = -5;
         if (ballposyspeed==-5){
           ballposyspeed = -5;
         }else{
           ballposyspeed = +5;
         }
         //ende
         // wenn ball oben anstoest start
       }else if(ballposy<20){
         if(ballposxspeed==+5){
            ballposxspeed = +5;
         }else{
           ballposxspeed = -5;
         }
         ballposyspeed = +5;
         //ende
         // wenn ball unten anstoesst start
       }else if(ballposy>460){
         if (ballposxspeed==+5){
           ballposxspeed = +5;
         }else{
           ballposxspeed = -5;
         }
         ballposyspeed = -5;
       }
       //ende






       try{
         Thread.sleep(30);
           }catch (Exception e){

            }

       ballposx += ballposxspeed;
       ballposy += ballposyspeed;
     }
    }




  // Ende Ereignisprozeduren

}
```


----------



## Campino (13. Nov 2005)

Es muss die Umgebung sein:
1) Die GraKa ist egal, weil Java nicht hardwarenah ist, ob du eine GeForce oder OnBoard hast, ist also egal. 
2) bist du dir sicher das der andere Testrechner nicht irgendwo (RAM, Prozessor...) besser ist? Auf wie vielen Computern hast du getestet?
3) Hast du wirklich alles identisch? Selber Browser? Selbes jdk usw.

EDIT: bei mir läuft es. nur geht dein KeyListener nicht, weil du das interface nicht implementierst. War das aller Code?


----------



## van jong (13. Nov 2005)

jdk ist das selbe.... und wir haben es ausm javaeditor gestartet, nicht aus einem browser.... einer der rechner war pentium 4 2,8 und einer nen centrino, aber ich sage mal so, auf 1800mhz sollte das eigentlich laufen....
ps: das ist der ganze code und der keylistener ist nur der umstellung wegen, hatte vorher keyDown genommen


----------

