Sha256: efb7274fb3630e0ea46cb85afc7732b2fa7651431ad96efcbadf21adccf5bae9

Contents?: true

Size: 379 Bytes

Versions: 1

Compression:

Stored size: 379 Bytes

Contents

module GooseGame
  class Dice
    QTY = 2
    MAX = 6

    attr_reader :d1, :d2

    def self.roll
      new(*QTY.times.map { |_| rand(MAX) + 1 })
    end

    def initialize(d1 = 0, d2 = 0)
      @d1, @d2 = *check_args(d1, d2)
    end

    def to_i
      [d1, d2].sum
    end

    private def check_args(*args)
      args.map { |arg| [arg.to_i.abs, MAX].min }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
goose_game-1.0.0 lib/goose_game/dice.rb