Διαδρομές
/
Elixir
Elixir
/
Ασκήσεις
/
Φύλλο χαρακτήρα παιχνιδιού ρόλων
Φύλλο χαρακτήρα παιχνιδιού ρόλων

Φύλλο χαρακτήρα παιχνιδιού ρόλων

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

Εισαγωγή

IO

Οι συναρτήσεις για τον χειρισμό της εισόδου και της εξόδου παρέχονται από το module IO.

Έξοδος

Για να γράψεις μια συμβολοσειρά στην τυπική έξοδο, χρησιμοποίησε το IO.puts. Το IO.puts προσθέτει πάντα μια νέα γραμμή στο τέλος της συμβολοσειράς. Αν δεν θέλεις αυτή τη συμπεριφορά, χρησιμοποίησε το IO.write. Και οι δύο συναρτήσεις επιστρέφουν το atom :ok αν πετύχουν.

IO.puts("Hi!")
# > Hi!
# => :ok

Το IO.puts είναι χρήσιμο για την εγγραφή συμβολοσειρών, αλλά όχι για πολλά περισσότερα. Αν χρειάζεσαι ένα εργαλείο για αποσφαλμάτωση που θα σου επιτρέπει να γράψεις οποιαδήποτε τιμή στην τυπική έξοδο, χρησιμοποίησε το IO.inspect. Το IO.inspect επιστρέφει την τιμή που του πέρασες αμετάβλητη, οπότε μπορεί να εισαχθεί σε οποιοδήποτε σημείο του κώδικά σου. Δέχεται επίσης πολλές επιλογές, για παράδειγμα το :label, που θα σου επιτρέψουν να το ξεχωρίζεις από άλλες κλήσεις του IO.inspect.

Είσοδος

Για να διαβάσεις μια γραμμή από την τυπική είσοδο, χρησιμοποίησε το IO.gets. Το IO.gets δέχεται ένα όρισμα: μια συμβολοσειρά που θα εκτυπώσει ως προτροπή για την είσοδο. Το IO.gets δεν προσθέτει νέα γραμμή μετά την προτροπή, οπότε πρόσθεσέ την μόνος σου αν τη χρειάζεσαι.

IO.gets("What's your name?\n")
# > What's your name?
# < Mary
# => "Mary\n"

Οδηγίες

Εσύ και οι φίλοι σου λατρεύετε να παίζετε παιχνίδια ρόλων με χαρτί και μολύβι, αλλά παρατήρησες ότι είναι δύσκολο να έρθουν νέα άτομα στην παρέα σου. Συχνά δυσκολεύονται με τη δημιουργία χαρακτήρα. Δεν ξέρουν από πού να αρχίσουν. Για να βοηθήσεις τους νέους παίκτες, αποφάσισες να γράψεις ένα μικρό πρόγραμμα που θα τους καθοδηγεί στη διαδικασία.

1. Καλωσόρισε τον νέο παίκτη

Υλοποίησε τη συνάρτηση RPG.CharacterSheet.welcome/0. Θα πρέπει να εκτυπώνει ένα μήνυμα καλωσορίσματος και να επιστρέφει :ok.

RPG.CharacterSheet.welcome()
# > Welcome! Let's fill out your character sheet together.
# => :ok

2. Ρώτησε το όνομα του χαρακτήρα

Υλοποίησε τη συνάρτηση RPG.CharacterSheet.ask_name/0. Θα πρέπει να εκτυπώνει μια ερώτηση, να περιμένει μια απάντηση και να επιστρέφει την απάντηση χωρίς κενά στην αρχή και στο τέλος.

RPG.CharacterSheet.ask_name()
# > What is your character's name?
# < Mathilde
# => "Mathilde"

3. Ρώτησε την κλάση του χαρακτήρα

Υλοποίησε τη συνάρτηση RPG.CharacterSheet.ask_class/0. Θα πρέπει να εκτυπώνει μια ερώτηση, να περιμένει μια απάντηση και να επιστρέφει την απάντηση χωρίς κενά στην αρχή και στο τέλος.

RPG.CharacterSheet.ask_class()
# > What is your character's class?
# < healer
# => "healer"

4. Ρώτησε το επίπεδο του χαρακτήρα

Υλοποίησε τη συνάρτηση RPG.CharacterSheet.ask_level/0. Θα πρέπει να εκτυπώνει μια ερώτηση, να περιμένει μια απάντηση και να επιστρέφει την απάντηση ως ακέραιο.

RPG.CharacterSheet.ask_level()
# > What is your character's level?
# < 2
# => 2

5. Συνδύασε τα προηγούμενα βήματα σε ένα

Υλοποίησε τη συνάρτηση RPG.CharacterSheet.run/0. Θα πρέπει να καλωσορίζει τον νέο παίκτη, να ρωτάει το όνομα, την κλάση και το επίπεδο του χαρακτήρα και να επιστρέφει το φύλλο χαρακτήρα ως map. Θα πρέπει επίσης να εκτυπώνει το map με την ετικέτα "Your character".

RPG.CharacterSheet.run()
# > Welcome! Let's fill out your character sheet together.
# > What is your character's name?
# < Mathilde
# > What is your character's class?
# < healer
# > What is your character's level?
# < 2
# > Your character: %{class: "healer", level: 2, name: "Mathilde"}
# => %{class: "healer", level: 2, name: "Mathilde"}
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Elixir Exercism

Έτοιμος να ξεκινήσεις την άσκηση Φύλλο χαρακτήρα παιχνιδιού ρόλων;

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