Ich hab mir noch was überlegt, um die Anzahl der möglichen Züge für eine verbleibende Anzahl von Karten auf dem Stapel auszurechnen:
Code:
def calculatePossibilities(hand_count, stack_count)
if stack_count <= 0
# number of possible cards to play: hand_count
hand_count
else
# number of possible cards to pick from stack: stack_count
# number of possible cards to play: hand_count
# remaining number of moves: calculatePossibilities(hand_count, stack_count-1)
stack_count*hand_count*calculatePossibilities(hand_count, stack_count-1)
end
end
puts calculatePossibilities(5, 13+2-5);
hand_count ist dabei einfach eine Konstante, die angibt wie viele Karten man in der Hand hält (5).
Hoffe ich hab da jetzt keinen Denkfehler. Damit ergeben sich 1.77×10¹⁴ mögliche Spielzüge.
Nur, wie man die beiden Ergebnisse jetzt verknüpft, bzw. ob man sie überhaupt verknüpfen kann, oder ob mein Ansatz kompletter murks ist, damit bin ich überfragt. Ich geb’s an dieser Stelle daher einfach mal auf... aber angefixt hast du mich.
Fände es sehr interessant, wenn jemand, der von Mathe mehr Ahnung hat als ich, hier doch noch eine Lösung postet.