Grafer är coola, men är de interaktiva? Ja! Med hjälp av input.
Som exempel har jag en enkel graf med tre noder. Nod ett frågar om "path". Nod två skriver "Du valda två" och pekar tillbaks till ett. Nod tre skriver "Du valde tre" och pekar också tillbaks till ett. Grafen är inuti en loop som upprepas tio gånger.
Först ett exempel på körning:
Här är programmet i XML-format:
Programmet använder en variabel med namn "path". I nod ett finns ett <input> element som sparar resultat i variabel "path". Både nod 2 och 3 har connections "1", som alltså är inputnoden.
Grafen heter "conn_test". Den evalueras inuti <sentence>-elementet med uttrycket "{@conn_test}".
Ett coolt nästa steg vore såklart om man kunde spela flera stycken samtidigt! Kanske med <lobby>- och <player>-taggar. Men redan nu tror jag det är möjligt att göra interaktiva sagor och grottkräl. Ska försöka få till ett exempel.
Edit: Kanske kan jag goera Monopol som ett exempel.
Som exempel har jag en enkel graf med tre noder. Nod ett frågar om "path". Nod två skriver "Du valda två" och pekar tillbaks till ett. Nod tre skriver "Du valde tre" och pekar också tillbaks till ett. Grafen är inuti en loop som upprepas tio gånger.
Först ett exempel på körning:
Som ni ser ovan valde jag "1" som första input, vilket bara pekar tillbaks till första nod (som fråga om input). Programmet buggar ut när jag väljer "4" eftersom ingen nod finns med detta id.Choose your path (1, 2 or 3): 1
Choose your path (1, 2 or 3): 2
You chose two
Choose your path (1, 2 or 3): 3
You chose three
Choose your path (1, 2 or 3): 2
You chose two
Choose your path (1, 2 or 3): 4
{@conn_test}
{@conn_test}
Här är programmet i XML-format:
HTML:
<story>
<!-- Example with inline expression from input in graph node connections attribute -->
<variable name="path"><alt>1</alt></variable>
<graph name="conn_test" start="1">
<node id="1" connections="{path}">
<input name="path" label="Choose your path (1, 2 or 3): "/>
</node>
<node id="2" connections="1">You chose two</node>
<node id="3" connections="1">You chose three</node>
</graph>
<loop times="10">
<sentence>{@conn_test}</sentence>
<br/>
</loop>
</story>
Grafen heter "conn_test". Den evalueras inuti <sentence>-elementet med uttrycket "{@conn_test}".
Ett coolt nästa steg vore såklart om man kunde spela flera stycken samtidigt! Kanske med <lobby>- och <player>-taggar. Men redan nu tror jag det är möjligt att göra interaktiva sagor och grottkräl. Ska försöka få till ett exempel.
Edit: Kanske kan jag goera Monopol som ett exempel.