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