Estou tentando usar o Racket para fazer um baralho completo de cartas para um jogo de BlackJack. No entanto, tenho dois problemas:
Quando eu uso o seguinte código
;This function creates a list of all the card faces. (define faces '(2 3 4 5 6 7 8 9 10 J Q K A)) ;This function creates a list of all card suits. (define suits '(Clubs Diamonds Hearts Spades)) ;make-deck: Creates a new (unshuffled) 52 card deck ; Returns: The deck (a list of cards) ; Parameters: none (define make-deck (letrec ([pair-items (lambda (x y) (cond [(null? x) '()] [(null? y) '()] [(displayln (cons (car x) (cons (car y) (pair-items x (cdr y)))))] ))]) (pair-items faces suits)) )
eu recebo
(2 Spades) (2 Hearts . #<void>) (2 Diamonds . #<void>) (2 Clubs . #<void>)
E não sei qual é o problema.
Não tenho ideia de como redefinir
iterator
para emparelhar o próximo elemento dafaces
função com toda asuits
função. Eu usolet
?