A Cairo-ban a Boolean értékeket az előre deklarált bool Boolean-típus képviseli, amelynek értéke true vagy false lehet.
let speeding = true; // Boolean variable 'speeding' set to 'true'
let has_error = false; // Boolean variable 'has_error' set to 'false'
A Cairo három logikai operátort támogat, amelyek a kifejezéseket Boolean értékké értékelhetik ki, és true vagy false értéket adnak vissza.
| Operátor | Mit jelent |
|---|---|
&& (és) |
Akkor igaz, ha mindkét állítás igaz. |
|| (vagy) |
Akkor igaz, ha legalább az egyik állítás igaz. |
! (nem) |
Csak akkor igaz, ha az állítás hamis. |
Ebben a feladatban egy barátod által fejlesztett új RPG-játék küldetéslogikáját fogod megvalósítani. A játék főszereplője Annalyn, egy bátor lány, akinek van egy elszánt és hűséges kutyája. Sajnos azonban baj történik: a legjobb barátját elrabolják, miközben az erdőben bogyókat keres. Annalyn megpróbálja megtalálni és kiszabadítani a legjobb barátját, és akár a kutyáját is magával viheti a küldetésre.
Miután egy ideig a legjobb barátja nyomát követi, rátalál a táborra, ahol a barátját fogva tartják. Kiderül, hogy két emberrabló van: egy hatalmas lovag és egy ravasz íjász.
Miután megtalálta az emberrablókat, Annalyn elgondolkodik, hogy az alábbi akciók közül melyiket tudja végrehajtani:
Négy részfeladatod van: megvalósítani azt a logikát, amely az erdőben talált három szereplő állapota, valamint Annalyn kutyájának jelenléte vagy hiánya alapján eldönti, hogy a fenti akciók közül melyik hajtható végre.
Definiáld a can_fast_attack() függvényt, amely egy boolean értéket vár, ami megmutatja, hogy a lovag ébren van-e.
A függvény true értéket ad vissza, ha a lovag állapota alapján végrehajtható egy gyors támadás.
Egyébként false értéket ad vissza:
let knight_awake = true;
can_fast_attack(knight_awake); // false
Definiáld a can_spy() függvényt, amely három boolean értéket vár: ezek rendre azt mutatják, hogy a lovag, az íjász és a fogoly ébren van-e.
A függvény true értéket ad vissza, ha a három szereplő állapota alapján kémkedni lehet a csoport után.
Egyébként false értéket ad vissza:
let knight_awake = false;
let archer_awake = true;
let prisoner_awake = false;
can_spy(knight_awake, archer_awake, prisoner_awake); // true
Definiáld a can_signal_prisoner() függvényt, amely két boolean értéket vár: ezek rendre azt mutatják, hogy az íjász és a fogoly ébren van-e.
A függvény true értéket ad vissza, ha a két szereplő állapota alapján jelezni lehet a fogolynak.
Egyébként false értéket ad vissza:
let archer_awake = false;
let prisoner_awake = true;
can_signal_prisoner(archer_awake, prisoner_awake); // true
Definiáld a can_free_prisoner() függvényt, amely négy boolean értéket vár.
Az első három paraméter rendre azt mutatja, hogy a lovag, az íjász és a fogoly ébren van-e.
Az utolsó paraméter azt jelzi, hogy Annalyn kutyája jelen van-e.
A függvény true értéket ad vissza, ha a három szereplő állapota és Annalyn kutyájának jelenléte alapján ki lehet szabadítani a foglyot.
Egyébként false értéket ad vissza:
let knight_awake = false;
let archer_awake = true;
let prisoner_awake = false;
let dog_present = false;
can_free_prisoner(knight_awake, archer_awake, prisoner_awake, dog_present); // false
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Cairo nyelvet 25 fogalom68 feladat segítségével, valódi emberi mentorálással, mindez ingyen.