16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 18:39:18 +02:00

AI: Oczekiwanie z odjazdem z przystanku 20 sec jeśli opóźniony.

This commit is contained in:
antonisauren
2016-08-23 18:14:09 +02:00
parent 466c8dd999
commit 6e4f278f3c

View File

@@ -851,8 +851,8 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
} // koniec obsługi przelotu na W4 } // koniec obsługi przelotu na W4
else else
{ // zatrzymanie na W4 { // zatrzymanie na W4
if (!eSignNext) if (!eSignNext) //jeśli nie widzi następnego sygnału
eSignNext = sSpeedTable[i].evEvent; eSignNext = sSpeedTable[i].evEvent; //ustawia dotychczasową
if (mvOccupied->Vel > 0.3) // jeśli jedzie (nie trzeba czekać, aż się if (mvOccupied->Vel > 0.3) // jeśli jedzie (nie trzeba czekać, aż się
// drgania wytłumią - drzwi zamykane od 1.0) // drgania wytłumią - drzwi zamykane od 1.0)
sSpeedTable[i].fVelNext = 0; // to będzie zatrzymanie sSpeedTable[i].fVelNext = 0; // to będzie zatrzymanie
@@ -983,10 +983,11 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
} }
if (TrainParams->StationIndex < TrainParams->StationCount) if (TrainParams->StationIndex < TrainParams->StationCount)
{ // jeśli są dalsze stacje, czekamy do godziny odjazdu { // jeśli są dalsze stacje, czekamy do godziny odjazdu
if (TrainParams->IsTimeToGo(GlobalTime->hh, GlobalTime->mm)) if (TrainParams->IsTimeToGo(GlobalTime->hh, GlobalTime->mm))
{ // z dalszą akcją czekamy do godziny odjazdu { // z dalszą akcją czekamy do godziny odjazdu
// if (TrainParams->CheckTrainLatency()<0.0) //jak się ma odjazd if (TrainParams->CheckTrainLatency() < 0)
// do czasu odjazdu? WaitingSet(20); //Jak spóźniony to czeka 20s
// iDrivigFlags|=moveLate1; //oflagować, gdy odjazd ze // iDrivigFlags|=moveLate1; //oflagować, gdy odjazd ze
// spóźnieniem, będzie jechał forsowniej // spóźnieniem, będzie jechał forsowniej
fLastStopExpDist = fLastStopExpDist =
@@ -995,14 +996,12 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
// ma przesunąć na następny postój // ma przesunąć na następny postój
// Controlled-> //zapisać odległość do przejechania // Controlled-> //zapisać odległość do przejechania
TrainParams->StationIndexInc(); // przejście do następnej TrainParams->StationIndexInc(); // przejście do następnej
asNextStop = asNextStop = TrainParams->NextStop(); // pobranie kolejnego miejsca zatrzymania
TrainParams
->NextStop(); // pobranie kolejnego miejsca zatrzymania
// TableClear(); //aby od nowa sprawdziło W4 z inną nazwą już - to nie jest dobry pomysł // TableClear(); //aby od nowa sprawdziło W4 z inną nazwą już - to nie jest dobry pomysł
#if LOGSTOPS #if LOGSTOPS
WriteLog(pVehicle->asName + " as " + TrainParams->TrainName + WriteLog(pVehicle->asName + " as " + TrainParams->TrainName +
": at " + AnsiString(GlobalTime->hh) + ":" + ": at " + AnsiString(GlobalTime->hh) + ":" +
AnsiString(GlobalTime->mm) + " next " + AnsiString(GlobalTime->mm) + " Latency:" + AnsiString(TrainParams->CheckTrainLatency()) + " next " +
asNextStop); // informacja asNextStop); // informacja
#endif #endif
if (int(floor(sSpeedTable[i].evEvent->ValueGet(1))) & 1) if (int(floor(sSpeedTable[i].evEvent->ValueGet(1))) & 1)