5 votes

Comment puis-je calculer la probabilité d'être en mesure d'acheter une carte dans mon système de dés personnalisé?

Je suis en train de travailler sur la probabilité d'atteindre un total avec un système de dés personnalisé.

Chaque dé de ce système a 6 faces : 1 Épée, 2 Épée, 3 Épée, Politique, Château et Sorcier.

Chaque joueur commence avec 7 dés. À leur tour, ils peuvent acheter des cartes d'un Réserve central s'ils parviennent à obtenir un total spécifié sur la carte. Un exemple serait la carte Prêtre qui exige qu'un joueur obtienne 4 Épées, 1 Épée, 1 Politique et 1 Château. Un joueur déclarerait qu'il va tenter d'acheter cette carte, puis lancerait ses dés. Il essaierait de combiner des dés pour répondre à l'exigence des 4 Épées, et/ou dépenser des dés pour répondre à toute autre exigence indiquée. L'ordre dans lequel les exigences sont remplies n'a pas d'importance. Après avoir dépensé autant de dés que le joueur le souhaite, sans minimum, le joueur relancerait tous les dés restants non utilisés pour satisfaire aux exigences et retenter s'il n'avait pas encore rempli toutes les exigences. S'il n'avait satisfait à aucune exigence ce tour, il paierait une pénalité de 1 dé. Les dés ne peuvent pas être conservés d'un tour à l'autre.

Je cherche un moyen de calculer rapidement les chances de pouvoir acheter avec succès une carte lors d'un tour donné en fonction de son coût.

Un exemple d'achat infructueux serait :

1) Le joueur déclare qu'il souhaite acheter la carte Prêtre

2) Le joueur lance 1 Épée, 1 Épée, Politique, Politique, 3 Épées, Château, 2 Épées.

3) Il décide de placer 1 Épée pour répondre à l'exigence d'1 Épée, les 3 Épées et l'autre Épée pour répondre à l'exigence des 4 Épées, il choisit de ne pas dépenser les politiques pour répondre à l'exigence Politique (pas de raison particulière, juste comme ça) et relance maintenant 4 dés car 3 sont placés sur la carte Prêtre répondant aux exigences.

Les lancés suivants sont tous des épées, donc le joueur perd un seul dé et relance 3.

Il obtient 3 politiques et en prend une pour compléter l'exigence Politique laissant 2 à jouer.

Il lance, obtient 3 Épées et un Sorcier, et perd donc un dé.

Il lance de nouveau, obtient 2 Épées, et échoue à remplir les exigences.

Il y a d'autres mécanismes en jeu avec des cartes qui modifient les conditions mais j'ai juste besoin d'aide sur cet aspect.

J'ai essayé d'utiliser AnyDice et je n'ai pas eu de réel succès car les exemples et modifications de code existant donnent des erreurs.

Encore une fois, je cherche à calculer rapidement les probabilités de pouvoir acheter une carte lors d'un tour unique en fonction de son prix.

J'ai l'intention d'utiliser ce mécanisme d'abord dans un jeu de cartes, puis de l'adapter pour l'utiliser comme mécanique derrière un système de jeu de rôle.

0 votes

Les commentaires ne sont pas destinés à prolonger la discussion sur les implémentations de programmes ; cette conversation a été déplacée dans le chat.

1 votes

Votre exemple pourrait probablement être amélioré un peu, car le joueur aurait pu l'acheter directement avec leur lancer initial. Il est concevable qu'un joueur ait retenu de ne pas attribuer, disons, une épée 1 sous le prétexte qu'ils avaient plus de chances d'en obtenir une plus tard, ce qui aiderait à obtenir d'autres résultats entre-temps. Choisir de ne pas saisir simplement la victoire lorsqu'elle a été offerte, cependant, suggère un joueur qui ne se soucie pas vraiment de gagner.

0 votes

@user37069 pouvez-vous étendre les règles sur la combinaison des dés pour répondre à une exigence? Puis-je combiner un 2-épée et un 3-épée pour répondre à une exigence de 4-épée? Ou plus généralement, est-ce que X-épée remplit l'exigence pour (X-1)-épée? De plus, si je fais une mauvaise combinaison (1-épée + 1-épée + 2-épée), suis-je autorisé à la remplacer si j'obtiens des dés de remplacement non triviaux? Et si oui, est-ce que cela "compte" comme un jet réussi?

