RD1 ist dumm, aber stark. Er wälzt jeden Baum nieder, deshalb werden
wir die Steuerung so umschreiben, daß er nur unter der Bedingung vorwärts
gehen darf, wenn das Feld vor ihm frei ist. Bei seinen Sensoren ist
entsprechendes dabei. Wir können also sagen
Allgemein ausgedrückt
|
Übersetzt in die Programmiersprache
|
wenn VorneFrei ist
dann gehe eins vor |
if RD1.VorneFrei
then RD1.Vor; |
1. Aufgabe
Schreiben Sie eine neue Prozedur Vorwaerts2
a) Im INTERFACE-Teil deklarieren:
procedure Vorwaerts2;
b) im IMLEMENTATION-Teil
procedure TControlFrm.Vorwaerts2 ;
// -------------------------------------------------------------
begin
if RD1.VorneFrei
then RD1.Vor;
end; |
c)
Mit dem GoBtn aufrufen
procedure TControlFrm.GoBtnClick(Sender: TObject);
// -------------------------------------------------------------
begin
inherited;
// UmDieBaeume; // auskommentieren oder
loeschen
Vorwaerts2;
end; |
Starten und testen!
Merke: In der einseitigen
Auswahl wird eine Bedingung geprüft,
ob sie wahr oder falsch ist
und dann die entsprechende Anweisung ausgeführt.
|
|