★ Warunki
Przykładowa gra¶
Operatory porównania¶
Operator | Opis |
---|---|
is | jest równe? |
is not | jest inne niż? |
> | jest większe? |
>= | jest większe lub równe? |
< | jest mniejsze? |
<= | jest mniejsze lub równe? |
Więcej w dokumentacji:
- operatory porównania - typ liczbowy
- operatory porównania - typ tekstowy
- operatory porównania - typ logiczny
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
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
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
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
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
Rezultat
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
Rezultat
Operatory logiczne¶
Operator | Opis |
---|---|
and | iloczyn logiczny |
or | suma logiczna |
not | negacja logiczna |
Iloczyn logiczny and¶
Wynikiem operacji and (iloczyn logiczny) jest wartość True wtedy i tylko wtedy, kiedy oba argumenty mają wartość True.
Argument 1 | Argument 2 | Wynik |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
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 1 | Argument 2 | Wynik |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Negacja logiczna not¶
Wynikiem operacji not jest przeciwna wartość argumentu.
Argument | Wynik |
---|---|
True | False |
False | True |
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