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.
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).
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.
Relativer Modus
Wenn diese Funktion aktiviert ist, bewegt sich der Agent relativ zu seiner "Vorderseite". Sie können die Vorderseite des Agenten ändern, indem Sie ihn drehen oder die Kamerarichtung in der Ich-Perspektive des Agenten ändern. Weitere Informationen finden Sie im Relativ-Modus-Tutorial.
Ich-Perspektive
True, wenn sich die Welt im First-Person-Kameramodus befindet. False, wenn sich die Welt im Vogelperspektiv-Kameramodus befindet.
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
Relativer Modus
Wenn diese Funktion aktiviert ist, bewegt sich der Agent relativ zu seiner "Vorderseite". Sie können die Vorderseite des Agenten ändern, indem Sie ihn drehen oder die Kamerarichtung in der Ich-Perspektive des Agenten ändern. Weitere Informationen finden Sie im Relativ-Modus-Tutorial.
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).
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.
Taste
Wahr, wenn die angegebene Taste auf der Tastatur gedrückt wird.
Parameter
Taste
Ein Tastendruck auf Ihrer Tastatur, einschließlich Umschalttaste + Taste.
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.
Einmal-alle
Überprüft alle angegebene Anzahl von Sekunden. Die Bedingung Once-every fungiert als lokaler Timer für einen Agenten. Im Gegensatz zur Wait_Action kann Once-every verwendet werden, um einzelne Agenten zu verlangsamen, ohne andere Agenten zu stoppen.
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.
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.
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.
Relativer Modus
Wenn diese Funktion aktiviert ist, bewegt sich der Agent relativ zu seiner "Vorderseite". Sie können die Vorderseite des Agenten ändern, indem Sie ihn drehen oder die Kamerarichtung in der Ich-Perspektive des Agenten ändern. Weitere Informationen finden Sie im Relativ-Modus-Tutorial.
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.
Relativer Modus
Wenn diese Funktion aktiviert ist, bewegt sich der Agent relativ zu seiner "Vorderseite". Sie können die Vorderseite des Agenten ändern, indem Sie ihn drehen oder die Kamerarichtung in der Ich-Perspektive des Agenten ändern. Weitere Informationen finden Sie im Relativ-Modus-Tutorial.
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.
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.
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).
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".
* Textfelder können folgende Werte enthalten: Werte von Agentenattributen, wenn dem Namen ein ~ vorangestellt ist (z. B. ~Wert). Kann auch die speziellen Werte enthalten: ~self.row (die aktuelle Zeile des Agenten), ~self.column (die aktuelle Spalte des Agenten) und ~self.layer (die aktuelle Ebene des Agenten)