Sa 20 Apr, 2013 00:06
Sa 20 Apr, 2013 09:34
Gaddezwerch hat geschrieben:Bei der Umfrage wurde öfter genannt, dass ihr euch echte Schleifen wünscht. Kann mir bitte jemand ein Beispiel geben, wo sowas hilfreich wäre (ich vermute, beim Durchgehen von Gruppenmitgliedern??) und hat eventuell schon eine Vorstellung wie das AOQML-mäßig aussehen könnte?
<for name="wolfNummer" from="1" inc="1" to="5"> ... </for>
<for all="sys:heroes">... </for>
<set name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</set>
<for all="fertigkeiten" name="fertigkeit">
<challenge talent="${fertigkeit}">...</challenge>
</for>
<for all="${sys:heroes}" name="hero">... </for>
<for all="Athletik|Geländelauf|Körperbeherrschung" name="fertigkeit">... </for>
So 21 Apr, 2013 10:33
<set name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</set>
<for all="fertigkeiten" name="fertigkeit">
<challenge talent="${fertigkeit}">...</challenge>
</for>
<fertigkeiten-set name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</fertigkeiten-set>
<set t="Fertigeit" name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</set>
So 21 Apr, 2013 10:47
Enno hat geschrieben:danach schreibst du "Was dann aber fehlt" - Ist hier dein Beitrag unvollständig oder meinst du die fehlende XSD-Validierung auf gültige Fertigkeits-Bezeichnungen, die du im Absatz davor erwähnst?
Enno hat geschrieben:Das Problem sehe ich auch, und ggf. kann man es noch einmal umgehen, indem man beispielsweise "typisierte Mengen einführt. Bspw.
- Code:
<fertigkeiten-set name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</fertigkeiten-set>
Enno hat geschrieben:oder
- Code:
<set t="Fertigeit" name="fertigkeiten">
<element>Athletik</element>
<element>Geländelauf</element>
<element>Körperbeherrschung</element>
</set>
Enno hat geschrieben:Was vielleicht eine Überlegung Wert ist, wenn AOQML jetzt immer komplexer wird: passt die Abbildung der Sprachdefinition überhaupt noch in eine XSD, oder brauchen wir einen richtigen Parser?
So 21 Apr, 2013 10:49
So 21 Apr, 2013 12:12
Gaddezwerch hat geschrieben:Nach wie vor vermute ich den größten Bedarf bei Gruppen-ZB/-Quests, um da durch alle Helden durchzuiterieren, damit jeder Held was macht oder damit jeder Held auf etwas bestimmtes geprüft wird. Ein paar "handfeste" Beispiele wären schön.
<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">
<retain name="tauchenprobe_einzeln" id="tauchenprobe_einzeln-1">
<set name="aktuelle_nr" inc="1" show="none"/>
<!-- Held selektieren -->
<store name="heroAttr">nr_1<fetch name="aktuelle_nr"/></store>
<select hero="${heroAttr}"/>
<challenge talent="Tauchen">
<success>
<include target="tauchen_bestanden_1_sf4"/>
</success>
<failure>
<include target="tauchen_nicht_bestanden_1_sf4"/>
</failure>
</challenge>
<!-- gibt es noch weitere Gruppenmitglieder? -->
<switch attribute="anzahl_gruppenmitglieder">
<case name="aktuelle_nr">
<!-- Unsere Variable 'aktuelle_nr' entspricht jetzt dem Attribut 'anzahl_gruppenmitglieder'.
Daher wurden alle Gruppenmitglieder einmal aufgerufen.
Daher nichts weiter machen. -->
</case>
<else>
<!-- sich erneut aufrufen -->
<replay name="tauchenprobe_einzeln" />
</else>
</switch>
</retain>
<store name="aktuelle_nr">0</store>
<replay name="tauchenprobe_einzeln"/>
</scene>
So 21 Apr, 2013 14:20
<has item="Seil" group-min="5">
<for all="sys:heroes">... </for>
<for all="sys:heroes" name="heldid">
<select hero="${heldid}"/><!-- einzelner Held wird selektiert -->
</for>
<!-- jetzt ist noch der zuletzt selektierte Held selektiert -->
<foreach-hero>
<!-- hier genau ein Held selektiert -->
</foreach-hero>
<!-- hier wird automatisch vorheriger Select wiederhergestellt -->
<foreach-hero only="selected">
<!-- hier ein Held selektiert, der zuvor auch schon selektiert war -->
</foreach-hero>
<foreach-hero only="non-selected">
<!-- hier ein Held selektiert, der zuvor nicht selektiert war -->
</foreach>
<foreach-hero role="Kämpfer">
<!-- hier ein Kämpfer-Held selektiert -->
</foreach>
So 21 Apr, 2013 14:37
Gaddezwerch hat geschrieben:Beim Tauchen-Beispiel: Wieso nicht Tauchen-Probe für alle ablegen, und diejenigen, die die Probe verhauen werden mittels <failure select-heroes="true"> selektieren?
So 21 Apr, 2013 17:11
So 21 Apr, 2013 20:08
Gaddezwerch hat geschrieben:Was das Abfragen von den 5 Seilen oder der Geldmenge angeht, ist wohl eher etwas, das man direkt bei has nachrüsten sollte ... komisch, dass das erst jetzt auffällt. Mit <has item="Seil" min="5"> fragt man derzeit ab, ob EIN Held 5 Seile dabei hat. Ich könnte mir da soetwas vorstellen:
- Code:
<has item="Seil" group-min="5">
Gaddezwerch hat geschrieben:
- Code:
<for all="sys:heroes">... </for>
erscheint mir da ganz logisch, wobei man hier vermutlich immer EIN Held im Rumpf der Schleife selektiert haben möchte und dieser implizite Select geht schon etwas über eine reines "for" hinaus.
- Code:
<for all="sys:heroes" name="heldid">
<select hero="${heldid}"/><!-- einzelner Held wird selektiert -->
</for>
<!-- jetzt ist noch der zuletzt selektierte Held selektiert -->
Ist halt ein bisschen unintuitiv. Aber generalistisch.
Gaddezwerch hat geschrieben:Ich wäre auch für eine <foreach-hero>...</foreach-hero> Lösung zu haben, wo im Rumpf ein implizites Select stattfindet und nach der Schleife der vorherige Select wiederhergestellt wird.
[code]
<foreach-hero>
<!-- hier genau ein Held selektiert -->
</foreach-hero>
So 21 Apr, 2013 22:25
<for all="sys:heroes" name="heldid">
<select hero="${heldid}"/><!-- einzelner Held wird selektiert -->
</for>
<!-- jetzt ist noch der zuletzt selektierte Held selektiert -->
Mo 22 Apr, 2013 09:41
Gaddezwerch hat geschrieben:Dann könnte man ja zusätzlich noch sys:selected-heroes und sys:unselected-heroes zur Verfügung stellen.
Als Separatoren für Array-Elemente könnte man das | akzeptieren, wie oben bei den Fertigkeiten beschrieben.
Mo 22 Apr, 2013 15:28
<for all="${sys:heroes}" name="heldid">
<select hero="${heldid}"/>
<p>HeldID: <fetch name="heldid"/>, Name: <get attribute="name"/></p>
</for>
<for all="Singen|Schleichen|Schwimmen" name="talent">
<challenge talent="${talent}">
</challenge>
</for>
Mo 22 Apr, 2013 21:10
Gaddezwerch hat geschrieben:@Pergor: Gib mir mal bitte Rückmeldung, ob das den Umgang erleichtert und was noch fehlt.
Übrigens ist mir aufgefallen, dass du mit der Gruppe auch die Funktion <function name="ermittle-item-anzahl" param1="%seil"/> benutzen kannst, wenn du wissen willst, wie viele Seile die Gruppe dabei hat.
Mo 22 Apr, 2013 21:33
<store name="besterHeldID"><hero select="best" by-quality="ST" output="id" /></store>
<select hero="${besterHeldID}"/>