If-Anweisung
Aus Mappedia
Eine If-Anweisung ist eine besondere Form der Aktion in einem Auslöser. Diese Aktion setzt sich zusammen aus jeweils einer oder mehrerer Bedingungen und Aktionen. Die Aktionen in einer If-Anweisung werden nur dann ausgeführt, wenn alle ihre Bedingungen wahr sind. Man spricht in der Programmierung auch von bedingter Programmausführung. If-Anweisungen erfüllen eine der wichtigsten Funktionen, die die Warcraft-III-Trigger überhaupt zu bieten haben: Den selben Trigger, abhängig von bestimmten Bedingungen, unterschiedliche Effekte haben zu lassen.
Inhaltsverzeichnis |
[bearbeiten] Aufbau
[bearbeiten] GUI
Im GUI sieht das ganze so aus:

Aktionen

If (All Conditions are True) then do (Then Actions) else do (Else Actions)


'IF'-Bedingungen



a Gleich b


'THEN'-Aktionen


'ELSE'-AktionenStatt a Gleich b kann hier ein beliebiger Wahrheitswert stehen.
[bearbeiten] Jass
Eine If-Anweisung ist in Jass standartmäßig folgendermaßen aufgebaut:
if someCondition then //if-Funktionen else //else-Funktionen endif
Dabei muss someCondition ein Wahrheitswert sein.
[bearbeiten] Logischer Ausdruck
In beiden Fällen wird ein logischer Ausdruck benötigt. Das ist einfach ein Ausdruck, der entweder Wahr oder Falsch ist. Das kann zB die Frage sein, ob eine Einheit noch lebt. In diesem Fall liegt kein Boolean vor, sondern ein logischer Ausdruck, der letztlich wieder einen Boolean ergibt. Ein logischer Ausdruck kann folgendes sein:
- Wahr oder Falsch (Die Bedingung "true" ist möglich, eine solche If-Anweisung würde immer ausgeführt werden. Eine mit der Bedingung "false" würde nie ausgeführt werden.)
- eine Variable vom Typ Boolean
- ein Vergleich
- eine Logische Operation
[bearbeiten] Vergleich
Ein Vergleich besteht aus 2 Werten und einem Vergleichsoperator.
Als Vergleichsoperatoren stehen die gängigen 6 Operatoren aus der Mathematik zur Verfügung:
-
<, Kleiner als -
>, Größer als -
<=, Kleiner Gleich -
>=, Größer Gleich -
==, Gleich -
!=, Ungleich
Ein Vergleich kann grundsätzlich nur zwischen Objekten des selben Typs stattfinden. Auch wenn es naheliegt, kann also auch kein Real mit einem Integer verglichen werden. Es muss erst eine Konvertierung stattfinden.
Ausserdem sind bis auf die beiden Operatoren 'gleich' und 'ungleich' alle Vergleichsoperatoren nur auf Integer und Reals anwendbar.
[bearbeiten] Logische Operation
Eine logische Operation liegt vor, wenn ein logischer Ausdruck mithilfe von einem Operator verändert wird. Dabei können Ausdrücke mit einem Operator verbunden werden, oder aber ein Operator wird auf einen einzigen Ausdruck angewendet. Durch Klammern können so immer komplexere Ausdrücke gebildet werden. Klammern können auch verwendet werden um die feste Priorität der Operatoren zu verändern oder um einen Ausdruck besser lesbar zu machen.
Die Operatoren sind die Logischen Operatoren.
| Bild:Icon Gap.png | Dieser Artikel oder Abschnitt ist noch unvollständig und weist folgende Lücken auf: Die Erklärung, Syntax, Funktion und Synonyme für alle Operatoren |
[bearbeiten] and
Der Operator "and" verbindet logische Ausdrücke. Sein Ergebnis hat den Wert "wahr", wenn der Ausdruck links UND der Ausdruck rechts von ihm wahr sind.
[bearbeiten] or
Der Operator "or" verbindet logische Ausdrücke. Sein Ergebnis hat den Wert "wahr", wenn entweder der Ausdruck links von ihm ODER der Ausdruck rechts von ihm ODER beide Ausdrücke wahr ist.
[bearbeiten] not
Der Operator not wandelt den Wert "wahr" in "falsch" um und den Wert "wahr" in "falsch" um.
Beispiel :
(( not (Bedingung1 and Bedingung2)) or Bedingung3)

