if(car[i].getWay() == true)
car[i].move(0.2, speed);
else
car[i].move(-0.2, speed);
To nie wygląda jakbyś cokolwiek próbował :-: Nie ma nawet śladu jakkolwiek wzięcia pod uwage czasu.
Podstawowym, najprostszym zabiegiem "zabiegiem" jest po prostu ustalenie jakiejś prędkości w px/s i w razie ruchu przemnażanie jej przez czas klatki (w sekundach). Od tego masz sf::Clock. Np.:
sf::Clock clock;
Player player;
sf::Vector2f v = { 5.f, 5.f };
while(1)
{
float dt = clock.restart().asSeconds();
player.move(v * dt);
}
Nie wierze żebyś próbował, bo takie podstawy są opisane w absolutnie każdym tekście na ten temat.
Tutaj pewnie znajdziesz więcej.
W gre nie da się grać. Mógłbyś dać chociaż jakiś fps limit.
PS: na następny raz (albo nawet teraz możesz to zrobić): kod wrzuć osobno gdzieś (repo na githubie, albo gist.github), żeby ludzie nie musieli pobierać całej paczki żeby ci pomóc.