Saml ting op
Vi bygger nu en historie, hvor man står i en spillehal. Der er et låst kasseapperat og en nøgle på bordet.
Du skal ikke kunne åbne kasseapperatet uden nøglen, og når du har samlet nøglen op, skal den ikke være i historien mere (den skal jo ikke blive ved med at være der når du har samlet den op!)
Du kan teste historen her:
Download + upload historien til twine her: LINK
Historiens Twine-map ser sådan her ud:
Når du skal samle ting op i Twine, har du brug for variabler der kan "huske" om du har samlet noget op. Det er en god idé, at lave en passage der kun holder styr på de variabler du bruger.
Start med en passage der hedder "variabler" og skriv dette:
(set: $nøgle1 to false)
(set: $kasseapperatåben to false)
(set: $mønter to 0)
(display: "Spillehallen")
Variabler angives med et "dollar" tegn foran. Der er 3 variabler: nøgle1, kasseapperatåben og mønter. Vi sætter nøgle1 og kasseapperatåben til "false". Det betyder "falsk" og angiver at vi ikke har samlet nøglen op og at vi ikke har åbnet kasseapperatet. Mønter sættes til værdien 0 - vi har ingen mønter endnu.
display: "Spillehallen" bruges til at springe direkte til den næste passage, som vi opretter nu. Den skal hedde Spillehallen. Lav passagen Spillehallen, og udfyld den med denne tekst.
Du står i den gamle spillehal.Du kan se et gammelt kasseapperat.
(if: $nøgle1 is false)[Ved siden kasseapperatet ligger der en nøgle.]
[[Åben kasseapperatat]]
(if: $nøgle1 is false)[[Tag nøglen]]
Teksten "Ved siden af kasseapperatet ligger der en nøgle" vises kun hvis nøgle1 variablen er false - dvs. at vi ikke har samlet nøglen op endnu. Den vil ikke blive vist længere, hvis vi sætter nøglevariablen til true (sand).
På samme måde vises "Tag nøglen" kun hvis nøgle1 variablen er false. Den vil eller ikke blive vist længere, hvis vi sætter nøglevariablen til true.
Der linkes i passagen til 2 passager: "Åben kasseapperat" og "Tag nøgle".
Redigér nu passagen "Tag nøglen" og udfyld den med denne tekst:
(set: $nøgle1 to true)
Du tager nøglen
[[Tilbage->Spillehallen]]
Nu sætter vi nøgle1 variablen til true. Læg mærke til, at når du går tilbage til Spillehallen vil du ikke længere kunne "se" nøglen!
Redigér nu passagen: Åben kasseapperat. Udfyld med denne tekst:
(if: $nøgle1 is false)[Kasseapperatet er låst!]
(if: $nøgle1 is true and $kasseapperatåben is true)[Kasseapperatet er tomt!]
(if: $nøgle1 is true and $kasseapperatåben is false)[Du åbner skattekisten med nøglen og finder 40 mønter!(set: $kasseapperatåben to true)(set: $mønter to 40)]
[[Tilbage->Spillehallen]]
Det første der sker i passagen, er, at teksten "Kasseapperatet er låst!" vil blive vist, hvis vi ikke har samlet nøglen op endnu (dvs nøgle1 variablen er false).
Hvis nøgle1 er true OG kasseapperatåben er sat til true, så betyder det at vi allerede har åbnet kasseapperatet med nøglen og det er derfor tomt!
Hvis nøgle1 er true OG kasseapperatåben er false, betyder det at vi har nøglen, men at vi ikke endnu har åbnet kasseapperatet. Derfor vises teksten "Du åbner skattekisten med nøglen og finder 40 mønter!).
Vi sætter herefter kasseapperatåben til true (nu har vi jo åbnet det med nøglen) og sætter mønter til værdien 40.
Passagen har i bunden et link tilbage til Spillehallen.
Test dit program
Når du skal teste et program med variabler, skal du klikke på det lille "test ikon" i nederste højre hjørne der hvor du redigerer dit Twine map.
Når du gør det afspilles din historie mens du kan følge med i dine variabler: