;;; -*- Mode:LISP; Package:HEARTS; Readtable:CL; Base:10 -*- (setq *CARD-VALUES* '(2. 3. 4. 5. 6. 7. 8. 9. 10. J Q K A)) (setq *ALL-SUITS* '(SPADES DIAMONDS HEARTS CLUBS)) (setq THE-SPADES-SUIT (make-suit :symbol 'spades :cards (mapcar #'(lambda (value) (make-spade-card :value value)) *CARD-VALUES*))) (setq THE-HEARTS-SUIT (make-suit :symbol 'hearts :cards (mapcar #'(lambda (value) (make-heart-card :value value)) *CARD-VALUES*))) (setq THE-CLUBS-SUIT (make-suit :symbol 'clubs :cards (mapcar #'(lambda (value) (make-club-card :value value)) *CARD-VALUES*))) (setq THE-DIAMONDS-SUIT (make-suit :symbol 'diamonds :cards (mapcar #'(lambda (value) (make-diamond-card :value value)) *CARD-VALUES*))) (setq *THE-DECK* (append (suit-cards the-spades-suit) (suit-cards the-hearts-suit) (suit-cards the-clubs-suit) (suit-cards the-diamonds-suit))) (setq NORTH (make-player :name 'north)) (setq SOUTH (make-player :name 'south)) (setq EAST (make-player :name 'east)) (setq WEST (make-player :name 'west)) (setq *THE-TABLE* (list NORTH EAST SOUTH WEST))