Playing cards: Difference between revisions
Content added Content deleted
m (Better use 'rand' instead of 'seed') |
m (J: eliminate some complexities) |
||
Line 664: | Line 664: | ||
Ranks=: > ;:'Ace Two Three Four Five Six Seven Eight Nine Ten Jack Queen King' |
Ranks=: > ;:'Ace Two Three Four Five Six Seven Eight Nine Ten Jack Queen King' |
||
Suits=: > ;:'Spades Hearts Diamonds Clubs' |
Suits=: > ;:'Spades Hearts Diamonds Clubs' |
||
DeckPrototype=: |
DeckPrototype=: (] #: i.@:*/)Ranks ,&# Suits |
||
NB. Class methods |
NB. Class methods |
||
Line 673: | Line 673: | ||
destroy=: codestroy |
destroy=: codestroy |
||
sayCards=: ( |
sayCards=: ({&Ranks@{., ' of ', {&Suits@{.)"1 |
||
shuffle=: monad define |
shuffle=: monad define |
||
1: TheDeck=: |
1: TheDeck=: ({~ ?~@#) TheDeck |
||
) |
) |
||
Line 688: | Line 688: | ||
CardsOffTop=. ToBeDealt {. TheDeck |
CardsOffTop=. ToBeDealt {. TheDeck |
||
TheDeck =: ToBeDealt }. TheDeck |
TheDeck =: ToBeDealt }. TheDeck |
||
( |
(x,y)$ CardsOffTop |
||
) |
) |
||