Hallo und einen schönen Samstagabend,
da ich das letzte Mal vor ca 5 Jahren etwas in Java programmiert habe bin ich wohl etwas eingerostet. Also setzt bei den Antworten bitte nicht zu viel Wissen meinerseits voraus, das kommt alles erst ganz langsam wieder.
Mein Problem: Für ein Programm, welches diverse Spielmechaniken eines bekannten Tabletops simulieren soll bräuchte ich eine Klasse Die (Würfel). In dieser Klasse möchte ich Wahrscheinlichkeiten ausrechnen, z. B. wie wahrscheinlich es ist mit 2 W6 eine 7 oder mehr zu Würfeln. Und da ich ungern halbe Sachen mache würde ich auch gerne gleich die Möglichkeit haben das Ganze auch für z. B. 4 W8 berechnen zu können.
Meine ersten Ansätze sahen so aus, dass ich es mit einer Rekursion versucht habe, welche nur die Anzahl an Möglichkeiten für einen Zielwert berechnet hat. Alle Versuche dazu sind aber kläglich gescheitert. Und da ich diese Methode auch für alle möglichen Werte unterhalb des Zielwertes hätte aufrufen müssen habe ich mir gedacht, dass es wohl sinnvoll wäre direkt im Konstruktor ein n-Dimensionales Array mit allen Möglichkeiten zu füllen die man mit n Würfeln werfen kann.
Die Länge des Arrays ist ja einfach zu berechnen, bei n W6 wäre es 6 hoch n.
Mir fällt aber absolut nicht ein wie ich einem Array dynamisch Dimensionen hinzufügen kann.
Und die nächste Frage, wie befülle ich das Array am geschicktesten? Iterativ scheidet ja aus, da ich vorher nicht weiß wie viele Würfel gewünscht sind und ich somit auch nicht weiß wie viele Schleifen ich verschachteln muss.
Bleibt also nur eine Rekursion, kann mir da jemand Tipps geben? Ich habe immer noch Knoten von den bisherigen Versuchen im Kopf. Oder gibt es bereits eine Klasse die das kann?
Vielen Dank an alle, die das alles bis hierher gelesen haben. Und noch mehr Dank an diejenigen, welche mir konstruktive Antworten geben.
Grüße,
Andy
da ich das letzte Mal vor ca 5 Jahren etwas in Java programmiert habe bin ich wohl etwas eingerostet. Also setzt bei den Antworten bitte nicht zu viel Wissen meinerseits voraus, das kommt alles erst ganz langsam wieder.
Mein Problem: Für ein Programm, welches diverse Spielmechaniken eines bekannten Tabletops simulieren soll bräuchte ich eine Klasse Die (Würfel). In dieser Klasse möchte ich Wahrscheinlichkeiten ausrechnen, z. B. wie wahrscheinlich es ist mit 2 W6 eine 7 oder mehr zu Würfeln. Und da ich ungern halbe Sachen mache würde ich auch gerne gleich die Möglichkeit haben das Ganze auch für z. B. 4 W8 berechnen zu können.
Meine ersten Ansätze sahen so aus, dass ich es mit einer Rekursion versucht habe, welche nur die Anzahl an Möglichkeiten für einen Zielwert berechnet hat. Alle Versuche dazu sind aber kläglich gescheitert. Und da ich diese Methode auch für alle möglichen Werte unterhalb des Zielwertes hätte aufrufen müssen habe ich mir gedacht, dass es wohl sinnvoll wäre direkt im Konstruktor ein n-Dimensionales Array mit allen Möglichkeiten zu füllen die man mit n Würfeln werfen kann.
Die Länge des Arrays ist ja einfach zu berechnen, bei n W6 wäre es 6 hoch n.
Mir fällt aber absolut nicht ein wie ich einem Array dynamisch Dimensionen hinzufügen kann.
Und die nächste Frage, wie befülle ich das Array am geschicktesten? Iterativ scheidet ja aus, da ich vorher nicht weiß wie viele Würfel gewünscht sind und ich somit auch nicht weiß wie viele Schleifen ich verschachteln muss.
Bleibt also nur eine Rekursion, kann mir da jemand Tipps geben? Ich habe immer noch Knoten von den bisherigen Versuchen im Kopf. Oder gibt es bereits eine Klasse die das kann?
Vielen Dank an alle, die das alles bis hierher gelesen haben. Und noch mehr Dank an diejenigen, welche mir konstruktive Antworten geben.
Grüße,
Andy