Warum rufst du die Funktion im letzten else nochmal auf?
Ich habe mir gedacht, dass für den fall, dass die Karte keinem Spieler zugeordnet werden kann, dass die funktion einfach wiederholt wird.
Denk ich da falsch?
Warum sollte es beim zweiten Durchlauf anders laufen? Die Zufallszahlen hast du alle komplett geprüft und wenn alle Spieler schon genug Karten haben, ändert sich auch nichts mehr.
Das habe ich mir auch überlegt, aber war mir nicht sicher, wie ich darstelle, welche karten nicht verteilt wurden ohne als if-bedingung jeden einzelnen Arrayelement zu nennen.
Such mal nach "Array zufällig sortieren" oder irgendsowas. Dann nimmst du den ersten Teil für Spieler 1, den zweiten für Spieler 2.
Wenn du so anfängst wie du es zeigst, codest du dich kaputt und hast am Schluss ein unglaublich unflexibles System.
Ich sehe dass du noch so gut wie gar keine Programmiererfahrung hast. Mach dich unbedingt mehr mit der Sprache vertraut.