0

これは、方向を示すサイコロの私のコードです。転がすと東西南北のいずれかを示します。私は、サイコロを振るたびに、これらのそれぞれが何回現れるかを数える方法を見つけようとしています.

アイデアはありますか?

class Dice

  #def initialize()
  #end 


  def roll 
    @dice = Array['north','south','east','west'] # makes dice with four sides (directions)
    @dice_index = 0 + rand(4)                    # gets the random index of the array
    puts @dice[@dice_index]                      # prints random direction like a dice
  end

  def stats
    puts @dice_index
    north_count =0;
    south_count =0;
    east_count=0;
    west_count=0;
  end
end


game_dice = Dice.new
game_dice.roll
game_dice.stats
4

1 に答える 1

1

クラスは次のようになります。

class Dice
  SIDES = [:north, :south, :east, :west]
  def initialize
    @rolls = Hash.new(0)
    @num_of_sides = SIDES.count
  end
  def roll
    roll = SIDES[rand(@num_of_sides)]
    @rolls[roll] += 1
    roll
  end
  def stats
    puts @rolls.inspect
  end
end
于 2011-09-29T10:05:36.313 に答える