Bill Kelly
11/16/2006 10:14:00 PM
From: <Smgspices@aol.com>
>
> def build_deck
> 0.upto(51) {|i| @deck.push(i.divmod(13))}
> # deck consists of 52 2-member arrays, [suit, rank],
> # each representing a playing card. In use, the first
> # 13 members is hand[0] and the next 13 are hand[1], etc.
> # hand will be defined in a subclass.
> return @deck
> end
[...]
> def initialize
> super
> @hands = Array.new(4) {|idx| Array.new(4)}
> # hands is a 4 by 4 array for player,suit
> end
[...]
> def build_hands
> self.shuffle_deck
> 0.upto(51) {|i| @hands[i/13][@deck[i][0]] += 0b1 << @deck[i][1]}
IRB shows @hands looks like:
irb(main):024:0> hands = Array.new(4) {|idx| Array.new(4)}
=> [[nil, nil, nil, nil], [nil, nil, nil, nil], [nil, nil, nil, nil], [nil, nil, nil, nil]]
So,
@hands[0][@deck[0][0]]
is:
@hands[0][0]
which is fetching the first 'nil' shown above in IRB.
Regards,
Bill
P.S. FORTH LOVE IF 7 EMIT THEN