A C#-ban a Boolean értékeket a bool típus reprezentálja, amelynek értékei true vagy false lehetnek.
A C# három Boolean operátort támogat: ! (NEM), && (ÉS) és || (VAGY).
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 kislá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 bogyókat keres az erdőben.
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, 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 végiggondolja, hogy az alábbi cselekvések közül melyiket hajthatja végre:
Négy részfeladatod van: megvalósítani a logikát annak meghatározásához, hogy a fenti cselekvések elvégezhetők-e az erdőben talált három szereplő állapota, valamint Annalyn kutyájának jelenléte vagy hiánya alapján.
Valósítsd meg a (statikus) QuestLogic.CanFastAttack() metódust, amely egy Boolean értéket vár, ami azt jelzi, hogy a lovag ébren van-e. A metódus true értéket ad vissza, ha a lovag állapota alapján végrehajtható gyors támadás. Egyébként false értéket ad vissza:
var knightIsAwake = true;
QuestLogic.CanFastAttack(knightIsAwake);
// => false
Valósítsd meg a (statikus) QuestLogic.CanSpy() metódust, amely három Boolean értéket vár, rendre azt jelezve, hogy a lovag, az íjász és a fogoly ébren van-e. A metódus true értéket ad vissza, ha a három szereplő állapota alapján megfigyelhető a csoport. Egyébként false értéket ad vissza:
var knightIsAwake = false;
var archerIsAwake = true;
var prisonerIsAwake = false;
QuestLogic.CanSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
Valósítsd meg a (statikus) QuestLogic.CanSignalPrisoner() metódust, amely két Boolean értéket vár, rendre azt jelezve, hogy az íjász és a fogoly ébren van-e. A metódus 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:
var archerIsAwake = false;
var prisonerIsAwake = true;
QuestLogic.CanSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
Valósítsd meg a (statikus) QuestLogic.CanFreePrisoner() metódust, 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 metódus true értéket ad vissza, ha a három szereplő állapota és Annalyn kutyájának jelenléte alapján kiszabadítható a fogoly. Egyébként false értéket ad vissza:
var knightIsAwake = false;
var archerIsAwake = true;
var prisonerIsAwake = false;
var petDogIsPresent = false;
QuestLogic.CanFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) C# nyelvet 62 fogalom178 feladat segítségével, valódi emberi mentorálással, mindez ingyen.