Un booleano rappresenta uno di due valori: true o false.
Gli operatori logici (!, &&, ||) si usano in genere con valori booleani e restituiscono un valore booleano.
In questo esercizio implementerai la logica delle missioni per un nuovo gioco di ruolo che un amico sta sviluppando. La protagonista del gioco è Annalyn, una ragazza coraggiosa con un cane fedele e feroce. Purtroppo arriva la catastrofe: il suo migliore amico è stato rapito mentre cercava bacche nel bosco. Annalyn cercherà di trovare e liberare il suo migliore amico, portando eventualmente con sé il cane in questa missione.
Dopo aver seguito per un po' le tracce del suo migliore amico, trova l'accampamento in cui è imprigionato. Scopre che i rapitori sono due: un cavaliere possente ed un arciere astuto.
Trovati i rapitori, Annalyn valuta quali delle seguenti azioni può intraprendere:
Hai quattro compiti: implementare la logica che determina se le azioni descritte sono disponibili in base allo stato dei tre personaggi trovati nel bosco ed alla presenza o meno del cane di Annalyn.
Implementa una funzione chiamata canExecuteFastAttack che prende un valore booleano che indica se il cavaliere è sveglio.
La funzione restituisce true se l'azione "Attacco rapido" è disponibile in base allo stato del personaggio.
Altrimenti restituisce false:
const knightIsAwake = true;
canExecuteFastAttack(knightIsAwake);
// => false
Implementa una funzione chiamata canSpy che prende tre valori booleani, che indicano rispettivamente se il cavaliere, l'arciere ed il prigioniero sono svegli.
La funzione restituisce true se l'azione "Spia" è disponibile in base allo stato dei personaggi.
Altrimenti restituisce false:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
Implementa una funzione chiamata canSignalPrisoner che prende due valori booleani, che indicano rispettivamente se l'arciere ed il prigioniero sono svegli.
La funzione restituisce true se l'azione "Segnala al prigioniero" è disponibile in base allo stato dei personaggi.
Altrimenti restituisce false:
const archerIsAwake = false;
const prisonerIsAwake = true;
canSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
Implementa una funzione chiamata canFreePrisoner che prende quattro valori booleani.
I primi tre parametri indicano rispettivamente se il cavaliere, l'arciere ed il prigioniero sono svegli.
L'ultimo parametro indica se il cane di Annalyn è presente.
La funzione restituisce true se l'azione "Libera il prigioniero" è disponibile in base allo stato dei personaggi e alla presenza del cane di Annalyn.
Altrimenti restituisce false:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
const petDogIsPresent = false;
canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Iscriviti a Exercism per imparare e padroneggiare JavaScript con 37 concetti159 esercizi e il mentoring di persone reali, tutto gratis.