Class Card
with name 'card' 'of' 'cards//p', article "the",
description [;
print "The front of the card has ";
switch(self.number)
{ 2 to 10: print (LanguageNumber) self.number," little";
11 to 13: print "the ",(facename) self.number," of";
14: print "one";
switch(self.suit)
{ Club : " club.";
Diamond: " diamond.";
Heart : " heart.";
Spade : " spade.";
}
}
" ",(suitname) self.suit,
". The back shows dancing elves and cherubim.";
],
list_together [; return CardList(parent(self)); ],
parse_name [;
if (parser_action==##TheSame) return -2;
return -1;
],
short_name [;
print (facename) self.number," of ",(suitname) self.suit;
rtrue;
];
Class Club, class Card, with name 'clubs//p' 'club', suit Club;
Class Diamond, class Card, with name 'diamonds//p' 'diamond', suit Diamond;
Class Heart, class Card, with name 'hearts//p' 'heart', suit Heart;
Class Spade, class Card, with name 'spades//p' 'spade', suit Spade;
Object card_box "small box" cube
has openable container,
with name 'box' 'small' 'cardboard' 'little',
before [;
Receive:
if (self hasnt open) rfalse;
if (~~(noun ofclass Card))
{ give self ~open;
"The box snaps shut as you attempt this.";
}
],
description [;
print "It's a small cardboard box, adorned with fine artwork: cherubim
on one side, elves on the reverse. The box is ";
if (self has open) "open."; else "closed.";
];
Club, with name 'ac' '1c' 'a//' '1//' 'ace' 'one' 'a^s//p' '1^s//p' 'aces//p'
'ones//p', number 14;
Club, with name '2c' '2//' 'two' 'deuce' 'number' '2^s//p' 'twos//p' 'deuces//p'
'numbers//p', number 2;
Club, with name '3c' '3//' 'three' 'number' '3^s//p' 'threes//p' 'numbers//p', number 3;
Club, with name '4c' '4//' 'four' 'number' '4^s//p' 'fours//p' 'numbers//p', number 4;
Club, with name '5c' '5//' 'five' 'number' '5^s//p' 'fives//p' 'numbers//p', number 5;
Club, with name '6c' '6//' 'six' 'number' '6^s//p' 'sixes//p' 'numbers//p', number 6;
Club, with name '7c' '7//' 'seven' 'number' '7^s//p' 'sevens//p' 'numbers//p', number 7;
Club, with name '8c' '8//' 'eight' 'number' '8^s//p' 'eights//p' 'numbers//p', number 8;
Club, with name '9c' '9//' 'nine' 'number' '9^s//p' 'nines//p' 'numbers//p', number 9;
Club, with name '10c' '10' 'ten' 'number' '10^s//p' 'tens//p' 'numbers//p', number 10;
Club, with name 'jc' 'j//' 'jack' 'face' 'j^s//p' 'jacks//p' 'faces//p', number 11;
Club, with name 'qc' 'q//' 'queen' 'face' 'q^s//p' 'queens//p' 'faces//p', number 12;
Club, with name 'kc' 'k//' 'king' 'face' 'k^s//p' 'kings//p' 'faces//p', number 13;
Diamond, with name 'ad' '1d' 'a//' 'ace' 'one' 'a^s//p' '1^s//p' 'aces//p'
'ones//p', number 14;
Diamond, with name '2d' '2//' 'two' 'deuce' 'number' '2^s//p' 'twos//p' 'deuces//p'
'numbers//p', number 2;
Diamond, with name '3d' '3//' 'three' 'number' '3^s//p' 'threes//p' 'numbers//p', number 3;
Diamond, with name '4d' '4//' 'four' 'number' '4^s//p' 'fours//p' 'numbers//p', number 4;
Diamond, with name '5d' '5//' 'five' 'number' '5^s//p' 'fives//p' 'numbers//p', number 5;
Diamond, with name '6d' '6//' 'six' 'number' '6^s//p' 'sixes//p' 'numbers//p', number 6;
Diamond, with name '7d' '7//' 'seven' 'number' '7^s//p' 'sevens//p' 'numbers//p', number 7;
Diamond, with name '8d' '8//' 'eight' 'number' '8^s//p' 'eights//p' 'numbers//p', number 8;
Diamond, with name '9d' '9//' 'nine' 'number' '9^s//p' 'nines//p' 'numbers//p', number 9;
Diamond, with name '10d' '10' 'ten' 'number' '10^s//p' 'tens//p' 'numbers//p', number 10;
Diamond, with name 'jd' 'j//' 'jack' 'face' 'j^s//p' 'jacks//p' 'faces//p', number 11;
Diamond, with name 'qd' 'q//' 'queen' 'face' 'q^s//p' 'queens//p' 'faces//p', number 12;
Diamond, with name 'kd' 'k//' 'king' 'face' 'k^s//p' 'kings//p' 'faces//p', number 13;
Heart, with name 'ah' '1h' 'a//' 'ace' 'one' 'a^s//p' '1^s//p' 'aces//p'
'ones//p', number 14,
after [; Take: "Have a heart. (Taken.)"; ];
Heart, with name '2h' '2//' 'two' 'deuce' 'number' '2^s//p' 'twos//p' 'deuces//p'
'numbers//p', number 2;
Heart, with name '3h' '3//' 'three' 'number' '3^s//p' 'threes//p' 'numbers//p', number 3;
Heart, with name '4h' '4//' 'four' 'number' '4^s//p' 'fours//p' 'numbers//p', number 4;
Heart, with name '5h' '5//' 'five' 'number' '5^s//p' 'fives//p' 'numbers//p', number 5;
Heart, with name '6h' '6//' 'six' 'number' '6^s//p' 'sixes//p' 'numbers//p', number 6;
Heart, with name '7h' '7//' 'seven' 'number' '7^s//p' 'sevens//p' 'numbers//p', number 7;
Heart, with name '8h' '8//' 'eight' 'number' '8^s//p' 'eights//p' 'numbers//p', number 8;
Heart, with name '9h' '9//' 'nine' 'number' '9^s//p' 'nines//p' 'numbers//p', number 9;
Heart, with name '10h' '10' 'ten' 'number' '10^s//p' 'tens//p' 'numbers//p', number 10;
Heart, with name 'jh' 'j//' 'jack' 'face' 'j^s//p' 'jacks//p' 'faces//p', number 11;
Heart, with name 'qh' 'q//' 'queen' 'face' 'q^s//p' 'queens//p' 'faces//p', number 12;
Heart, with name 'kh' 'k//' 'king' 'face' 'k^s//p' 'kings//p' 'faces//p', number 13;
Spade, with name 'as' '1s' 'a//' 'ace' 'one' 'a^s//p' '1^s//p' 'aces//p'
'ones//p', number 14;
Spade, with name '2s' '2//' 'two' 'deuce' 'number' '2^s//p' 'twos//p' 'deuces//p'
'numbers//p', number 2;
Spade, with name '3s' '3//' 'three' 'number' '3^s//p' 'threes//p' 'numbers//p', number 3;
Spade, with name '4s' '4//' 'four' 'number' '4^s//p' 'fours//p' 'numbers//p', number 4;
Spade, with name '5s' '5//' 'five' 'number' '5^s//p' 'fives//p' 'numbers//p', number 5;
Spade, with name '6s' '6//' 'six' 'number' '6^s//p' 'sixes//p' 'numbers//p', number 6;
Spade, with name '7s' '7//' 'seven' 'number' '7^s//p' 'sevens//p' 'numbers//p', number 7;
Spade, with name '8s' '8//' 'eight' 'number' '8^s//p' 'eights//p' 'numbers//p', number 8;
Spade, with name '9s' '9//' 'nine' 'number' '9^s//p' 'nines//p' 'numbers//p', number 9;
Spade, with name '10s' '10' 'ten' 'number' '10^s//p' 'tens//p' 'numbers//p', number 10;
Spade, with name 'js' 'j//' 'jack' 'face' 'j^s//p' 'jacks//p' 'faces//p', number 11;
Spade, with name 'qs' 'q//' 'queen' 'face' 'q^s//p' 'queens//p' 'faces//p', number 12;
Spade, with name 'ks' 'k//' 'king' 'face' 'k^s//p' 'kings//p' 'faces//p', number 13;