Hallo,
hatte heute mal wieder ein wenig Lust zu programmieren und da wollte ich mich mal damit versuchen das Spiel Snake nachzubauen. Habe mir schon gedacht, dass ich das nicht alles runterprogrammieren kann und ein paar mal hängen bleiben werde, aber das ist ja nicht weiter schlimm.
Die Schlange soll der benutzer mit den Pfeiltasten steuern können. Leider passiert noch gar nichts wenn der Benutzer eine Pfeiltaste drückt.
Eigentlich sollte doch der Hintergrund des JLabels cyan werden, er bleibt aber weiß. Ich habe das Gefühl es liegt an addKeyListener((KeyListener)schlange);, da ich ehrlichgesagt überhaupt nicht wusste wo ich diesen KeyListener drauf tun sollte. Bei einem ActionListener ist es ja einfach. Einfach auf den auslösenden Button, aber bei einem KeyListener kann ich die Pfeiltaste adden Wenn Ihr noch Code braucht wo jetzt "..." steht sagt bitte bescheid.
mfg hyperion
hatte heute mal wieder ein wenig Lust zu programmieren und da wollte ich mich mal damit versuchen das Spiel Snake nachzubauen. Habe mir schon gedacht, dass ich das nicht alles runterprogrammieren kann und ein paar mal hängen bleiben werde, aber das ist ja nicht weiter schlimm.
Die Schlange soll der benutzer mit den Pfeiltasten steuern können. Leider passiert noch gar nichts wenn der Benutzer eine Pfeiltaste drückt.
Code:
public class SnakeGame
{
...
SnakeGame()
{
//Begin of GUI
...
labyrinth = new Labyrinth();
...
//End of GUI
}
public static void main(String[] input)
{
new SnakeGame();
}
}
Code:
class Labyrinth extends JLabel
{
Snake schlange;
Labyrinth()
{
...
schlange = new Snake(pos, this);
[b]addKeyListener((KeyListener)schlange);[/b]
}
public void setBackground(Color farbe)
{
super.setBackground(farbe);
}
public void paint(Graphics g)
{
...
}
}
Code:
public class Snake [b]implements KeyListener[/b]
{
Labyrinth test;
...
Snake(int[][] pos, Labyrinth test)
{
this.pos = pos;
this.test = test;
}
public void moveUp()
{
}
public void moveRight()
{
[b]test.setBackground(Color.cyan);[/b]
}
public void moveDown()
{
}
public void moveLeft()
{
}
public void keyReleased(KeyEvent e)
{
}
[b]public void keyPressed(KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_RIGHT)
{
moveRight();
}
}[/b]
public void keyTyped(KeyEvent e)
{
}
}
Eigentlich sollte doch der Hintergrund des JLabels cyan werden, er bleibt aber weiß. Ich habe das Gefühl es liegt an addKeyListener((KeyListener)schlange);, da ich ehrlichgesagt überhaupt nicht wusste wo ich diesen KeyListener drauf tun sollte. Bei einem ActionListener ist es ja einfach. Einfach auf den auslösenden Button, aber bei einem KeyListener kann ich die Pfeiltaste adden Wenn Ihr noch Code braucht wo jetzt "..." steht sagt bitte bescheid.
mfg hyperion