RB
rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Card shuffling techniques
# Created by Christof Becu on 26/12/17 14:32
# Last modified on 28/12/17 15:46
def initialize_deck
values = ["A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K" ]
suits = [ "Hearts", "Spades", "Clubs", "Diamonds" ]
deck = suits.product(values)
(0..deck.size-1).each {|x| deck[x] = deck[x].join(' ')}
return deck
end
def show(deck)
(0..12).each {|x|
print "| #{deck[x].center(12)} | #{deck[x+13].center(12)} | #{deck[x+26].center(12)} | #{deck[x+39].center(12)} |\n"
}
end
def in_riffle_shuffle(deck)
#or dovetail shuffle or leafing the cards. a recommendation that card decks be riffled seven times in order to randomize them thoroughly.
first_pile = deck.slice(0, 26)
second_pile = deck.slice(26, 51)
deck.clear
while first_pile.size > 0 || second_pile.size > 0
choose_pile = rand(2)
case choose_pile
when 0
if first_pile.size > 0
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run