4voto

Eldritch Arbalest Points 865

Il existe un jeu de dés presque exactement comme celui que vous décrivez appelé Farkle. Farkle est un jeu où vous essayez de réaliser certaines combinaisons de dés et lorsque vous faites une combinaison, les dés concernés sont "verrouillés" et retirés de votre pool de dés à lancer. Tant que vous faites au moins un lancer gagnant et que vous verrouillez ce score, vous pouvez continuer à lancer tous les dés qui n'ont pas encore été verrouillés. Au lieu de scores, votre jeu a des coûts pour les cartes, mais cela ne change pas les mathématiques.

Voici quelques bons articles sur le score et la probabilité pour Farkle:

https://graciesdad.wordpress.com/2009/08/30/farkle-odds/

http://www.jonmutchler.com/FarkleFun2.html

Le mot "Farkle" fait référence à "ne pas avoir marqué lors d'un lancer". Donc, lorsque vous voyez "probabilité de Farkle", ils parlent de la probabilité de lancer les dés de telle manière que rien ne puisse être verrouillé, auquel cas le joueur doit arrêter de lancer. 1 - P(farkle) = probabilité de marquer et de continuer à lancer.

Tout ce que vous auriez à faire est de remplacer le tableau des scores possibles par les coûts associés à vos cartes et de mapper chaque face des dés de votre jeu de dés à 1-6 (par exemple. "Épée 1-3" est 1-3, Politique = 4, Château = 5, Sorcier = 6). Les différences que vous devez prendre en compte sont que Farkle est joué avec 6 dés et que votre jeu se joue avec 7, et que dans Farkle, un simple 1 ou 5 est un lancer gagnant, tandis que dans votre jeu, un lancer qui contribue au coût d'une carte est un lancer gagnant ; donc votre "P(farkle)" change en fonction de la carte pour laquelle vous lancez.

