Hi,
ich versuche gerade ein Prgramm für zu erstellen das mit grafischer Ausgabe zeigt wie lange ein Auto braucht bis es einen Radfahrer eingeholt hat. Die Berechung läuft und die "animation" geht auch schon.
Jetzt Versuch ich seit ein paar Tagen noch in das Fenster einen Start Button einzubauen, der die Simulation startet und vier Felder wo man den Variablen dxr, dvr, dxa und dva einengeben kann.
Aber das haut nich hin
. Könnte mir bitte einer Helfen?
Schonmal vielen vielen Dank
Hier noch mein Prgramm das bis jetzt läuft.
ich versuche gerade ein Prgramm für zu erstellen das mit grafischer Ausgabe zeigt wie lange ein Auto braucht bis es einen Radfahrer eingeholt hat. Die Berechung läuft und die "animation" geht auch schon.
Jetzt Versuch ich seit ein paar Tagen noch in das Fenster einen Start Button einzubauen, der die Simulation startet und vier Felder wo man den Variablen dxr, dvr, dxa und dva einengeben kann.
Aber das haut nich hin
Schonmal vielen vielen Dank
Hier noch mein Prgramm das bis jetzt läuft.
Code:
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Verfolgung
extends Frame
{
public static void main(String[] args)
{
Verfolgung wnd = new Verfolgung();
}
public Verfolgung()
{
super("Verfolgung");
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
System.exit(0);
}
}
);
setBackground(Color.white);
setSize(500,500);
setVisible(true);
}
public void paint(Graphics g)
{
double dxr, dvr, dxa, dva;
double t;
int xr, xa;
dxr=150; // Start Rad
dvr= 20; // Geschwindigkeit Rad
dxa=50; // Start Auto
dva=100; // Geschwindgkeit Auto
t=(dxr-dxa)/(dva-dvr); // Zeit in Stunden bis Auto das Rad eingeholt hat
xr=(int) dxr;
xa=(int) dxa;
g.drawLine(10,400,400,400); // x-Achse
g.drawLine(10,401,400,401);
g.drawLine(50,10,50,400); // y-Achse
g.drawLine(51,10,51,400);
g.fillOval(xa-3,400-3,6,6); // Zeichne Startpositionen
g.fillOval(xr-3,400-3,6,6);
while(xr>xa)
{
try {
Thread.sleep(100);
} catch (InterruptedException e){}
dxa= dxa + dva*1/60; // neue Position berechnen
dxr= dxr + dvr*1/60;
xr=(int) dxr;
xa=(int) dxa;
g.fillOval(xa-3,400-3,6,6); // zeichne die neue Position
g.fillOval(xr-3,400-3,6,6);
}
}
}