Ich bin neu in der Programmierung und muss ein einfaches Kartenspiel machen, habe aber Probleme mit der rec Funktion.OCaml rec Funktion für ein Kartenspiel
Angenommen, ich habe eine Liste mit 5 Spielern. Jetzt drucke ich ein Menü für jeden Spieler in der Runde mit der aktuellen Hand des Spielers, dann legt der Spieler eine Karte ab und zieht eine neue.
Ich muss laufen, bis das Deck keine Karten mehr hat.
Dies ist mein Code:
let rec round deck players =
match deck with
| [] ->()
| h::t -> (match players with
| x::xs -> print_mazo deck;
print_play x;
let i = read_int() in
let (newhand, carta) = drop x.mano i in
let (newdeck, newhand2) = draw deck newhand 1 in
print_ronda x carta;
round newdeck xs
| [] -> round newdeck players
)
ich diesen Fehler habe:
Error: Unbound value newdeck
sieht aus wie das Problem in der Zeile mit 'read_int': es sollte' read_int() ' –
(1) Es wäre nett, ein minimiertes vollständiges Beispiel zu haben, das wirklich kompiliert. (2) Und zumindest sollten Sie die Zeile markiert haben, in der der Fehler auftritt. –
Sie können Ihre Frage nicht ändern. Es macht die alten Antworten unsinnig. –