Διαδρομές
/
Elixir
Elixir
/
Ασκήσεις
/
Κανόνες του Pacman
Κανόνες του Pacman

Κανόνες του Pacman

Άσκηση εκμάθησης

Εισαγωγή

Boolean

Το Elixir αναπαριστά τις τιμές αληθής και ψευδής με τον τύπο Boolean (λογική τιμή). Υπάρχουν μόνο δύο τιμές: true και false. Αυτές οι τιμές μπορούν να δεσμευτούν σε μια μεταβλητή:

true_variable = true
false_variable = false

Μπορούμε να αξιολογήσουμε αυστηρές εκφράσεις Boolean χρησιμοποιώντας τους τελεστές and/2, or/2 και not/1.

true_variable = true and true
false_variable = true and false

true_variable = false or true
false_variable = false or false

true_variable = not false
false_variable = not true

Όταν γράφεις μια συνάρτηση που επιστρέφει μια τιμή Boolean, είναι ιδιωματικό να τελειώνεις το όνομα της συνάρτησης με ?. Την ίδια σύμβαση μπορείς να τη χρησιμοποιήσεις και για μεταβλητές που αποθηκεύουν τιμές Boolean.

def either_true?(a?, b?) do
  a? or b?
end

Οδηγίες

Σε αυτή την άσκηση, πρέπει να μεταφράσεις μερικούς κανόνες από το κλασικό παιχνίδι Pac-Man σε συναρτήσεις Elixir.

Έχεις τέσσερις κανόνες να μεταφράσεις, όλοι σχετικοί με τις καταστάσεις του παιχνιδιού.

Μην ανησυχείς για το πώς προκύπτουν τα ορίσματα, απλώς επικεντρώσου στον συνδυασμό τους για να επιστρέψεις το επιθυμητό αποτέλεσμα.

1. Όρισε αν ο Pac-Man τρώει ένα φάντασμα

Όρισε τη συνάρτηση Rules.eat_ghost?/2 που παίρνει δύο ορίσματα (αν ο Pac-Man έχει ένα ενεργό χάπι ενέργειας και αν ο Pac-Man αγγίζει ένα φάντασμα) και επιστρέφει μια Boolean τιμή (λογική τιμή) αν ο Pac-Man μπορεί να φάει το φάντασμα. Η συνάρτηση θα πρέπει να επιστρέφει την τιμή αληθής μόνο αν ο Pac-Man έχει ένα ενεργό χάπι ενέργειας και αγγίζει ένα φάντασμα.

Rules.eat_ghost?(false, true)
# => false

2. Όρισε αν ο Pac-Man σκοράρει

Όρισε τη συνάρτηση Rules.score?/2 που παίρνει δύο ορίσματα (αν ο Pac-Man αγγίζει ένα χάπι ενέργειας και αν ο Pac-Man αγγίζει μια κουκκίδα) και επιστρέφει μια Boolean τιμή αν ο Pac-Man σκόραρε. Η συνάρτηση θα πρέπει να επιστρέφει την τιμή αληθής αν ο Pac-Man αγγίζει ένα χάπι ενέργειας ή μια κουκκίδα.

Rules.score?(true, true)
# => true

3. Όρισε αν ο Pac-Man χάνει

Όρισε τη συνάρτηση Rules.lose?/2 που παίρνει δύο ορίσματα (αν ο Pac-Man έχει ένα ενεργό χάπι ενέργειας και αν ο Pac-Man αγγίζει ένα φάντασμα) και επιστρέφει μια Boolean τιμή αν ο Pac-Man χάνει. Η συνάρτηση θα πρέπει να επιστρέφει την τιμή αληθής αν ο Pac-Man αγγίζει ένα φάντασμα και δεν έχει ενεργό χάπι ενέργειας.

Rules.lose?(false, true)
# => true

4. Όρισε αν ο Pac-Man κερδίζει

Όρισε τη συνάρτηση Rules.win?/3 που παίρνει τρία ορίσματα (αν ο Pac-Man έχει φάει όλες τις κουκκίδες, αν ο Pac-Man έχει ένα ενεργό χάπι ενέργειας και αν ο Pac-Man αγγίζει ένα φάντασμα) και επιστρέφει μια Boolean τιμή αν ο Pac-Man κερδίζει. Η συνάρτηση θα πρέπει να επιστρέφει την τιμή αληθής αν ο Pac-Man έχει φάει όλες τις κουκκίδες και δεν έχει χάσει με βάση τα ορίσματα που ορίζονται στο μέρος 3.

Rules.win?(false, true, false)
# => false
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Elixir Exercism

Έτοιμος να ξεκινήσεις την άσκηση Κανόνες του Pacman;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Elixir με 58 έννοιες168 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.