Si vous avez besoin d'aide pour convertir un jeu de 6 dés en un jeu de 7 dés, c'est une question distincte mais je peux essayer de vous aider également. Sinon (si cela n'est pas contraire à votre jeu), vous pouvez faire de votre jeu un jeu de 6 dés et le transporter directement, en réduisant les coûts de toutes vos cartes de 1 pour prendre en compte moins de dés.

0 votes

Bizarrement, Farkle est d'où l'idée initiale du jeu est venue, et l'a développée pour un nouveau système car il offrait des mécaniques de dés intéressantes.

0 votes

Y a-t-il une raison pour laquelle vous ne voulez pas simplement refaire l'apparence de Farkle dans votre jeu ? Pourquoi les dés supplémentaires ?

0 votes

En bricolant avec 7 dés fonctionne bien en diminuant le nombre de dés car cela maintient le jeu à peu près le bon temps par tour.

4voto

import random Points 141

J'ai codé une simulation incomplète de vos règles en Python. D'après ma stratégie, j'ai environ 80 % de chances d'acheter la carte Prêtre avec sept dés. J'ai testé le code sur TiO afin que vous puissiez l'exécuter sans installer Python localement.

Voici un exemple de la sortie de débogage :

Reqs: [Sword_4, Sword_1, Political, Castle]
Rolls: [Wizard, Sword_1, Sword_3, Sword_1, Castle, Wizard, Sword_1]
Matched: Castle
4 matched by 3, 1
Sword_1 Matched exactly
No matches with: [Wizard, Sword_1, Wizard, Sword_1], still need [Political]
Rerolling 4
Reqs: [Political]
Rolls: [Castle, Wizard, Sword_3, Castle]
Current Matches: [Castle, Sword_3, Sword_1, Sword_1]
No matches with: [Castle, Wizard, Sword_3, Castle], still need [Political]
Rerolling 3
Reqs: [Political]
Rolls: [Sword_2, Sword_1, Sword_3]
Current Matches: [Castle, Sword_3, Sword_1, Sword_1]
No matches with: [Sword_2, Sword_1, Sword_3], still need [Political]
Rerolling 1
Reqs: [Political]
Rolls: [Sword_3]
Current Matches: [Castle, Sword_3, Sword_1, Sword_1]
No matches with: [Sword_3], still need [Political]
Rerolling -2
Failed to acquire Priest remaining:
Chance to buy card Priest is about 78.39% after 10000 iterations

Voici une tentative réussie :

Reqs: [Sword_4, Sword_1, Political, Castle]
Rolls: [Castle, Sword_1, Sword_1, Wizard, Sword_1, Sword_1, Sword_3]
Matched: Castle
4 matched by 3, 1
Sword_1 Matched exactly
No matches with: [Sword_1, Wizard, Sword_1, Sword_1], still need [Political]
Rerolling 4
Reqs: [Political]
Rolls: [Political, Sword_2, Castle, Sword_1]
Current Matches: [Castle, Sword_3, Sword_1, Sword_1]
Matched: Political
Unneeded: [Sword_2, Castle, Sword_1]
Successfully acquired Priest

Vous pouvez définir de nouvelles cartes en modifiant la ligne :

priest = card("Priest", dice.Sword_4, dice.Sword_1, dice.Political, dice.Castle)

Je m'excuse pour la verbosité, je m'assurais que la stratégie fonctionnait correctement.

Un exemple où ma mise en œuvre est défaillante est l'échec de la mise en correspondance d'une épée 4 avec une épée 2 et deux épées 1. C'est relativement trivial à ajouter, mais c'est probablement quelque chose que vous choisiriez si l'épée 4 était votre seule exigence restante.

En fait, je viens de revoir vos règles et j'ai mal appliqué les pénalités. J'ai juste donné la première relance gratuite et ajouté une pénalité croissante pour chaque tour suivant. Il est relativement simple de suivre les matchs au cours d'un tour et d'appliquer les pénalités ensuite, je pense que cela facilitera le recrutement du prêtre.

Faites-moi savoir si cette approche est intéressante ou utile et je la corrigerai ou n'hésitez pas à l'essayer vous-même.

Editar : Ok, ça me rongeait donc j'ai corrigé l'implémentation aquí . Comme on s'en doute, les chances d'acquérir un prêtre augmentent, pour atteindre environ quatre-vingt-cinq pour cent. Voici un nouveau journal montrant un exemple incluant les relances :

Reqs: [Sword_4, Sword_1, Political, Castle]
Rolls: [Sword_1, Sword_1, Wizard, Sword_1, Wizard, Sword_2, Wizard]
Sword_1 Matched exactly
No matches with: [Sword_1, Sword_1, Wizard, Sword_1, Wizard, Sword_2, Wizard], still need [Sword_4, Political, Castle]
Rerolling 7
Reqs: [Sword_4, Political, Castle]
Rolls: [Castle, Castle, Wizard, Sword_2, Castle, Sword_2, Sword_1]
Current Matches: [Sword_1]
Matched: Castle
4 matched by 2, 2
No matches with: [Castle, Wizard, Castle, Sword_1], still need [Political]
Rerolling 4
Reqs: [Political]
Rolls: [Sword_3, Sword_1, Sword_1, Sword_2]
Current Matches: [Sword_1, Castle, Sword_2, Sword_2]
No matches with: [Sword_3, Sword_1, Sword_1, Sword_2], still need [Political]
Rerolling 3
Reqs: [Political]
Rolls: [Sword_2, Sword_3, Political]
Current Matches: [Sword_1, Castle, Sword_2, Sword_2]
Matched: Political
Unneeded: [Sword_2, Sword_3]
Successfully acquired Priest

Malheureusement, cela montre un autre problème : je ne retirais pas le dé d'épée du pool lorsqu'il correspondait exactement. De même, je ne permettais pas à deux dés d'épée 3 de remplir une condition d'épée 4. Une correction rapide aquí ce qui nous ramène à 81% de chances d'acquérir le prêtre.

Voici une tentative d'acquisition ratée qui semble correcte :

Reqs: [Sword_4, Sword_1, Political, Castle]
Rolls: [Wizard, Sword_1, Sword_1, Sword_1, Sword_2, Political, Wizard]
Matched: Political
Sword_1 Matched exactly
No more matches with: [Wizard, Sword_1, Sword_1, Sword_2, Wizard], still need [Sword_4, Castle]
Rerolling 5
Reqs: [Sword_4, Castle]
Rolls: [Sword_1, Wizard, Sword_1, Castle, Wizard]
Current Matches: [Political, Sword_1]
Matched: Castle
No more matches with: [Sword_1, Wizard, Sword_1, Wizard], still need [Sword_4]
Rerolling 4
Reqs: [Sword_4]
Rolls: [Sword_1, Political, Sword_1, Political]
Current Matches: [Political, Sword_1, Castle]
No more matches with: [Sword_1, Political, Sword_1, Political], still need [Sword_4]
Rerolling 3
Reqs: [Sword_4]
Rolls: [Political, Political, Sword_3]
Current Matches: [Political, Sword_1, Castle]
No more matches with: [Political, Political, Sword_3], still need [Sword_4]
Rerolling 2
Reqs: [Sword_4]
Rolls: [Sword_3, Castle]
Current Matches: [Political, Sword_1, Castle]
No more matches with: [Sword_3, Castle], still need [Sword_4]
Rerolling 1
Reqs: [Sword_4]
Rolls: [Sword_3]
Current Matches: [Political, Sword_1, Castle]
No more matches with: [Sword_3], still need [Sword_4]
Rerolling 0
Failed to acquire Priest remaining:

Bien que cela montre que j'aurais peut-être dû inclure le match 2,1,1 pour l'épée 4.

Dernière modification : Ok, j'ai fait quelques modifications et maintenant le code supporte des exigences d'épées arbitraires jusqu'à douze. Il a été un peu difficile de le faire fonctionner correctement et mon algorithme générique de correspondance des épées n'est pas aussi bon que l'implémentation manuelle - 36,5% contre 40% pour 3 exigences d'épée_4. L'une des faiblesses de mon algorithme générique est qu'il fera correspondre quatre épées de 1 à une exigence de 4 épées, même s'il y a des exigences supplémentaires en matière d'épées. Je doute que ce soit la seule cause de cet écart.

Dans tous les cas, le code est disponible aquí .

La chance d'acquérir une carte avec une exigence de 12 épées est d'environ 11,5% en lançant sept dés.

0 votes

Ne sais pas comment vous remercier, wow. Est-ce que cela fonctionnerait avec par exemple une épée nécessitant 12 points sur les cartes??

0 votes

Le code n'utilise pas de manière sensée les valeurs d'Epées pour répondre aux exigences, il n'y a que des règles spéciales pour gérer les implications numériques (par exemple, 2,2 correspondant à 4). Le code prendra en charge une exigence de carte de trois Epées_4 si cela peut aider. La chance est juste en dessous de quarante pour cent pour acquérir.

0 votes

Merci, je peux travailler avec ça, tu m'as vraiment impressionné en réussissant cela. Apprécié.

-5voto

Adam Wells Points 1436

Je recommande d'utiliser le site web AnyDice pour simuler les résultats. Vous devrez lire un peu la documentation pour savoir quoi faire, mais c'est la meilleure façon de simuler efficacement ce que vous cherchez. Soyez attentif à la section sur les dés arbitraires, qui vous permettra de créer les dés spécifiques que vous recherchez, bien que vous utilisiez effectivement un d6 à tout moment dans cet exemple.

La section des articles contient également des informations précieuses sur différents programmes d'analyse approfondie qui pourraient vous être utiles.

4 votes

La question indique déjà que l'auteur a essayé d'utiliser AnyDice pour modéliser cela avec peu de succès ; répéter "essayez AnyDice, lisez la documentation !" n'est pas une réponse utile. Si vous pouvez indiquer spécifiquement des exemples qui les aident à modéliser leurs règles, cela améliorerait la réponse. En outre : des recherches préalables dans les commentaires (maintenant déplacées vers le chat) montrent clairement que ce n'est pas un problème trivial pour AnyDice à résoudre, s'il est en effet un problème qu'AnyDice peut résoudre ; certainement, cela dépasse largement la documentation qu'AnyDice possède.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X