Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Ampelfunktion in nur in while schleife programmieren?

  Alt 22. Jun 2006, 13:12
Hallo Magier1,

zuerst solltest du dein Problem genau analysieren. Welche Zustände kann jede Ampel einnehmen?

Code:
KfzAmpelZustaende = (kfzAus, kfzGruen, kfzGelb, kfzRot, kfzRotGelb);
FussgaengerAmpelZustaende = (fussAus, fussGruen, fussRot);
Acht Phasen kann ich nicht erkennen, sondern eher sechs:

Code:
Phase 1: 5s, kfzGruen, fussRot
Phase 2: 2s, kfzGelb, fussRot
Phase 3: 5s, kfzRot, fussRot
Phase 4: 10s, kfzRot, fussGruen
Phase 5: 2s, kfzRot, fussRot
Phase 6: 2s, kfzRotGelb, fussRot
Der Rest ist dann nur noch Einschalten, Ausschalten und eine Schleife:

Code:
Solange Eingeschaltet() do
begin
  Phase := NächstePhase(Phase);
  SchalteFahrzeugAmpel(Phase);
  SchalteFussgaengerAmpel(Phase);
  Warte(Dauer(Phase));
end;
Jetzt aber ran an die Hausaufgaben.

Grüße vom marabu
  Mit Zitat antworten Zitat