#==============================================================================
# ■P叔的公式密码系统
#------------------------------------------------------------------------------
#                        本脚本来自[url]www.66rpg.com[/url] 
#                          使用时请注明脚本来源
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  #本游戏一共需要多少密码,请在下面写好(默认是100个):
  Code_Num = 100
  #--------------------------------------------------------------------------
  attr_accessor   :save_code            # 密码存储的数组变量
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     depth : 堆置深度
  #     main  : 主标志
  #--------------------------------------------------------------------------
  def initialize(depth = 0, main = false)
    @depth = depth
    [url=home.php?mod=space&uid=217648]@Main[/url] = main
    @save_code = {} if @save_code.nil?  # 生成密码哈希表
    for i in 0...Code_Num               # 每一个密码都经过公式计算生成
      @save_code[i] = formula(1 + rand(99999999)) if @save_code[i].nil?
    end
    if @depth > 100
      print("已经调用过多公共事件。")
      exit
    end
    clear
  end
  #--------------------------------------------------------------------------
  # ● 公式设定(可以自己重新设计,亦可使用默认,默认公式已经够复杂了)
  #--------------------------------------------------------------------------  
  def formula(x)
    # 将给定的数值求正弦
    value = Math.sin(x)
    # 如果值为负数则取相反数
    value = - value if value < 0
    # 不断把值扩大10倍,直到值大于或等于10
    until value >= 10
      value *= 10
    end
    # 将给定的数值求余弦
    value = Math.cos(x)
    # 如果值为负数则取相反数
    value = - value if value < 0
    # 不断把值扩大10倍,直到值大于或等于10000000(也就是最小的8位数,密码要求)
    until value >= 10000000
      value *= 10
    end
    # 值取整
    value = value.round
    return value
  end  
end