Switch: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
K (Wahrscheinlichkeits Zweig)
(Variablenauswertung im Casezweig)
Zeile 49: Zeile 49:
 
</code>
 
</code>
 
Das Beispiel führt zu einer 25% igen Wahrscheinlichkeit den ersten Zweig aus, zu 40% den Zweiten und somit zu 35% den else-Zweig.
 
Das Beispiel führt zu einer 25% igen Wahrscheinlichkeit den ersten Zweig aus, zu 40% den Zweiten und somit zu 35% den else-Zweig.
 +
 +
==Generische Variablenauswertung im Casezweig==
 +
Um flexiblere Quests aufzubauen, dürfen auch Variablennamen durch Verwendung des name-Attributs ausgewertet werden.
 +
 +
===Beispiel===
 +
Szene 1:
 +
<random>
 +
<case><store name="source">Eisentrutz</store></case>
 +
<case><store name="source">Berenhavn</store></case>
 +
<case><store name="source">Tamelsquell</store></case>
 +
</random>
 +
 +
Szene 2:
 +
<switch attribute="site">
 +
    <case name="source"><include target="atSourceLocation"/></case>
 +
    <else><quest status="pending"/></else>
 +
</switch>
  
 
[[Kategorie:AOQML]]
 
[[Kategorie:AOQML]]

Version vom 31. März 2009, 01:23 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" val="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.

Generische Variablenauswertung im Casezweig

Um flexiblere Quests aufzubauen, dürfen auch Variablennamen durch Verwendung des name-Attributs ausgewertet werden.

Beispiel

Szene 1: <random>

<case><store name="source">Eisentrutz</store></case>
<case><store name="source">Berenhavn</store></case>
<case><store name="source">Tamelsquell</store></case>

</random>

Szene 2: <switch attribute="site">

   <case name="source"><include target="atSourceLocation"/></case>
   <else><quest status="pending"/></else>

</switch>