2 Tastatureingaben gleichzeitig verarbeiten

Der erste Link passt icht so zu meinem Thema, der hat da Fames und Panales drin abe rich habe ja ein Applet. Beim 2. weiß ich nicht wie ich die Idee umsetzten soll und das 3. hatten wir schonmal, da habe ich geschrieben dass ich da einen Teil nicht verstehe (5-6 Post vor diesem).


greetz
 
Es interessiert mich relativ wenig wie du coden gerlent hast & ja ich geb ja zu ich kanns nicht!

Fassen wir doch mal zusammen. Ich kann coden, DosCoder kann coden, MiMi kann coden. Wir geben dir Links zu bereits existierenden Lösungen, die unserer Meinung nach zu deinem Problem passen. DosCoder kaut dir die Lösung sogar vor. Trotz dem allen behauptest du jedes Mal, die Lösung würde nicht zu deinem Problem passen.

Ich würde mal sagen, du lernst erstmal programmieren, bevor du dich an irgendwelche Spiele herantraust. Denn so bringt es nichts.
 
Das ist wohl das Probleme wenn man etwas für die Schule machen muss. Ich habe auch programmieren gelernt weil ich es wollte und es mir Spaß gemacht hat mich in meiner Freizeit damit zu beschäftigen. Wenn man aber etwas für die Schule machen muss gibt man nicht unbedingt seine ganze Freizeit her um sich damit zu beschäftigen wenn es einem dann doch nicht so Spaß macht.

Insgesamt würde ich jedoch von jemandem der Abitur machen möchte auch erwarten ein wenig Eigeninitiative zu zeigen. Vor allem die Transferleistung von einer bisher erarbeiteten Lösung zu einer Lösung für eine etwas abweichende Aufgabe wird im Abitur und auch hier gefordert.

Es gibt ausreichend Bücher im Netz um sich Java selbst beizubringen. Allerdings sind Spiele tatsächlich eine etwas schwierigere Sache die nicht unbedingt direkt für Anfänger geeignet ist. Eben weil sie oft Grafikteile beeinhalten und ich als Anfänger doch erstmal mit Konsolenanwendungen beginnen würde.

Ganz abgesehen davon bin ich immer noch der Meinung das in einer Hausarbeit nichts unmögliches gefordert wird, sondern es mit Mitteln lösbar ist die im Unterricht schon drangekommen sind.
 
Der erste Link passt icht so zu meinem Thema, der hat da Fames und Panales drin abe rich habe ja ein Applet. Beim 2. weiß ich nicht wie ich die Idee umsetzten soll und das 3. hatten wir schonmal, da habe ich geschrieben dass ich da einen Teil nicht verstehe (5-6 Post vor diesem).


greetz


Der erste link passt nich zu deinem Thema? Hallo? Es ging um Eingaben abfangen, da ist es voellig wurscht, ob man das in einem JPanel oder in einem Applet macht. Darum hat DosCoder auch darauf verwiesen 'ab dem Stichwort Keyboard Input' zu lesen!

Allein das zeigt schon, das du dich nicht richtig mit den Links befasst hast, du hast nru gesehen, ach JPanel, hab ich net, also unnuetz. Du kannst net erwarten eine komplett Loesung irgendwo praesentiert zu bekommen.

...

Es gibt ausreichend Bücher im Netz um sich Java selbst beizubringen. Allerdings sind Spiele tatsächlich eine etwas schwierigere Sache die nicht unbedingt direkt für Anfänger geeignet ist. Eben weil sie oft Grafikteile beeinhalten und ich als Anfänger doch erstmal mit Konsolenanwendungen beginnen würde.
...
Ich denke es wird ein Spiel gefordert, weil das wohl die Leute am meisten interessiert. Soll man ne Aufgabe loesen mit Textoutput oder aehnlichem, ist es meist langweilig. So hoffen die Lehrer evtl das die Schueler scih damit mehr befassen, weil viele die programmieren wollen, ja auch nen Spiel machen wollen. So war es jedenfalls bei mir. Jedoch hab ich auch ueber nen Jahr gebraucht bis es bei mir klick gemacht hat und ich verstanden hab wie programmieren ueberhaupt funktioniert (objekte erstellen, von anderen Klassen darauf zugreifen etc). Aber das es so lange gedauert hat, lag auch wohl daran, das ich ne Frau bin, und zu kompliziert denke was das Loesung finden betrifft ^^ (das Problem hab ich uebrigens jetzt noch)
 
Zuletzt bearbeitet:
Hallo
vielen Dank Thomas. Ich habe mein Programm jetzt so umgeschrieben:

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;


  public class Rechtecke extends Applet implements Runnable, KeyListener {
    private Button button1 = new Button();
    int x1=20;
    int x2=120;
    int y1=40;
    int y2=40;
    boolean keyUpPressed;
    boolean keyDownPressed;
    boolean keywPressed;
    boolean keysPressed;

    public void init(){
      setBackground (Color.WHITE);
      addKeyListener(this);
    }
    public void start (){
      Thread th = new Thread (this);
      th.start();
    }
    public void run (){
      this.resize(200,500);
      processKeys();
    }
    public void paint (Graphics g){
      g.setColor(Color.red);
      g.fillRect(x1,y1,20,20);
      g.fillRect(x2,y2,20,20);
      repaint();
    }
    public void keyPressed(KeyEvent s) {
              switch (s.getKeyCode()) {
                case 40:
                    keyDownPressed = true;
                    break;
                case 38:
                    keyUpPressed = true;
                    break;
                case 83:
                    keysPressed = true;
                    break;
                case 87:
                    keywPressed = true;
                    break;
                }
//      if (s.getKeyCode() == 40)x2=x2+10;
//      if (s.getKeyCode() == 38)y2=y2-10;
//      if (s.getKeyCode() == 83)x1=x1+10;
//      if (s.getKeyCode() == 87)y1=y1-10;

    }
    public void keyTyped(KeyEvent s) { }
    public void keyReleased(KeyEvent s) {
              switch (s.getKeyCode()) {
                case 40:
                    keyDownPressed = false;
                    break;
                case 38:
                    keyUpPressed = false;
                    break;
                case 83:
                    keysPressed = false;
                    break;
                case 87:
                    keywPressed = false;
                    break;
                }
     }
     
     protected void processKeys() {
        if (keyDownPressed) {
            x2=x2+10;
        }

        if (keyUpPressed) {
            y2=y2-10;
        }

        if (keysPressed) {
            x1=x1+10;
        }

        if (keywPressed) {
            y1=y1-10;
        }
    }

  }

Das Programm funktioniert allerdings noch nicht ganz so. Was fehlt noch oder was habe ich falsch
 
Zuletzt bearbeitet:
Hm, versuch mal mit ner Angabe, was nicht funktioniert.
Und nutz bitte java Tags [.JAVA] anstatt Code [.CODE], dann wird auch die syntax angezeigt
 
Hm ueberleg doch mal, was hat zb das repaint in der Paint methode verloren? Bei welchem Ereignis soll er denn repainten? Doch wohl nicht wenn er gezeichnet hat?
 
Davor (als ich das Programm so hatte, wie in meinem ersten Post) ging es mit dem repaint(); naja, aber das hat ja auch nichts mit der Bewegung zu tun oder?
 
Zurück