Hallo,
ich könnte etwas Ratschlag bei einem grundsätzlichen Problem brauchen:
Und zwar will ich ein Baccaratspiel simulieren, hierbei zieht bspw. der Spieler 5 Karten, der Bankier 3 Karten, je nach Spielerkartenwert zieht der Spieler ggbfls. noch eine 6. Karte.
Und dann wird anhand dieser „Endsituation“ ausgewertet wer gewonnen hat.
Ich würde mir gerne eine Lsite dieser möglichen „Endsituationen“ bauen, aber irgendwie bin ich mir unsicher wie oder mit welchem Datentyp.
Denn: Sagen wir, am Anfang zieht der Spieler eine Karte, das kann von 2 bis Ass gehen (die üblichen Karten halt).
Müssen wir schon mal 10 Szenarien in die Lsite aufnehmen.
Nun zieht der Spieler eine 2. karte.
Für jedes der bisherigen Szenarien spaltet es sich nun auf in je 10 Szenarien, je nahcdem was als 2. karte gezogen wird, usw.
Klar, normal könnte ich bei so eine Aufgabe, wenn ich sicher wäre dass die Lsitenelemente alle bspw. 8 Karten (5 Karten für Spieler, 3 für Bankier) lang sind, einfach Alles Mögliche durchgehen.
Aber wie erwähnt, abhängig von den ersten gezogenen Karten des Spielers kommen da noch 0, 1 oder manchmal auch 2 noch dazu.
und auch beim bankier gibt es Möglichkeiten wo der noch eine 4. Karte zieht
(Übrigens sind die Regeln gerade nicht zwingend richtig für baccarat, es geht mehr ums Prinzip)
Heißt ein „Endszenario“ ist 10 karten lang, ein anderes nur 8.
Und ich muss alle Endszenarien in einer einzigen Liste haben.
Nun frage ich mich wie ich das sinnvoll hinkriegen kann?
Welche Datentypen benutzen, welcher Algorithmus?
Wie vorgehen?
Ich habe einfach keine gute Idee :-/
TL;DR: um das Problem auf ein vll. greifbareres Beispiel runterzubrechen:
Spieler A und B spielen ein Würfelspiel.
A wirft 5 mal den Würfel.
B wirft 3 Mal den Würfel.
Falls A eine Augensumme <22 würfelt, muss er erneut würfeln.
Falls B eine Summe <10 würfelt UND As Augensumme >24 ist, würfelt B noch 2 mal.
Ich will eine Liste mit allen möglichen Spielendergebnissen basteln.
Wie am Sinnvollsten vorgehen, ist schwer da je nach den ersten Würfen die Gesamtwurfzahl pro Spiel variiert. Also Array ist da nicht :-/