Les combats de Némésis sont simples :
- Choisissez des bassins de yang/yin,
- Lancez Nd6 contre l'habileté,
- Distribuer des coups de Yang à un ou plusieurs adversaires,
- Bloquez les coups portés avec le Yin ou le Chi,
- Le premier à -1 Chi perd,
- Les joueurs gagnent les égalités.
En vertu d'un question précédente J'essaie de modéliser cette séquence dans Anydice. Pour des raisons de simplicité, je saute les étapes du yang/yin et modélise les joueurs comme un seul grand pool de Chi.
Idéalement, ce graphique Anydice doit afficher la probabilité que les joueurs possédant PCHI
chi gagner un combat contre un Némésis possédant NCHI
chi.
La fonction récursive "combat" :
function: fight PCHI:n chi vs NCHI:n chi {
HITS: 5d(1d6<=2)
TAKES: 5d(1d6<=2)
PLAYERWIN: HITS >= TAKES
if PLAYERWIN {
if NCHI = 0 {
result: 1
}
result: [fight PCHI chi vs NCHI-1 chi]
}
if X = 0 {
result: 0
}
result: [fight PCHI-1 chi vs NCHI chi]
}
output [fight 5 chi vs 5 chi]
Actuellement, Anydice produit l'erreur suivante :
calculation error
Boolean values can only be numbers, but you provided "d{?}".
Depending on what you want, you might need to create a function.
Je crois que cela indique que PLAYERWIN
est une gamme de rouleaux. Tout cela est bien beau, mais pour l'instant je ne sais pas comment structurer la fonction pour qu'elle revienne avec des arguments différents selon que les joueurs ont effectivement infligé des coups égaux ou supérieurs.