Hallo. Eventuell kann mir jemand bei meinem Problem helfen.
Seit Tagen versuche ich schon, in folgendes Spiel ein "auf Pfeiltasten/Return reagieren" einzubauen. Doch irgendwie weiß ich nicht, welcher Befehl dafür zuständig ist, und wo dieser eingetragen werden muss.
Mein Ziel ist es, dass, wenn ich z.B. auf die Pfeiltaste unten drücke, der Punkt nach unten wandert. Wenn ich nach links drücke, soll der Punkt 1 nach links wandern. Normal müssten alle Punkte, wo ich schon war, rot angemalt sein. Startpunkt ist die Mitte. Aber wie mache ich das?
Hier der Code:
Ich müßte nur wissen, wie man wo welchen Befehl einträgt. Und dass er nicht in einer Dauerschleife festhängt, sprich auf Tastendruck wartet?
Seit Tagen versuche ich schon, in folgendes Spiel ein "auf Pfeiltasten/Return reagieren" einzubauen. Doch irgendwie weiß ich nicht, welcher Befehl dafür zuständig ist, und wo dieser eingetragen werden muss.
Mein Ziel ist es, dass, wenn ich z.B. auf die Pfeiltaste unten drücke, der Punkt nach unten wandert. Wenn ich nach links drücke, soll der Punkt 1 nach links wandern. Normal müssten alle Punkte, wo ich schon war, rot angemalt sein. Startpunkt ist die Mitte. Aber wie mache ich das?
Hier der Code:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
import java.io.*;
public class woWarIchSchon extends JFrame
{
// Fensterklasse
public woWarIchSchon()
{
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
// Fensterobjekt
new woWarIchSchon();
}
public void paint(Graphics woWarIchSchon)
{
// Array für das Gitter wird erstellt (quadratisch)
int [] Gitter = new int[200*200];
// Startfeld ist das Feld in der Mitte.
int aktivX = 100;
int aktivY = 100;
// Das Feld, wo er draufsteht, wird als abgetreten markiert
Gitter[aktivY*200+aktivX] = 1;
int gewonnen = 0;
int i;
int j;
// Schleife
do
{
woWarIchSchon.setColor(Color.white);
woWarIchSchon.fillRect(0,0,199,199);
// schon abgetretene Pfade werden blau gezeichnet
for(i=0;i<=199;i++)
{
for(j=0;j<=199;j++)
{
if(Gitter[j*200+i]==1)
{
woWarIchSchon.setColor(Color.red);
woWarIchSchon.drawLine(aktivX,aktivY,aktivX,aktivY);
}
}
}
} while (gewonnen == 0);
}
}
Ich müßte nur wissen, wie man wo welchen Befehl einträgt. Und dass er nicht in einer Dauerschleife festhängt, sprich auf Tastendruck wartet?
Zuletzt bearbeitet: