Switch: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
(Wahrscheinlichkeits Zweig)
Zeile 1: Zeile 1:
 
Das '''<switch>'''-Tag vergleicht eine Angabe mit einer Liste von Werten. Der Zweig mit dem passenden Wert wird ausgeführt.
 
Das '''<switch>'''-Tag vergleicht eine Angabe mit einer Liste von Werten. Der Zweig mit dem passenden Wert wird ausgeführt.
 +
 
Beispiel:
 
Beispiel:
 
<code xml>
 
<code xml>
Zeile 9: Zeile 10:
 
Der Zweig '''<else>''' wird ausgeführt, wenn keine der Angaben passt.
 
Der Zweig '''<else>''' wird ausgeführt, wenn keine der Angaben passt.
  
Eine Liste der Attribute gibt's hier: [[Held Attribute]]
+
 
 +
Eine Liste der Attribute zur verwendung mit dem '''attribute''' Tag gibt's hier: [[Held Attribute]]
 +
 
 +
außerdem können mit dem '''name''' Tag die selben Variablen wie bei [[Get_set|Set]] abgefragt werden
  
  
 
Man kann auch Wertebereiche abfragen:
 
Man kann auch Wertebereiche abfragen:
 
<code xml>
 
<code xml>
<switch name="zufall">
+
<switch name="Nummer">
 
   <case min="1" max="5">
 
   <case min="1" max="5">
 
     ...
 
     ...
Zeile 23: Zeile 27:
 
</switch>
 
</switch>
 
</code>
 
</code>
Liegt der Wert der Variable "zufall" bei 1 bis 5, wird der erste <case> ausgewertet, andernfalls der <else>-Zweig. Um einen zufälligen Wert zu erzeugen, gibt es den Operator "...". Das funktioniert z. B. so:
+
 
 +
==Wahrscheinlichkeits Zweig==
 +
 
 +
Um für ein Ereignis/Zweig die Wahrscheinlichkeit anzugeben müssen wir erst per [[Get_set|Set]] und einem [[Besondere_Werte#Zahlenbereiche|Besonderen Wert]] eine zufällige Zahl in einer Variablen speichern (im Beispiel ''zufall'')
 +
und diese dann per switch prüfen.
 +
 
 +
Beispiel:
 
<code xml>
 
<code xml>
<set name="zufall" value="1...20"/>
+
<set name="zufall" value="1...100"/>
 +
<switch name="zufall">
 +
  <case min="1" max="25">
 +
    ...
 +
  </case>
 +
  <case min="25" max="65">
 +
    ...
 +
  </case>
 +
  <else>
 +
    ...
 +
  </else>
 +
</switch>
 
</code>
 
</code>
Damit wird ein Zufallswert von 1 bis 20 in der Variablen "zufall" gespeichert.
+
Das Beispiel führt zu einer 25% igen Wahrscheinlichkeit den ersten Zweig aus, zu 40% den Zweiten und somit zu 35% den else-Zweig.
  
 
[[Kategorie:AOQML]]
 
[[Kategorie:AOQML]]

Version vom 20. November 2008, 17:48 Uhr

Das <switch>-Tag vergleicht eine Angabe mit einer Liste von Werten. Der Zweig mit dem passenden Wert wird ausgeführt.

Beispiel:

<switch attribute="gender">
  <case value="female">Eine junge Frau</case>
  <else>Ein junger Mann</else>
</switch>

Der Zweig <else> wird ausgeführt, wenn keine der Angaben passt.


Eine Liste der Attribute zur verwendung mit dem attribute Tag gibt's hier: Held Attribute

außerdem können mit dem name Tag die selben Variablen wie bei Set abgefragt werden


Man kann auch Wertebereiche abfragen:

<switch name="Nummer">
  <case min="1" max="5">
    ...
  </case>
  <else>
    ...
  </else>
</switch>

Wahrscheinlichkeits Zweig

Um für ein Ereignis/Zweig die Wahrscheinlichkeit anzugeben müssen wir erst per Set und einem Besonderen Wert eine zufällige Zahl in einer Variablen speichern (im Beispiel zufall) und diese dann per switch prüfen.

Beispiel:

<set name="zufall" value="1...100"/>
<switch name="zufall">
  <case min="1" max="25">
    ...
  </case>
  <case min="25" max="65">
    ...
  </case>
  <else>
    ...
  </else>
</switch>

Das Beispiel führt zu einer 25% igen Wahrscheinlichkeit den ersten Zweig aus, zu 40% den Zweiten und somit zu 35% den else-Zweig.