![]() |
Ampelschaltungen
Hallo
mein Problem ist es das wir für die Schule eine Kreuzung mit ampeln bauen sollen. Das Grundgrüst (Autos fahren & erscheinen am ende wiedre nue etc.) steht schon , die aAmpeln sind auch schon glich geschaltet. Meine Frage nun: Wie bekomme ich das hin das die Autos bei rot anhalten (evtl. sogar langsamer werden) und bei grün weiterfahren? Was ich evtl. noch bräuchte ist die Ampelschaltung automatisch zu setzten, ncoh muss man für jeden intervall einen Button drücken. Zusätzliche Info: Ich arbeite derzeit mit einem Timer in dem drinsteht das sich die autos bewegen. Danke |
Re: Ampelschaltungen
Du kannst dir zum Beispiel eine Zone in einem bestimmten Abstand von der Ampel definieren, in der ein Auto überprüft, ob die Ampel rot ist. wenn ja, wird eben langsamer gefahren und an der Ampel gehalten.
|
Re: Ampelschaltungen
An dieser möglichkeit sitze ich nun (seit ungefähr 1 1/2 stunden)
weiß nicht wie er des abfragen kann, welcher befehl nutzt man dan? |
Re: Ampelschaltungen
Zitat:
Wie sieht denn dein Code aus? |
Re: Ampelschaltungen
habe jetzte ma alles des drin gelassen was eigentlich funzt und alles das rausgenommen worüber ich mir im unklaren bin (Die Flächen zum abfragen der Ampelphasen sind noch enthalten):
Ausgehend von diesem Code benötige ich folgende Proceduren: Das überprüfen der zzt. Ampelphase, Wechsel der Ampelphase abhängig vom Timer, Autos, abhängig von der Ampelphase. Hier der Quellcode: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Borland.Vcl.StdCtrls, Borland.Vcl.ExtCtrls, System.ComponentModel; type TForm1 = class(TForm) Street1: TShape; Street2: TShape; Timer1: TTimer; Button1: TButton; Car1: TShape; Ampel1: TShape; Rot1: TShape; Gelb1: TShape; green1: TShape; Car3: TShape; Car2: TShape; Car4: TShape; Ampel3: TShape; Ampel4: TShape; Ampel2: TShape; Rot3: TShape; Rot2: TShape; Rot4: TShape; Gelb3: TShape; Gelb2: TShape; Gelb4: TShape; green4: TShape; green2: TShape; green3: TShape; check4: TShape; check3: TShape; check2: TShape; check1: TShape; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.nfm} procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Car1.Top := Car1.Top -2; Car2.Top := Car2.top +2; Car3.Left := Car3.Left +2; Car4.Left := Car4.Left -2; If Car1.Top = -24 then Car1.Top := 512; If Car2.Top = 510 then Car2.Top := -48; If Car3.Left = 712 then Car3.Left := -48; If Car4.Left = -24 then Car4.Left := 712; If Rot1.Brush.color = clred then Car1.Left := 0; If green1.Brush.color = clred then Car1.Left := +2; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz