Ausführen durch einen Tastendruck?

Hallo,

ich bin neu in Java und versuche jetzt, mein erstes kleines Spiel zu programmieren. Dafür muss sich aber das zu steuernde Objekt, sobald die Taste 'w' 's' 'a' oder 'd' gedrückt wird, solange in die jeweilige Richtung bewegen, bis eine andere Taste gedrückt wird. Allerdings kenne ich nur die Bedingung 'view.keyPressed()' oder '!view.keyPressed()'. Dennoch geht das mit diesen Bedingungen natürlich nicht. Könnte mir jemand helfen.

LG

PS: Hier der Code den ich bisher geschrieben habe:

import sas.*;
import java.awt.Color;

class SnakeTest {
  View view;
  Rectangle Hintergrund;
  Rectangle B1;
  Rectangle B2;
  Rectangle B3;
  Rectangle B4;
  Circle Points;
  Rectangle Snake;

  SnakeTest() {
    int x = Tools.randomNumber(70, 730);
    int y = Tools.randomNumber(70, 730); // Randomizer
    view = new View(800, 800);
    Hintergrund = new Rectangle(0, 0, 800, 800, new Color(0, 0, 153));
    B1 = new Rectangle(0, 0, 800, 50, new Color(153, 153, 153));
    B2 = new Rectangle(0, 0, 50, 800, new Color(153, 153, 153));
    B3 = new Rectangle(0, 750, 800, 50, new Color(153, 153, 153));
    B4 = new Rectangle(750, 0, 50, 800, new Color(153, 153, 153));
    Points = new Circle(x, y, 10, new Color(204, 0, 0));
    Snake = new Rectangle(360, 360, 40, 40, new Color(255, 102, 0)); // Erstellung

    while (!view.keyPressed('q')) {
      Snake.move(0, -2);

      if (view.keyPressed('w')) {
        Snake.move(0, -2);
      }

      if (view.keyPressed('s')) {
        Snake.move(0, 2);
      }

      if (view.keyPressed('d')) {
        Snake.move(2, 0);
      }

      if (view.keyPressed('a')) {
        Snake.move(-2, 0);
      } // Steuerung

      if (B1.intersects(Snake)) {
        new Text(380, 10, "ENDE", Color.RED);
        view.wait(400);
        System.exit(0);
      }

      if (B2.intersects(Snake)) {
        new Text(380, 10, "ENDE", Color.RED);
        view.wait(400);
        System.exit(0);
      }

      if (B3.intersects(Snake)) {
        new Text(380, 10, "ENDE", Color.RED);
        view.wait(400);
        System.exit(0);
      }

      if (B4.intersects(Snake)) {
        new Text(380, 10, "ENDE", Color.RED);
        view.wait(400);
        System.exit(0);
      } // Beendigung bei Fehler

      view.wait(10);
    } // Spielschleife

    new Text(380, 10, "ENDE", Color.RED);
    view.wait(400);
    System.exit(0); // Beendigung bei Tastendruck
  }
}
Computer, Schule, programmieren, Java
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.