Το boolean αντιπροσωπεύει μία από δύο τιμές: true ή false.
Οι λογικοί τελεστές (!, &&, ||) χρησιμοποιούνται συνήθως με τιμές boolean και επιστρέφουν μια τιμή boolean.
Σε αυτή την άσκηση, θα υλοποιήσεις τη λογική της αποστολής για ένα νέο παιχνίδι RPG που αναπτύσσει ένας φίλος. Η κεντρική ηρωίδα του παιχνιδιού είναι η Annalyn, ένα γενναίο κορίτσι με έναν άγριο και πιστό σκύλο. Δυστυχώς, η καταστροφή χτυπά: η καλύτερή της φίλη απήχθη ενώ έψαχνε για μούρα στο δάσος. Η Annalyn θα προσπαθήσει να βρει και να ελευθερώσει την καλύτερή της φίλη, παίρνοντας προαιρετικά μαζί της και τον σκύλο της σε αυτή την αποστολή.
Αφού πέρασε αρκετή ώρα ακολουθώντας τα ίχνη της καλύτερής της φίλης, βρίσκει το στρατόπεδο όπου κρατείται αιχμάλωτη. Αποδεικνύεται ότι οι απαγωγείς είναι δύο: ένας κραταιός ιππότης και ένας πονηρός τοξότης.
Έχοντας βρει τους απαγωγείς, η Annalyn σκέφτεται ποιες από τις παρακάτω ενέργειες μπορεί να κάνει:
Έχεις τέσσερις εργασίες: να υλοποιήσεις τη λογική που καθορίζει αν οι παραπάνω ενέργειες είναι διαθέσιμες, με βάση την κατάσταση των τριών χαρακτήρων που βρίσκονται στο δάσος και το αν ο σκύλος της Annalyn είναι παρών ή όχι.
Υλοποίησε μια συνάρτηση με όνομα canExecuteFastAttack που δέχεται μια Boolean (λογική τιμή) η οποία δείχνει αν ο ιππότης είναι ξύπνιος.
Η συνάρτηση επιστρέφει true αν η ενέργεια "Γρήγορη επίθεση" είναι διαθέσιμη με βάση την κατάσταση του χαρακτήρα.
Διαφορετικά, επιστρέφει false:
const knightIsAwake = true;
canExecuteFastAttack(knightIsAwake);
// => false
Υλοποίησε μια συνάρτηση με όνομα canSpy που δέχεται τρεις τιμές Boolean, που δείχνουν αν ο ιππότης, ο τοξότης και ο κρατούμενος, αντίστοιχα, είναι ξύπνιοι.
Η συνάρτηση επιστρέφει true αν η ενέργεια "Κατασκοπεία" είναι διαθέσιμη με βάση την κατάσταση των χαρακτήρων.
Διαφορετικά, επιστρέφει false:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake);
// => true
Υλοποίησε μια συνάρτηση με όνομα canSignalPrisoner που δέχεται δύο τιμές Boolean, που δείχνουν αν ο τοξότης και ο κρατούμενος, αντίστοιχα, είναι ξύπνιοι.
Η συνάρτηση επιστρέφει true αν η ενέργεια "Σήμα στον κρατούμενο" είναι διαθέσιμη με βάση την κατάσταση των χαρακτήρων.
Διαφορετικά, επιστρέφει false:
const archerIsAwake = false;
const prisonerIsAwake = true;
canSignalPrisoner(archerIsAwake, prisonerIsAwake);
// => true
Υλοποίησε μια συνάρτηση με όνομα canFreePrisoner που δέχεται τέσσερις τιμές Boolean.
Οι τρεις πρώτες παράμετροι δείχνουν αν ο ιππότης, ο τοξότης και ο κρατούμενος, αντίστοιχα, είναι ξύπνιοι.
Η τελευταία παράμετρος δείχνει αν ο σκύλος της Annalyn είναι παρών.
Η συνάρτηση επιστρέφει true αν η ενέργεια "Απελευθέρωση του κρατούμενου" είναι διαθέσιμη με βάση την κατάσταση των χαρακτήρων και την παρουσία του σκύλου της Annalyn.
Διαφορετικά, επιστρέφει false:
const knightIsAwake = false;
const archerIsAwake = true;
const prisonerIsAwake = false;
const petDogIsPresent = false;
canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent);
// => false
Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.