Erstmal "Hallo Community".
(Ist mein zweiter Post :O)
Ich bin gerade dabei, einen Ansatz für eine Art Autorennspiel zu entwickeln.
Der Code, den ich bis jetzt dabei geschrieben habe, funktioniert merkwürdigerweise nicht...
Da ich überhaupt nicht sagen kann, wo der Fehler liegt, poste ich einfach mal den gesamten Code:
Gemalt wird das "Auto" zwar, aber bewegen tut es sich nicht :/
Wo der Fehler steckt kann ich nicht sagen, aber es müsste wohl
a) Die Move oder die Accelrate-Funktion von Car,
b) Die Abfrage des Tastendrucks oder
c) irgendeine Vererbungs-Komplikation
sein, denke ich.
Mfg
Flo
(Ist mein zweiter Post :O)
Ich bin gerade dabei, einen Ansatz für eine Art Autorennspiel zu entwickeln.
Der Code, den ich bis jetzt dabei geschrieben habe, funktioniert merkwürdigerweise nicht...
Da ich überhaupt nicht sagen kann, wo der Fehler liegt, poste ich einfach mal den gesamten Code:
Code:
import java.applet.*;
import java.util.*;
import java.lang.*;
import static java.lang.Math.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Vehicle
{
int iSpeed;
int iMaxSpeed;
int iAccelrate;
int iMobility;
int iPosX;
int iPosY;
int iLength;
int iWidth;
int iAngle;
public void Move ()
{
this.iPosX += sin (this.iAngle);
this.iPosX += cos (this.iAngle);
}
public void Accelrate ()
{
this.iSpeed += this.iAccelrate;
}
public void BecomeSlower ()
{
this.iSpeed = this.iSpeed - this.iAccelrate / 2;
}
public void Brake ()
{
this.iSpeed = this.iSpeed - this.iAccelrate;
}
}
class Car extends Vehicle
{
int iSpeed = 0;
int iMaxSpeed = 20;
int iAccelrate = 2;
int iMobility = 5;
int iPosX = 10;
int iPosY = 10;
int iLength = 30;
int iWidth = 12;
int iAngle = 0;
}
public class Test01 extends Applet implements KeyListener
{
Car Player = new Car ();
public void init ()
{
addKeyListener (this);
}
public void paint (Graphics g)
{
setBackground (Color.white);
setForeground (Color.black);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect (Player.iPosX, Player.iPosY, Player.iLength, Player.iWidth);
}
public void keyTyped (KeyEvent ev)
{
}
public void keyPressed (KeyEvent ev)
{
if (ev.getKeyCode () == KeyEvent.VK_UP)
{
Player.Accelrate ();
Player.Move ();
}
repaint ();
}
public void keyReleased (KeyEvent ev)
{
}
}
Gemalt wird das "Auto" zwar, aber bewegen tut es sich nicht :/
Wo der Fehler steckt kann ich nicht sagen, aber es müsste wohl
a) Die Move oder die Accelrate-Funktion von Car,
b) Die Abfrage des Tastendrucks oder
c) irgendeine Vererbungs-Komplikation
sein, denke ich.
Mfg
Flo