Playing cards: Difference between revisions
Content added Content deleted
m (add link to Delphi for pascal) |
|||
Line 1,433: | Line 1,433: | ||
}; |
}; |
||
}</lang> |
}</lang> |
||
=={{header|K}}== |
|||
The deck is stored in the global variable "deck". |
|||
Create the deck. |
|||
<lang K> v:"A23456789TJQK" / values |
|||
s:"SHCD" / suites |
|||
/ create a new deck |
|||
newdeck:{deck::,/s,'\:v} |
|||
newdeck();</lang> |
|||
Show the deck. |
|||
<lang K> show:{`0:$,/-3$$deck} |
|||
show() |
|||
SA S2 S3 S4 S5 S6 S7 S8 S9 ST SJ SQ SK HA H2 H3 H4 H5 H6 H7 H8 H9 HT HJ HQ HK CA C2 C3 C4 C5 C6 C7 C8 C9 CT CJ CQ CK DA D2 D3 D4 D5 D6 D7 D8 D9 DT DJ DQ DK </lang> |
|||
Shuffle the deck. |
|||
<lang K> shuffle:{deck::(-#deck)?deck} |
|||
shuffle();show() |
|||
S8 CA D5 D2 SJ D6 DJ H7 S4 S9 SQ SK S5 D8 C4 HT DA H3 S6 S2 DT HA C2 C5 D9 ST C7 DK S3 HQ D7 DQ C8 D3 SA CJ CQ CT H4 H2 CK H9 H5 C3 C6 H6 D4 HJ C9 S7 HK H8 </lang> |
|||
Deal: Get the N top cards and remove them from the deck. |
|||
Deal 5 cards. |
|||
<lang K> deal1:{|((#deck)-x)_|deck} |
|||
deal:{c:deal1[x];deck::(deck _dvl c);c} |
|||
deal[5] |
|||
("S8" |
|||
"CA" |
|||
"D5" |
|||
"D2" |
|||
"SJ") |
|||
#deck / 5 cards are removed |
|||
47</lang> |
|||
Deal 3 more hands. |
|||
<lang K> {deal@5}'!3 |
|||
(("D6" |
|||
"DJ" |
|||
"H7" |
|||
"S4" |
|||
"S9") |
|||
("SQ" |
|||
"SK" |
|||
"S5" |
|||
"D8" |
|||
"C4") |
|||
("HT" |
|||
"DA" |
|||
"H3" |
|||
"S6" |
|||
"S2"))</lang> |
|||
We now have 32 cards left. |
|||
<lang K> #deck |
|||
32 |
|||
show() |
|||
DT HA C2 C5 D9 ST C7 DK S3 HQ D7 DQ C8 D3 SA CJ CQ CT H4 H2 CK H9 H5 C3 C6 H6 D4 HJ C9 S7 HK H8</lang> |
|||
=={{header|Liberty BASIC}}== |
=={{header|Liberty BASIC}}== |