Re: konkrete Inhaltsfragen
Verfasst: Mo 29. Dez 2008, 14:36
Hey Leute,
Ich hab auch nochmal ein Problem mit der grafischen Darstellung bei Aufgabe 5:
Und zwar initialisiere ich zwei Fahrzeuge, ein fahrendes Auto und ein parkendes Fahrrad, das Auto auf Strasse1, das Fahrrad auf Strasse2.
Jetzt bewegt sich in der Map aber das parkende Fahrrad genauso wie das Auto von Anfang an über die Strasse, der Startzeitpunkt wird also anscheinend nicht beachtet.
Das komische daran ist, es wird beim Fahrrad die ganze Zeit angezeigt:
"Rel. Position auf Weg: 0.0"
Ich hab auch schon mittels Debugger überprüft, es geht alles mit rechten Dingen zu. Die Variablen "p_dAbschnittsstrecke" und "Rel_Position" bleiben NULL, bis der Startzeitpunkt erreicht wird. Und obwohl "bZeichneFahrrad" mit Rel_Position=0 aufgerufen wird, bewegt sich das Fahrrad.
Ich blicke da nicht mehr durch, hat jemand ne Idee?
Aus meiner main.cpp:
Ps.: Noch eine kleine Frage: Wie schaffe ich es, dass Fahrzeuge, die angehalten haben oder noch garnicht losgefahren sind, nicht mehr bei der Abfertigung Sprit verlieren?
Danke schonmal
Ich hab auch nochmal ein Problem mit der grafischen Darstellung bei Aufgabe 5:
Und zwar initialisiere ich zwei Fahrzeuge, ein fahrendes Auto und ein parkendes Fahrrad, das Auto auf Strasse1, das Fahrrad auf Strasse2.
Jetzt bewegt sich in der Map aber das parkende Fahrrad genauso wie das Auto von Anfang an über die Strasse, der Startzeitpunkt wird also anscheinend nicht beachtet.
Das komische daran ist, es wird beim Fahrrad die ganze Zeit angezeigt:
"Rel. Position auf Weg: 0.0"
Ich hab auch schon mittels Debugger überprüft, es geht alles mit rechten Dingen zu. Die Variablen "p_dAbschnittsstrecke" und "Rel_Position" bleiben NULL, bis der Startzeitpunkt erreicht wird. Und obwohl "bZeichneFahrrad" mit Rel_Position=0 aufgerufen wird, bewegt sich das Fahrrad.
Ich blicke da nicht mehr durch, hat jemand ne Idee?
Aus meiner main.cpp:
Code: Alles auswählen
void vAufgabe_5()
{
bInitialisiereGrafik(1000,650);
//Weg Weg1("Strasse1",500);
//Weg Weg2("Strasse2",500);
Weg* Strasse1 = new Weg("Strasse1",500);
cout << *Strasse1 << endl << endl;
Weg* Strasse2 = new Weg("Strasse2",500);
cout << *Strasse2 << endl << endl;
PKW* Auto = new PKW("Auto",150,10,40,60);
cout << *Auto << endl << endl;
Fahrrad* Rad = new Fahrrad("Rad",20);
cout << *Rad << endl << endl;
Strasse1->vAnnahme(Auto);
Strasse2->vAnnahme(Rad);
Auto->vNeueStrecke(Strasse1);
Rad->vNeueStrecke(Strasse2,2);
cout << *Strasse1 << endl;
cout << *Strasse2 << endl;
int koordinaten[32];
koordinaten[0] = 680;
koordinaten[1] = 40;
koordinaten[2] = 680;
koordinaten[3] = 300;
koordinaten[4] = 680;
koordinaten[5] = 570;
koordinaten[6] = 850;
koordinaten[7] = 570;
koordinaten[8] = 970;
koordinaten[9] = 500;
koordinaten[10] = 970;
koordinaten[11] = 390;
koordinaten[12] = 850;
koordinaten[13] = 300;
koordinaten[14] = 170;
koordinaten[15] = 300;
koordinaten[16] = 70;
koordinaten[17] = 250;
koordinaten[18] = 80;
koordinaten[19] = 90;
koordinaten[20] = 200;
koordinaten[21] = 60;
koordinaten[22] = 320;
koordinaten[23] = 150;
koordinaten[24] = 320;
koordinaten[25] = 420;
koordinaten[26] = 350;
koordinaten[27] = 510;
koordinaten[28] = 500;
koordinaten[29] = 570;
koordinaten[30] = 680;
koordinaten[31] = 570;
bZeichneStrasse(Strasse1->p_sName,Strasse2->p_sName,500,16,koordinaten);
vSleep(500);
//cout << Weg1 << endl;
//PKW Auto("Auto", 120, 8, 20, 50);
//Fahrrad Rad ("Rad", 20);
/*Auto.vNeueStrecke(&Weg1);
Rad.vNeueStrecke(&Weg2,1); //Parkendes Fzg
cout << Auto << endl;
cout << Rad << endl;
cout << Weg1 << endl;
cout << Weg2 << endl;*/
for(dGlobaleZeit = 0; dGlobaleZeit <=5;dGlobaleZeit +=0.05)
{
vSetzeZeit(dGlobaleZeit);
Strasse1->vAbfertigung();
Strasse2->vAbfertigung();
Auto->vZeichnen(Strasse1);
Rad->vZeichnen(Strasse2);
vSetzeZeit(dGlobaleZeit);
cout << *Rad << endl;
cout << *Auto << endl;
}
cout << *Strasse1 <<endl;
vSleep(500);
}
Ps.: Noch eine kleine Frage: Wie schaffe ich es, dass Fahrzeuge, die angehalten haben oder noch garnicht losgefahren sind, nicht mehr bei der Abfertigung Sprit verlieren?
Danke schonmal