From: Smgspices@... Date: 2006-11-17T07:23:00+09:00 Subject: Re: Beginner Needs Help -------------------------------1163715763 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit >> 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 Ah, thanks Bill and others who might respond. All I have to do is set the initial values of hands to 0, not nil. beep beep Charlie -------------------------------1163715763--