Hur beräknar jag tärningssannolikheten i A-satsen för is och brand?

8

Säg att jag behöver en netthitt på 20 eller högre. Jag får rulla 5d6 bas, men jag får en bonus tärningsrulle på +3. Jag får bara hålla 5 högsta så jag skulle rulla "8d6 drop lowest 3 rolls" Jag vill veta vilken formel jag skulle använda för att beräkna sannolikheten för dessa typer av rullar i framtiden.

Exempel som förklarar färdighetssystemet:
[skicklighet] Agility 5, [specialitet] Dodge 3. Jag gör en dodge roll, så jag rullar 5d6 (från skickligheten) + 3d6 bonus tärning (från specialitet), men jag kan bara hålla 5 tärningar (på grund av min skicklighet) . Så jag rullar 8d6 totalt och släpper de tre lägsta rullarna, lägger till de 5 återstående rullarna för att se min nätrulle.

    
uppsättning ZimZam 27.06.2014 13:41

2 svar

10

länk gör det här ganska enkelt för dig:

Rull 8 droppe lägst 3 (som bara håller högst fem):

391.133

Klicka på "minst" för att se sannolikheten att få 20+, vilket är 79,97%

    
svaret ges 27.06.2014 14:07
6

Det här är ganska knepigt att göra, det finns ingen direkt formel, men det finns några sätt att samla resultat för att undvika att kontrollera alla 6 8 möjligheter. Jag tror att formeln är för komplex för att diskutera om rpg.stackexchange.

AnyDice kan göra detta, och det ser ut att det är kodat med en rimligt effektiv algoritm.

Min Ruby-pärla games_dice kan också göra det här och kan passa beroende på när / hur du behöver göra beräkningen, och om du är bekväm att skriva Ruby-kod:

391.133

Utmatningen är "0.7996643".

Koden är öppen källkod, och om du vill se algoritmen tittar du på metoden pl_repeat_n_sum_k i källkoden . . . men varnas det har optimerats och är ganska svårt att förstå. Jag förväntar mig att det här är en annan algoritm än AnyDice, eftersom de fungerar annorlunda. I grund och botten ser båda bara på alla möjliga resultat och använder viss kunskap om hur de kan grupperas för att förhindra att det tar för lång tid.

    
svaret ges 27.06.2014 14:17