Kurzusok
/
Nim
Nim
/
Feladatok
/
D&D-karakter
D&D-karakter

D&D-karakter

Könnyű

Bevezetés

Hetek óta tartó várakozás után te és a barátaid összegyűltök, hogy lejátsszátok a legeslegelső Dungeons & Dragons (D&D) játékotokat. Mivel ez a játék első alkalma, minden játékosnak létre kell hoznia egy karaktert, akivel játszik. A karakter képességeit hatoldalú kockák dobásával határozzák meg, de hol vannak a kockák? Megdöbbenve veszed észre, hogy a barátaid arra várnak, hogy te szerezd be a kockákat; hiszen a te ötleted volt, hogy D&D-t játsszatok! Pánikba esve ráébredsz, hogy elfelejtettél kockát hozni, ami azt jelentené, hogy nem lesz D&D játék. Mivel van némi alapvető programozási ismereted, gyorsan kitalálod a megoldást: írsz egy programot, ami szimulálja a kockadobásokat.

Utasítások

A Dungeons & Dragons játékban minden játékos azzal kezdi, hogy generál egy karaktert, akivel játszhat. Ennek a karakternek többek között hat képessége van: erő, ügyesség, állóképesség, intelligencia, bölcsesség és karizma. Ennek a hat képességnek az értékét véletlenszerűen határozzuk meg. Ehhez négy hatoldalú kockával dobsz, és feljegyzed a három legnagyobb kocka összegét. Ezt hatszor teszed meg, minden képességhez egyszer.

A karaktered kezdeti életerőpontjai 10 + a karaktered állóképesség-módosítója. A karaktered állóképesség-módosítóját úgy kapod meg, hogy a karaktered állóképességéből kivonsz 10-et, elosztod 2-vel, és lefelé kerekíted.

Írj egy véletlenszerű karaktergenerátort, amely követi a fenti szabályokat.

Például a négy kockával végzett hat dobás így nézhet ki:

  • 5, 3, 1, 6: Az 1-est eldobod, és az 5 + 3 + 6 = 14 összeget az erőhöz rendeled.
  • 3, 2, 5, 3: A 2-est eldobod, és a 3 + 5 + 3 = 11 összeget az ügyességhez rendeled.
  • 1, 1, 1, 1: Az 1-est eldobod, és az 1 + 1 + 1 = 3 összeget az állóképességhez rendeled.
  • 2, 1, 6, 6: Az 1-est eldobod, és a 2 + 6 + 6 = 14 összeget az intelligenciához rendeled.
  • 3, 5, 3, 4: A 3-ast eldobod, és az 5 + 3 + 4 = 12 összeget a bölcsességhez rendeled.
  • 6, 6, 6, 6: A 6-ost eldobod, és a 6 + 6 + 6 = 18 összeget a karizmához rendeled.

Mivel az állóképesség 3, az állóképesség-módosító -4, az életerőpontok pedig 6.

Note

A legtöbb programozási nyelv rendelkezik pszeudo-véletlen generátorral, de kevés programozási nyelvet terveztek kockadobásra. Egy ilyen nyelv a Troll.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Nim Exercism

Készen állsz elkezdeni a(z) D&D-karakter feladatot?

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

Mélyelemzés: D&D-karakter!

Megvizsgáljuk, hogyan generálhatunk (látszólag) véletlenszerű kockadobásokat. Megismerkedsz a seedekkel, az álvéletlen számokkal és néhány gyakori buktatóval. Végül meglátjuk, miért kiváló a tulajdonságalapú tesztelés a véletlenszerű értékeket visszaadó függvények tesztelésére.