Complicated Hemmagjorda spel odds odds, AnyDice eller Troll formel hjälp krävs

6

Jag spelar ett hemlagat spel, och det använder ett lite komplicerat system med avseende på träning.

Det går att rulla 1d10 + bonusar mot ett variabelt målnummer, minus "headway". Förhoppning uppnås om du misslyckas med att nå det modifierade målnumret, och hur mycket bestäms av att rulla en viss tärning bestämd av hur bra du är i den delen. "Förflyttningen" är kumulativ, för övrigt, och går förlorad efter framgång.

Så, till exempel, träna en specifik förmåga, mållantalet kan vara 10, du har en bonus på 1, och en huvudtussning 1d3. Du får en 5 på 1d10, för totalt 6, misslyckas rollen. Du rullar sedan 1d3 och får en 1. Nästa gång du tränar den förmågan, skulle 1d10 + 1 kräva en rulle med 9 för att lyckas (+1 huvudet kommer att trycka dig till 10). Om du misslyckas, rullar du igen och får en 3, vilket innebär att nästa gång du rullar behöver du bara en rulle av 6 (du har nu ett steg på 1 + 3).

Vilken formel skulle behövas så att vi kan bestämma oddsen för framgång från flera sådana rullar?

    
uppsättning BFldyq 19.08.2014 09:27

3 svar

3

ANYDICE KAN INTE LÖSA DETTA PROBLEM

Jag försökte programmet nedan men det gick inte att fungera korrekt, oddsen som den returnerar är inte korrekt. Jag körde mitt eget program med 1 miljon itterations och fick istället följande resultat:

Du kan köra programmet här: länk

Mitttidigareförsökmedföroreningär här men resultaten är inte korrekta.

391.133     
svaret ges 19.08.2014 10:30
2

Jag kunde bara inte få det att fungera på AnyDice, så här är ett Python 3-skript som beräknar antalet försök iteration gånger och ger resultaten i ett fint bord. Det är mycket långsammare än GMNoobs AnyDice svar, och resultaten matchar inte.

391.133

Prova online på Ideone .

Jag sprang det med 10000000 iterationer på min maskin, med följande resultat:

391.133     
svaret ges 19.08.2014 11:59
2

Här är en snabbare Python rutin som ger exakta resultat (upp till gränserna för numerisk precision, ändå):

391.133

Här är utmatningen för target = 10 , bonus = 1 och headway = 0 :

391.133

Den här koden fungerar genom att bibehålla sannolikheten för alla möjliga nuvarande huvudvärden i arrayen distribution och uppdatera dem baserat på sannolikheten för de olika möjliga resultaten av formrullarna.

Om så önskas kan koden ovan göras för att mata ut fördelningen av olika huvudvärden efter varje försök genom att kommentera det extra print uttalandet vid slutet av den yttre slingan. (Observera att detta inte strängt är en korrekt sannolikhetsfördelning eftersom det inte inkluderar sannolikheten för att träningen redan har lyckats. För senare försök kommer följdsannolikheten att uppgå till ett värde som är strikt mindre än 100%, även om lägga till i den kumulativa framgångsberäkningen kommer att åtgärda detta.)

    
svaret ges 19.08.2014 17:08