[C++] har stött på ett problem.

Permalänk
Medlem

[C++] har stött på ett problem.

Tjena!

Jag sitter här och försöker klura ut hur jag ska få mina bilar att bromsa in.

Det är nämligen så att jag håller på med ett enkelt spel och spelet går ut på att användaren matar in hur många bilar ska tävla(max 5) sen så skriver man in målhastigheten lite info om de och sedan ska bilarna börja gasa med ett random tal från 1 till 10 och när hastigheten är samma som målhastigheten så ska bilarna börja bromsa in med ett random nr från 1-5 tills de stannar dvs hastigheten=0.

Jag har gjort allt, alla funktioner o allt men jag har inte lyckats klura ur det där med inbromsningen, jag har försökt på tusen olika sätt, jag har en funktion till det men jag vet inte hur jag ska "implementera" den...
Detta är vad jag vill ska göras, men går inte eftersom setVelocity inte finns i main)
while(setVelocity!=0)
{
stopAllCars(cars, n);
showCars(cars,n);
system("pause");
}
Här är mina filer.
main
C++ | #include "Car.h" #include <iostream> #include <c
cpp
C++ | #include "Car.h" #include <iostream> #include <c
header
C++ | #ifndef CAR_H #define CAR_H #include <string>

tacksam för all hjälp, jag är verkligen desperat nu.

Permalänk
Medlem

vad jag kan se så använder du samma funktion (raceDone) både vid acceleration och inbromsning. och i den funktionen kollar om hastigheten är över ett inskickat värde. vid inbromsning är det inskickade värdet 0, så raceDone returnerar true direkt och programmet lämnar inbromsningsloopen.

Permalänk
Medlem

Har inte kollat på koden men en tanke som direkt poppar fram är ditt villkor i while-loopen. Om nu bilarna ska bromsa med ett random tal 1-5 vad händer om en bil ligger på hastighet 1 och bromsar med random tal 2 => -1 i hastighet? Fortsätter den bromsa då?

Du kanske vill ändra villkoret till while(setVelocity <= 0)?