O
Onlinbe
Gast
Hallo,
ich bin gerade dabei (vor allem im schulischen Rahmen) in die Welt von java einzutauchen, von daher denke ich, dass ihr mir einige Hilfestellungen geben könnt.
Dabei sieht die Situation folgendermaßen aus:
Mein Ziel ist es ein Spiel zu programmieren, in denen Zwei Spieler über die selbe tastatur ihre fahrzeuge steuern. dabei handelt es sich also um eine art "need for speed" in dem der eine der Cop und der andere der Racer ist. Mein Programm steckt noch in den Kinderschuhen, somit geht es mir hierbei vor allem um die Steuerung. Ich habe viel im Internet gelesen und ausprobiert, aber letztendlich konnte ich nur ein "Fahrzeug" zur Zeit steuern. Hierbei sieht mein Quellcode folgenderweise aus:
Mein erster Ansatz war mit dem unteren Teil (also public boolean keyDown), doch wie gesagt, habe ich dann einiges über den KeyListener gelesen.
Also, es gibt sicherlich einige Ansatzpunkte für Verbesserungen und ich danke Euch schon einmal im Vorraus für die Unterstützung!
ich bin gerade dabei (vor allem im schulischen Rahmen) in die Welt von java einzutauchen, von daher denke ich, dass ihr mir einige Hilfestellungen geben könnt.
Dabei sieht die Situation folgendermaßen aus:
Mein Ziel ist es ein Spiel zu programmieren, in denen Zwei Spieler über die selbe tastatur ihre fahrzeuge steuern. dabei handelt es sich also um eine art "need for speed" in dem der eine der Cop und der andere der Racer ist. Mein Programm steckt noch in den Kinderschuhen, somit geht es mir hierbei vor allem um die Steuerung. Ich habe viel im Internet gelesen und ausprobiert, aber letztendlich konnte ich nur ein "Fahrzeug" zur Zeit steuern. Hierbei sieht mein Quellcode folgenderweise aus:
Java:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Need_for_Speed extends Applet implements KeyListener
{
Polizeiauto P = new Polizeiauto(20,40);
Raser R = new Raser(20,40);
public void paint(Graphics g)
{
P.malen(g);
R.malen(g);
}
public void keyTyped( KeyEvent e )
{
}
public void keyPressed( KeyEvent e )
{
if ( e.getKeyChar() == KeyEvent.CHAR_UNDEFINED )
{
int key = e.getKeyCode();
if (key == KeyEvent.VK_UP)
{
P.moveto(P.getX(), P.getY()+3);
}
if (key == KeyEvent.VK_DOWN)
{
P.moveto(P.getX(), P.getY()-3);
}
if (key == KeyEvent.VK_LEFT)
{
P.moveto(P.getX()-3, P.getY());
}
if (key == KeyEvent.VK_RIGHT)
{
P.moveto(P.getX()+3, P.getY());
}
repaint();
}
}
public void keyReleased( KeyEvent e )
{
}
public boolean keyDown(Event a, int key)
{
if (key==56)
{
P.moveto(P.getX(), P.getY()-3);
}
if (key==53)
{
P.moveto(P.getX(), P.getY()+3);
}
if (key==52)
{
P.moveto(P.getX()-3, P.getY());
}
if (key==54)
{
P.moveto(P.getX()+3, P.getY());
}
//RASER:
if (key==115)
{
R.moveto(R.getX1(), R.getY1()-3);
}
if (key==119)
{
R.moveto(R.getX1(), R.getY1()+3);
}
if (key==100)
{
R.moveto(R.getX1()-3, R.getY1());
}
if (key==97)
{
R.moveto(R.getX1()+3, R.getY1());
}
repaint();
return true;
}
}
Mein erster Ansatz war mit dem unteren Teil (also public boolean keyDown), doch wie gesagt, habe ich dann einiges über den KeyListener gelesen.
Also, es gibt sicherlich einige Ansatzpunkte für Verbesserungen und ich danke Euch schon einmal im Vorraus für die Unterstützung!