#!/usr/bin/env ruby # -*- coding: utf-8 -*- module DICE def dice_roll(data1,data2="なし") if not data2 == "なし" count = data1 sided = data2 if count.to_i == 0 || sided.to_i == 0 p "0または数値以外が含まれています" end else dice_data=data1.split("D") if not dice_data.length == 2 p "回数D面数で入力してください" return end 2.times do |n| dice_data[n] = dice_data[n].to_i end count = dice_data[0] sided = dice_data[1] end spots = 0 count.times do spots += rand(1..sided) end return spots end def judgment(success,denominator = nil,over="OK") if denominator==nil denominator = if(success.to_s.include?(".")) 10**success.to_s.length-1 else 10**success.to_s.length end end p denominator result = rand(1..denominator) p result if success.to_s.delete(".").to_i > denominator && over!="OK" puts "分子が分母を上回っています" end return result <= success.to_s.delete(".").to_i end end