Stack クラス

Stack クラス

Stack クラスには、以下のメソッドがあります。

  • initialize
  • shuffle
  • next
  • size

class Stack
  #定数
  #なし

  #クラス変数
  #なし

  #クラスメソッド
  #なし

  #インスタンスメソッド
  def initialize(ndeck)
    #インスタンス変数
    @stack = Array.new#カードの山

    deck = Array.new#1 組 52 枚のカード

    0.upto(Card::IMAX - 1) do |i|
      deck.push(i)
    end

    0.upto(ndeck - 1) do
      deck.each do |x|
        @stack.push(x)
      end
    end
  end

  #カードを混ぜる
  def shuffle()
    if (RUBY_VERSION >= '1.8.7')
      @stack.shuffle!
    else
      @stack = @stack.sort_by{rand}
    end
  end

  def next()
    return(@stack.shift)
  end

  def size()
    return(@stack.size)
  end

  #アクセスメソッド(アクセサ)
  #なし
end