Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
31
Task/Playing-cards/Sidef/playing-cards.sidef
Normal file
31
Task/Playing-cards/Sidef/playing-cards.sidef
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
define Pip = <A 2 3 4 5 6 7 8 9 10 J Q K>;
|
||||
define Suit = <♦ ♣ ♥ ♠>;
|
||||
|
||||
class Card(pip, suit) {
|
||||
method to_s { pip + suit }
|
||||
}
|
||||
|
||||
class Deck(cards=[]) {
|
||||
|
||||
method init {
|
||||
cards = gather {
|
||||
Pip.each { |p| Suit.each { |s| take(Card(p, s)) } }
|
||||
}
|
||||
}
|
||||
|
||||
method shuffle {
|
||||
cards.shuffle!;
|
||||
}
|
||||
|
||||
method deal { cards.shift };
|
||||
method to_s { cards.join(" ") };
|
||||
}
|
||||
|
||||
var d = Deck();
|
||||
say "Deck: #{d}";
|
||||
|
||||
var top = d.deal;
|
||||
say "Top card: #{top}";
|
||||
|
||||
d.shuffle;
|
||||
say "Deck, shuffled: #{d}";
|
||||
Loading…
Add table
Add a link
Reference in a new issue