Press "Enter" to skip to content

Warunki

Przykładowa gra

Operatory porównania

OperatorOpis
isjest równe?
is notjest inne niż?
>jest większe?
>=jest większe lub równe?
<jest mniejsze?
<=jest mniejsze lub równe?

Więcej w dokumentacji:

Instrukcja IF, ELSE-IF, ELSE

(if: )

Przykład 1

W zależności czy brama jest zamknięta czy otwarta (true/false) zobaczymy ukrytą wiadomość. Wartość zmiennej $brama_zamknieta może się zmieniać w dowolnej karteczce lub w dowolnym miejscu w danym fragmencie opowieści (nie musi zmieniać swojej wartości na górze karteczki – można to zrobić np. pomiędzy akapitami tekstu).

(set: $brama_zamknieta to true)

Próbujesz otworzyć bramę...
(if: $brama_zamknieta is true)[- niestety jest zamknięta! Musisz najpierw zdobyć klucz.]

Rezultat 1

Rezultat: Próbujesz otworzyć bramę... - niestety jest zamknięta! Musisz najpierw zdobyć klucz.

Przykład 2

Jeżeli używasz wielu zmiennych, instrukcji if itd. w celu zwiększenia czytelności kodu (możliwość używania białych znaków jak np. ENTER) używaj znaków { } oraz wcięć kodu. Pozwoli to uniknąć dziwnych i nieplanowanych pustych przestrzeni na karteczce.

(set: $porada to 2)


Próbujesz otworzyć bramę... niestety jest zamknięta!
{
    (if: $porada is 1)[Może warto poszukać klucza w kieszeni?]
    (if: $porada is 2)[Może warto sprawdzić czy klucz ukryty jest pod doniczką?]
    (if: $porada is 3)[Wygląda na to, że musisz znaleźć innej przejście!]
}

Rezultat 2

Rezultat: Próbujesz otworzyć bramę... niestety jest zamknięta! Może warto sprawdzić czy klucz ukryty jest pod doniczką?

Więcej w dokumentacji.

(if: )(else: )

Przykład 3

(set: $klucz_znaleziony to false)


Próbujesz otworzyć bramę...
{
    (if: $klucz_znaleziony is true)[otwierasz bramę znalezionym kluczem i wchodzisz na dziedziniec.]
    (else:)[- niestety jest zamknięta! Musisz najpierw zdobyć klucz.]
}

Możesz zapisać instrukcję if w krótszej wersji, (if: $klucz_znaleziony)[...] ponieważ zmienna $klucz_znaleziony będzie i tak przyjmowała true lub false – nie trzeba jej jeszcze dodatkowo porównywać korzystając z operatora is.

Rezultat 3

Rezultat: Próbujesz otworzyć bramę... - niestety jest zamknięta! Musisz najpierw zdobyć klucz.

Więcej w dokumentacji.

(if: )(else-if: )(else: )

Przykład 4

(set: $punkty to 10)


PODSUMOWANIE: zdobyłeś $punkty punktów.
{
    (if: $punkty >= 15)[Świetnie się spisałeś. Brawo!]
    (else-if: $punkty is 0)[Niestety - chyba miałeś okropnego pecha!]
    (else:)[Nie jest źle! Następnym razem na pewno pójdzie ci lepiej.]
}

Rezultat 4

Rezultat: PODSUMOWANIE: zdobyłeś 10 punktów. Nie jest źle! Następnym razem na pewno pójdzie ci lepiej.

Więcej w dokumentacji.

Instrukcja IF, linki i zmienne

Jeżeli brama jest zamknięta (true) to pojawi się tekst z linkiem do karteczki „klucz”, a w przeciwnym razie (false) pojawi się tekst z linkiem do karteczki „dziedziniec”. Możesz mieć pełny wpływ jakie linki pokażą się użytkownikowi, a jakie nie.

Przykład

(set: $brama_zamknieta to false)
(set: $gratulacje to "Udało się!")


Próbujesz otworzyć bramę...
{
    (if: $brama_zamknieta is true)[Musisz najpierw zdobyć [[klucz]].]
    (else:)[$gratulacje Możesz teraz przejść na [[dziedziniec]].]
}

Widok z edytora

Twine - Widok z edytora. Karteczka start jest połączona z karteczkami klucz oraz dziedziniec.

Rezultat

Rezultat: Próbujesz otworzyć bramę... Udało się! Możesz teraz przejść na dziedziniec.

Instrukcja IF i (display: )

Makro (display: ) sprawia, że na jednej karteczce możemy wyświetlić zawartość (treść) z innej karteczki (już istniejącej). Możesz zobaczyć też inny przykład wykorzystania tego makra w części o losowości.

Przykład

(set: $wydarzenie to 2)


Wchodzisz na dziedziniec.
{
    (if: $wydarzenie is 1)[(display: "wydarzenie-1")]
    (else-if: $wydarzenie is 2)[(display: "wydarzenie-2")]
    (else-if: $wydarzenie is 3)[(display: "wydarzenie-3")]
    (else:)[Nikogo jednak nie zastajesz.]
}

Widok z edytora

Twine - Widok z edytora. Żadna z karteczek nie jest połączona strzałeczkami. Na grafice widnieją karteczki: start, wydarzenie 1, 2 oraz 3.

Rezultat

Rezultat: Wchodzisz na dziedziniec. Wydarzenie 2.

Operatory logiczne

OperatorOpis
andiloczyn logiczny
orsuma logiczna
notnegacja logiczna

Iloczyn logiczny and

Wynikiem operacji and (iloczyn logiczny) jest wartość True wtedy i tylko wtedy, kiedy oba argumenty mają wartość True.

Argument 1Argument 2Wynik
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Suma logiczna or

Wynikiem operacji or (suma logiczna) jest wartość True jeżeli choć jeden z argumentów ma wartość True. Wartość False jest wtedy i tylko wtedy, kiedy oba argumenty mają wartość False.

Argument 1Argument 2Wynik
TrueTrueTrue
TrueFalse True
FalseTrue True
FalseFalseFalse

Negacja logiczna not

Wynikiem operacji not jest przeciwna wartość argumentu.

ArgumentWynik
TrueFalse
FalseTrue

Przykład

(set: $jest_noc to false)
(set: $latarka_wlaczona to false)


Jest (if: $jest_noc)[noc](else:)[dzień].
W ręku trzymasz (if: $latarka_wlaczona)[włączoną](else:)[wyłączoną] latarkę.


{
    (if: $jest_noc and $latarka_wlaczona)[Dostrzegasz na ścianie dziwne symbole. To chyba jakieś hasło...]
    (else-if: not $jest_noc and $latarka_wlaczona)[Włączanie latarki w dzień to nienajlepszy pomysł.]
    (else-if: $jest_noc and not $latarka_wlaczona)[Może warto pomyśleć o włączeniu latarki. Strasznie tu ciemno.]
    (else:)[Należy poczekać do wieczora i włączyć latarkę, aby sprawdzić czy nie ma tutaj ukrytych wskazówek.]
}

Rezultat

Rezultat: Jest dzień. W ręku trzymasz wyłączoną latarkę. Należy poczekać do wieczora i włączyć latarkę, aby sprawdzić czy nie ma tutaj ukrytych wskazówek.

Więcej informacji

Rozmiar czcionki
Kontrast