Ein boolescher Wert stellt einen von zwei Werten dar: true oder false.
Logische Operatoren (!, &&, ||) werden für gewöhnlich mit booleschen Werten verwendet und geben selbst einen booleschen Wert zurück.
In dieser Übung implementierst du die Quest-Logik für ein neues RPG, das ein Freund gerade entwickelt. Die Hauptfigur des Spiels ist Annalyn, ein mutiges Mädchen mit einem wilden und treuen Hund. Doch dann schlägt das Unglück zu: Ihre beste Freundin wurde entführt, während sie im Wald nach Beeren suchte. Annalyn versucht, ihre beste Freundin zu finden und zu befreien, wobei sie ihren Hund auf dieser Quest optional mitnimmt.
Nachdem sie eine Zeit lang der Spur ihrer besten Freundin gefolgt ist, findet sie das Lager, in dem ihre beste Freundin gefangen gehalten wird. Es stellt sich heraus, dass es zwei Entführer gibt: einen mächtigen Ritter und einen gerissenen Bogenschützen.
Nachdem Annalyn die Entführer gefunden hat, überlegt sie, welche der folgenden Aktionen sie ausführen kann:
Du hast vier Aufgaben: die Logik zu implementieren, mit der du anhand des Zustands der drei im Wald gefundenen Figuren und der Anwesenheit von Annalyns Hund feststellst, ob die oben genannten Aktionen möglich sind.
Implementiere eine Funktion namens canExecuteFastAttack, die einen booleschen Wert entgegennimmt, der angibt, ob der Ritter wach ist.
Diese Funktion gibt true zurück, wenn die Aktion „Schnellangriff“ anhand des Zustands der Figur möglich ist.
Andernfalls gibt sie false zurück:
const knightIsAwake = true;
canExecuteFastAttack(knightIsAwake);
// => false
Implementiere eine Funktion namens canSpy, die drei boolesche Werte entgegennimmt, die angeben, ob der Ritter, der Bogenschütze bzw. der Gefangene wach ist.
Die Funktion gibt true zurück, wenn die Aktion „Spionieren“ anhand des Zustands der Figuren möglich ist.
Andernfalls gibt sie false zurück:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
Implementiere eine Funktion namens canSignalPrisoner, die zwei boolesche Werte entgegennimmt, die angeben, ob der Bogenschütze bzw. der Gefangene wach ist.
Die Funktion gibt true zurück, wenn die Aktion „Gefangenen signalisieren“ anhand des Zustands der Figuren möglich ist.
Andernfalls gibt sie false zurück:
const archerIsAwake = false;
const prisonerIsAwake = true;
canSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
Implementiere eine Funktion namens canFreePrisoner, die vier boolesche Werte entgegennimmt.
Die ersten drei Parameter geben an, ob der Ritter, der Bogenschütze bzw. der Gefangene wach ist.
Der letzte Parameter gibt an, ob Annalyns Hund dabei ist.
Die Funktion gibt true zurück, wenn die Aktion „Gefangenen befreien“ anhand des Zustands der Figuren und der Anwesenheit von Annalyns Hund möglich ist.
Andernfalls gibt sie false zurück:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
const petDogIsPresent = false;
canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Melde dich bei Exercism an, um JavaScript mit 37 Konzepte159 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.