Dice Calculator

https://github.com/ToBeFree/DiceCalculator

Ein kleines C-Projekt, welches die GNU Multiple Precision Library nutzt, um mit beliebig großen Zahlen arbeiten zu können.

Statt aufwändigen mathematischen Berechnungen wird rohe CPU-Kraft zur numerischen „Lösung“ eines statistischen Spielproblems genutzt:

  • Zwei Spieler würfeln nacheinander jeweils zwei Würfel. Die Augenzahlen werden addiert, der Spieler mit der höheren Gesamtzahl gewinnt einen Kampf im Spiel „Roma“.
  • Einer der Spieler erhält einen Bonus von x Punkten auf sein Würfelergebnis. Wie stark verändert sich die Gewinnwahrscheinlichkeit zu seinen Gunsten?

Das Programm ermöglicht auch, einzustellen, welcher Spieler bei gleichem Würfelergebnis gewinnen soll. Alternativ kann in einem solchen Fall automatisch nochmal gewürfelt werden.

Mit Hilfe dieses Programms konnten wir schließlich eine mathematische Funktion ermitteln, die in Abhängigkeit vom Bonus die Gewinnwahrscheinlichkeit des Spielers sehr gut beschreibt:

1/(e^(-x/2)+1)

(für x=-9 bis x=9)

Hierbei ist zu beachten, dass ein Bonus von +-10 Punkten bereits einen garantierten Gewinn bzw. Verlust verursacht, welcher durch eine Exponentialfunktion nicht dargestellt werden kann.