Bedingungen

Bedingungen sind die WENN-Regeln. Wählen Sie die entsprechende Bedingung in der Liste der Bedingungen aus und ziehen Sie sie auf die linke Seite einer Regel.

Shows the location of conditions in AgentCubes

Aktuelle Welt

Die Bedingung "Aktuelle Welt" prüft, ob sich der Agent, der sie ausführt, in einer bestimmten Welt befindet. Dies kann in Spielen nützlich sein, um das Verhalten zu bestimmen, je nachdem, in welchem Level sich der Charakter befindet.

Parameter

Level-Name

Wähle den Namen deiner Ebene(n).

Current-world condition

Leere

Überprüft in einer bestimmten Richtung, ob diese Zelle existiert und leer ist. Normalerweise wird dies verwendet, um sicherzustellen, dass man sich in eine Zelle bewegen kann. Alle Zellen jenseits des Randes der Welt werden als NICHT leer betrachtet. Das heißt, du kannst dich NICHT dorthin bewegen.

Parameter

Richtung

Die Richtung, in der Sie prüfen, ob eine leere Zelle vorhanden ist.

Ebene

Relativer Ebenenbezug: 0 = gleiche Ebene, > 0 Ebenen darüber, < 0 Ebenen darunter.

Empty conditionEmpty condition expanded

Ich-Perspektive

True, wenn sich die Welt im First-Person-Kameramodus befindet. False, wenn sich die Welt im Vogelperspektiv-Kameramodus befindet.

First-person-view condition

Hat-Attribut

Wahr, wenn der Agent dieses Attribut hat.

Parameter

Richtung

prüft den Agenten in welche Richtung?

Attribut-Name

Der Name des Attributs.

Ebene

Relativer Ebenenbezug: 0 = gleiche Ebene, > 0 Ebenen darüber, < 0 Ebenen darunter.

Beispiel

Im Ultimate Pacman-Projekt prüft der Red Ghost-Agent, ob der Agent über ihm das Attribut p hat. Er vergleicht dann dieses Attribut p mit dem aktuellen maxp (dem maximalen p) und setzt, wenn p größer ist, maxp auf p. Der Red Ghost ändert dann seinen Gesichtsausdruck so, dass er aussieht, als ginge er nach oben. Dies ist Teil des Verhaltens beim Aufspüren des Pacman-Agenten (siehe die Ultimate Pacman "Readme"-Datei für eine vollständige Erklärung des Verfolgungsverhaltens).

Has-attribute conditionHas-attribute condition expanded

Ist-ausgewählt

True, wenn der Agent ausgewählt ist.

Beispiel

Wenn Sie viele Agenten desselben Typs haben, aber nur einen von ihnen mit den Cursortasten steuern möchten, dann lassen Sie den Benutzer auf den Agenten klicken, um ihn auszuwählen, und schreiben Sie Cursortastenregeln, die auch prüfen, ob der Agent ausgewählt ist. Auf diese Weise kann immer nur ein Bearbeiter ausgewählt werden, und nur dieser Bearbeiter wird über die Cursortasten gesteuert.

Is-selected condition

Taste

Wahr, wenn die angegebene Taste auf der Tastatur gedrückt wird.

Parameter

Taste

Ein Tastendruck auf Ihrer Tastatur, einschließlich Umschalttaste + Taste.

Key condition

Weiter zu

Wahr, wenn eine bestimmte Anzahl von Agenten neben mir ist. Es werden nur die acht Bearbeiter in meiner unmittelbaren Umgebung überprüft.

Parameter

Komparator

Mathematischer Operator.

Zahl

How many (may be a number or VAT formula).

Form

Welche Form-Ebene: Welche Ebene wird nach dem Ziel-Agenten durchsucht.

Ebene

Relativer Ebenenbezug: 0 = gleiche Ebene, > 0 Ebenen darüber, < 0 Ebenen darunter.

Next-to conditionNext-to condition expanded

Einmal-alle

Checks every specfied number of seconds. The Once-every condition acts as a local timer for an agent. Unlike the Wait_Action, Once-every can be used to slow down individual agents without stopping other agents.

Parameter

Zahl

Zahl oder VAT-Formel.

Beispiel

Siehe den Agenten "Uhr" und die Simulationseigenschaft "@clock" in diesem Projekt. Führen Sie die Simulation aus und stellen Sie fest, dass die Simulationseigenschaft "@clock" sofort auf 5 gesetzt wird und danach alle 5 Sekunden um 5 erhöht wird. Wenn also ein Ereignis um den angegebenen Betrag verzögert werden soll, bevor die Regel ausgeführt wird, ist eine zusätzliche Programmierung erforderlich.

Once-every condition

Die Bedingung "Einmalig" wird zunächst ausgeführt und dann in regelmäßigen Abständen entsprechend dem angegebenen Intervall erneut ausgeführt. Wenn die Bedingung z. B. "einmal alle 5 Sekunden" lautet, wird das Ereignis beim Start der Simulation sofort und danach alle 5 Sekunden ausgeführt.

