A bool típusnak (a boolean rövidítése) csak két értéke van: true és false.
A true és false literálértékeknél a kódban nem számít a kis- és nagybetű.
<?php
$value_is_true = true;
$value_is_false = false;
A Boolean értékek gyakran egy operátor eredményeként jelennek meg logikai kifejezésekben, majd vezérlési szerkezetekben használjuk őket.
Több logikai operátor is létezik:
!$a: true-t ad vissza, ha $a nem true
$a && $b: true-t ad vissza, ha $a és $b is true
$a || $b: true-t ad vissza, ha $a vagy $b közül legalább az egyik true
Létezik and és or operátor is, amelyek rendre megfelelnek a && és || operátornak.
Ezek viselkedése nem azonos a && és || operátoréval, és váratlan eredményeket adhatnak, ezért a használatukat nem javasoljuk.
Ebben a feladatban egy új RPG-játék küldetéslogikáját valósítod meg, amelyet egy barátod fejleszt. 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 elrabolták, miközben az erdőben bogyókat keresett. Annalyn megpróbálja megtalálni és kiszabadítani a legjobb barátját, és erre a küldetésre akár a kutyáját is magával viheti.
Miután egy ideig a legjobb barátja nyomát követi, megtalálja a tábort, amelyben 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 végiggondolja, hogy az alábbi cselekvések közül melyiket hajthatja végre:
Négy részfeladat vár rád: meg kell valósítanod annak logikáját, hogy az erdőben talált három szereplő állapota, valamint Annalyn kutyájának jelenléte alapján eldönthető legyen, hogy a fenti cselekvések elvégezhetők-e.
Valósíts meg egy canFastAttack nevű függvényt, amely egy Boolean értéket vár, ami azt jelzi, hogy a lovag ébren van-e.
A függvény true-t ad vissza, ha a szereplő állapota alapján a „Gyors támadás” végrehajtható.
Ellenkező esetben false-t ad vissza:
<?php
$is_knight_awake = true;
$infiltration = new AnnalynsInfiltration();
$infiltration->canFastAttack($is_knight_awake);
// => false
Valósíts meg egy canSpy nevű függvényt, amely három Boolean értéket vár, amelyek rendre azt jelzik, hogy a lovag, az íjász és a fogoly ébren van-e.
A függvény true-t ad vissza, ha a szereplők állapota alapján a „Kémkedés” végrehajtható.
Ellenkező esetben false-t ad vissza:
<?php
$is_knight_awake = false;
$is_archer_awake = true;
$is_prisoner_awake = false;
$infiltration = new AnnalynsInfiltration();
$infiltration->canSpy($is_knight_awake, $is_archer_awake, $is_prisoner_awake);
// => true
Valósíts meg egy canSignal nevű függvényt, amely két Boolean értéket vár, amelyek rendre azt jelzik, hogy az íjász és a fogoly ébren van-e.
A függvény true-t ad vissza, ha a szereplők állapota alapján a „Jelzés a fogolynak” végrehajtható.
Ellenkező esetben false-t ad vissza:
<?php
$is_archer_awake = false;
$is_prisoner_awake = true;
$infiltration = new AnnalynsInfiltration();
$infiltration->canSignal($is_archer_awake, $is_prisoner_awake);
// => true
Valósíts meg egy canLiberate nevű függvényt, amely négy Boolean értéket vár.
Az első három paraméter rendre azt jelzi, 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-t ad vissza, ha a szereplők állapota és Annalyn kutyájának jelenléte alapján a „Fogoly kiszabadítása” végrehajtható.
Ellenkező esetben false-t ad vissza:
<?php
$is_knight_awake = false;
$is_archer_awake = true;
$is_prisoner_awake = false;
$is_dog_present = false;
$infiltration = new AnnalynsInfiltration();
$infiltration->canLiberate(
$is_knight_awake,
$is_archer_awake,
$is_prisoner_awake,
$is_dog_present
);
// => false
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) PHP nyelvet 11 fogalom122 feladat segítségével, valódi emberi mentorálással, mindez ingyen.