Track
/
Kotlin
Kotlin
/
Esercizi
/
Personaggio di D&D
Personaggio di D&D

Personaggio di D&D

Facile

Introduzione

Dopo settimane di attesa, tu e i tuoi amici vi riunite per la vostra primissima partita a Dungeons & Dragons (D&D). Dato che è la prima sessione di gioco, ogni giocatore deve creare un personaggio con cui giocare. Le abilità del personaggio si determinano lanciando dadi a 6 facce, ma dove sono i dadi? Con uno shock, ti rendi conto che i tuoi amici aspettano che sia tu a creare i dadi; dopotutto è stata una tua idea giocare a D&D! Nel panico, ti accorgi di aver dimenticato di portare i dadi, il che vorrebbe dire niente partita a D&D. Dato che hai un po' di competenze di programmazione, trovi in fretta una soluzione: scriverai un programma che simula i lanci di dadi.

Istruzioni

In una partita a Dungeons & Dragons, ogni giocatore inizia generando un personaggio con cui giocare. Questo personaggio ha, tra le altre cose, sei abilità: strength, dexterity, constitution, intelligence, wisdom e charisma. I punteggi di queste sei abilità sono determinati in modo casuale. Per generare un punteggio, lancia quattro dadi a 6 facce e registra la somma dei tre dadi più alti. Lo fai sei volte, una per ogni abilità.

Gli hitpoints iniziali del personaggio sono 10 + il suo modifier di constitution. Per trovare il modifier di constitution, sottrai 10 dalla constitution, dividi per 2 e arrotonda per difetto.

Scrivi un generatore di personaggi casuale che segua le regole qui sopra.

Ad esempio, i sei lanci di quattro dadi potrebbero risultare così:

  • 5, 3, 1, 6: scarta l'1, somma 5 + 3 + 6 = 14 e assegnalo a strength.
  • 3, 2, 5, 3: scarta il 2, somma 3 + 5 + 3 = 11 e assegnalo a dexterity.
  • 1, 1, 1, 1: scarta l'1, somma 1 + 1 + 1 = 3 e assegnalo a constitution.
  • 2, 1, 6, 6: scarta l'1, somma 2 + 6 + 6 = 14 e assegnalo a intelligence.
  • 3, 5, 3, 4: scarta il 3, somma 5 + 3 + 4 = 12 e assegnalo a wisdom.
  • 6, 6, 6, 6: scarta il 6, somma 6 + 6 + 6 = 18 e assegnalo a charisma.

Dato che constitution è 3, il modifier di constitution è -4 e gli hitpoints sono 6.

Note

La maggior parte dei linguaggi di programmazione offre generatori (pseudo-)casuali, ma pochi linguaggi di programmazione sono progettati per lanciare i dadi. Uno di questi linguaggi è Troll.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Kotlin Exercism

Vuoi iniziare Personaggio di D&D?

Iscriviti a Exercism per imparare e padroneggiare Kotlin con 88 esercizi e il mentoring di persone reali, tutto gratis.

Approfondimento su Personaggio di D&D!

Esploriamo come generare lanci di dadi (apparentemente) casuali. Imparerai cosa sono i semi, i numeri pseudo casuali e alcune insidie comuni. Infine, vedremo perché i test basati su proprietà sono ottimi per testare funzioni che restituiscono valori casuali.