Prozentsatz-Chance

Die Bedingung "prozentuale Wahrscheinlichkeit" wird mit einer bestimmten prozentualen Wahrscheinlichkeit erfüllt, die durch eine Zahl oder Formel angegeben wird. Bei einem Wert von 50 beispielsweise wird diese Bedingung im Durchschnitt in 50 % der Fälle eintreten. Die Bedingung Prozentuale Chance wählt bei jeder Ausführung eine Zufallszahl zwischen 1 und 99. Wenn diese Zahl kleiner ist als die im Zahlenfeld angegebene Zahl, ist die Bedingung erfüllt. Andernfalls ist die Bedingung falsch. Verwenden Sie dies, um das Verhalten eines Agenten zufällig zu gestalten.

Parameter

Zahl

Zahl oder VAT-Formel.

Percent-chance condition

Die Angabe von "0" als Operand erzeugt keine Instanzen einer wahren Bedingung und die Angabe von "100" als Operand erzeugt ein bedingungslos wahres Ergebnis.

Siehe

Parameter

Richtung

Die Richtung, die für den Ziel-Agenten geprüft werden soll.

Form

Die spezifische Agentenform des Zielagenten.

Ebene

Mit der See-Bedingung kann geprüft werden, ob der angegebene Agent in einer anderen Ebene als der aktuellen Ebene, in der sich der Agent befindet, existiert.

See conditionSee condition expanded

Siehe-ein

Die Bedingung See-A: prüft, ob der Agent in der durch den Parameter Direction angegebenen Zelle zu der im Parameter Agent Class Name angegebenen Klasse gehört.

Im Gegensatz zur See-Bedingung werden bei der See-A-Bedingung alle Formen eines bestimmten Agenten herausgegriffen. Verwenden Sie diese Bedingung, um eine Belastung unabhängig von ihrem Aussehen zu identifizieren.

Parameter

Richtung

Die Richtung, die für den Ziel-Agenten geprüft werden soll.

Name der Agentenklasse

Der Typ des zu suchenden Agenten.

Ebene

Die See-a-Bedingung kann prüfen, ob der angegebene Agent in einer anderen Ebene als der aktuellen Ebene, in der sich der Agent befindet, existiert.

See-a conditionSee-a condition expanded

Gestapelt

Die Stacked-Bedingung: prüft, ob die Position des Agenten in Bezug auf den Agenten, der durch die exakte Form angegeben ist, mit der Adjazenzwahl übereinstimmt

Parameter

Adjazenz

wo nach dem Ziel-Agenten gesucht werden soll.

Form

Die genaue Form eines Agenten, nach dem gesucht werden soll.

Stacked condition

Gestapelt-a

Überprüft, ob der Standort des Agenten in Bezug auf den Agenten, der durch die exakte Form angegeben ist, mit der Wahl der Adjazenz übereinstimmt.

Der Unterschied zwischen der Stacked- und der Stacked-A-Bedingung besteht darin, dass die Stacked-Bedingung auf eine bestimmte Form/ein bestimmtes Aussehen prüft und nur dann wahr ist, wenn der Bearbeiter genau diese Form hat, während Stacked-A auf jede beliebige Form des gegebenen Bearbeiters prüft und unabhängig vom Aussehen des Bearbeiters wahr ist.

Parameter

Adjazenz

wo nach dem Ziel-Agenten gesucht werden soll.

Name der Agentenklasse

Der Typ des zu suchenden Agenten.

Stacked-a condition

Test

Die Bedingung Test vergleicht die Werte von zwei Formeln. Wenn der Vergleich wahr ist, dann ist die Bedingung wahr. Andernfalls ist sie falsch. Test wird normalerweise verwendet, um Agentenattribute oder Simulationseigenschaften mit Zahlen oder Formeln zu vergleichen, die andere Attribute oder Eigenschaften enthalten können.

Parameter

Formel

Zahl oder VAT-Formel.

Komparator

Selektor für den Vergleich.

Formel

Attributname, Zahl oder Mehrwertsteuerformel (VAT).

Test condition

Ja-oder-Nein-Dialog

Mit der Dialogbedingung Ja oder Nein können Sie Programme schreiben, die dem Benutzer Ja/Nein-Fragen stellen und auf der Grundlage der Antworten handeln. Sowohl die gestellten Fragen als auch die Bezeichnungen für die Ja/Nein-Antworten können durch Ändern der Textfelder in der Bedingung angepasst werden. Wenn der Benutzer mit "Ja" antwortet, ist die Bedingung erfüllt. Wenn der Benutzer mit "Nein" antwortet, ist die Bedingung falsch.

Parameter

Zeichenfolge

Geben Sie eine Frage ein, die eingeblendet werden soll.

Wahre Zeichenfolge

Geben Sie eine Zeichenfolge für wahr ein, Standardwert "ja".

Falsche Zeichenfolge

Geben Sie eine Zeichenfolge für false ein, Standardwert "no".

Yes-or-no-dialog condition