Skip to content

★ 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:



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 1 - rezultat



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

Przykład 2 - rezultat

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

Przykład 3 - rezultat

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

Przykład 4 - rezultat

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

Przykład if, linki i zmienne - widok z edytora

Rezultat

Przykład if, linki i zmienne - 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

Przykład if i display - widok z edytora

Rezultat

Przykład if i display - 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

Operatory logiczne - rezultat



Więcej informacji