Mir fällt grad noch was wichtiges ein:
Wenn du die geschw. immer verringerst, musst du natürlich aufpassen, dass du dann nicht zu früh auf geschw. 0 und -1 etc. kommst! (Beo rot rückwärts fahren
)
Dazu kann man das auf 2 verschiedene arten lösen:
Delphi-Quellcode:
var halt: Boolean;
halt := false;
...
if ampel = rot then
begin
if auto_position = haltelinie then
begin
Form1.Timer1.Enabled := false;
halt := true;
end else
begin
if (not (haltelinie - auto_position) > geschwindigkeit) AND (halt = true) then
begin
Auto_geschwindigkeit := Auto_geschwindigkeit - 1;
end;
end;
end;
Auf die Weise würde er (denk ich
) exakt bei der Haltelinie anhalten.
Allerdingst musst du dann - wenns wieder grün wird - halt := false machen
air