Kurzusok
/
Elixir
Elixir
/
Feladatok
/
RPG-karakterlap
RPG-karakterlap

RPG-karakterlap

Tanulófeladat

Bevezetés

IO

A bemenet és kimenet kezelésére szolgáló függvényeket az IO modul biztosítja.

Kimenet

Ha egy stringet a szabványos kimenetre szeretnél írni, használd az IO.puts függvényt. Az IO.puts mindig hozzáad egy új sort a string végéhez. Ha nem szeretnéd ezt a viselkedést, használd inkább az IO.write függvényt. Mindkét függvény a :ok atomot adja vissza, ha sikerül.

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

Az IO.puts stringek írásához hasznos, de másra nem igazán. Ha olyan eszközre van szükséged debugoláshoz, amellyel bármilyen értéket a szabványos kimenetre írhatsz, használd inkább az IO.inspect függvényt. Az IO.inspect változatlanul adja vissza a neki átadott értéket, így a kódod bármely pontjára beilleszthető. Emellett számos opciót fogad, például a :label-t, amellyel megkülönböztetheted a többi IO.inspect hívástól.

Bemenet

Ha egy sort szeretnél beolvasni a szabványos bemenetről, használd az IO.gets függvényt. Az IO.gets egy argumentumot fogad: egy stringet, amelyet bemeneti kérdésként kiír. Az IO.gets nem ad hozzá új sort a kérdés után; ha szükséged van rá, neked kell hozzáadnod.

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

Utasítások

Te és a barátaid imádtok asztali szerepjátékokkal játszani, de észrevetted, hogy nehéz új embereket bevonni a csapatotokba. Az újoncok gyakran megakadnak a karakteralkotásnál. Nem tudják, hol kezdjék. Hogy segíts az új játékosoknak, elhatároztad, hogy írsz egy kis programot, ami végigvezeti őket a folyamaton.

1. Üdvözöld az új játékost

Valósítsd meg a RPG.CharacterSheet.welcome/0 függvényt. A függvény írjon ki egy üdvözlő üzenetet, és adjon vissza :ok-ot.

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

2. Kérdezd meg a karakter nevét

Valósítsd meg a RPG.CharacterSheet.ask_name/0 függvényt. A függvény írjon ki egy kérdést, várjon egy válaszra, és a választ az elején és a végén lévő szóközök nélkül adja vissza.

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

3. Kérdezd meg a karakter kasztját

Valósítsd meg a RPG.CharacterSheet.ask_class/0 függvényt. A függvény írjon ki egy kérdést, várjon egy válaszra, és a választ az elején és a végén lévő szóközök nélkül adja vissza.

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

4. Kérdezd meg a karakter szintjét

Valósítsd meg a RPG.CharacterSheet.ask_level/0 függvényt. A függvény írjon ki egy kérdést, várjon egy válaszra, és a választ egész számként adja vissza.

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

5. Vond össze az előző lépéseket egyetlen függvénybe

Valósítsd meg a RPG.CharacterSheet.run/0 függvényt. A függvény köszöntse az új játékost, kérdezze meg a karakter nevét, kasztját és szintjét, majd a karakterlapot egy map formájában adja vissza. Ezen kívül írja ki a mapet a „Your character” címkével.

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"}
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Elixir Exercism

Készen állsz elkezdeni a(z) RPG-karakterlap feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Elixir nyelvet 58 fogalom168 feladat segítségével, valódi emberi mentorálással, mindez ingyen.