Heyho
Ja wie einige andere behandeln auch wir dieses Jahr im Unterricht das Thema Java, bzw. BlueJ.
Abschlussprojekt ist nun das Spiel Pacman, das wir programmieren sollten..
Habe ich soweit auch getan, nur bin ich leider auf einige Probleme bezüglich der Tastenabfrage gestoßen, welche auch ein Freund von mir nicht komplett lösen konnte.
Das Spielfeld erscheint, der gelbe Kreis erscheint, und den Key Listener hätte ich soweit auch.. dachte ich. Leider bewegt sich das Ding nicht.
Hier der Quellcode:
Ja wie einige andere behandeln auch wir dieses Jahr im Unterricht das Thema Java, bzw. BlueJ.
Abschlussprojekt ist nun das Spiel Pacman, das wir programmieren sollten..
Habe ich soweit auch getan, nur bin ich leider auf einige Probleme bezüglich der Tastenabfrage gestoßen, welche auch ein Freund von mir nicht komplett lösen konnte.
Das Spielfeld erscheint, der gelbe Kreis erscheint, und den Key Listener hätte ich soweit auch.. dachte ich. Leider bewegt sich das Ding nicht.
Hier der Quellcode:
Java:
import java.awt.event.*;
import javax.swing.*;
public class Pacman /** implements KeyListener */
{
/** Attribute */
private int Radius;
private Farbkreis pacman;
private String farbe;
private char Blickrichtung;
private Timer uhr;
private KeyListener taste;
private double vxNeu;
private double vyNeu;
private Spielfeld level;
/** Konstruktor fuer Objekte der Klasse Pacman */
public Pacman()
{
pacman = new Farbkreis(80, 80, 25, "gelb");
level = new Spielfeld();
uhr = new Timer(10, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ticke();
}
} );
taste = new KeyListener()
{
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
richtungAendern(key);
}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
};
uhr.start();
}
/** weitere Methoden */
public void richtungAendern(int key)
{
if (key == 37) { vxNeu = -1; vyNeu = 0; }
if (key == 38) { vxNeu = 0; vyNeu = -1; }
if (key == 39) { vxNeu = 1; vyNeu = 0; }
if (key == 40) { vxNeu = 0; vyNeu = 1; }
pacman.aendereRichtung(vxNeu, vyNeu);
}
private void ticke()
{
pacman.bewege(1);
}
public void stoppe()
{
uhr.stop();
}
}
[/Java]
Würde mir wirklich helfen wenn da jemand drüber lesen könnte und mir evtl. sagen könnte, wie ich es schaffe, dass sich der Pacman beim Drücken der Pfeiltasten bewegt.. ich muss leider bereits morgen abgeben. Schonmal Danke im Vorraus! :)
Zuletzt bearbeitet: