クロノ・トリガー(1)

原始探訪いっかいめ。
物々交換で武具を手に入れるので、その際に必要な素材アイテムの個数を計算する。

chrono-primeval-exchange.rb
#!ruby -Ks

def main
  p exchange_contents(
    "ルビーガン"       => 1,  #ルッカ
    "ひじりのゆみ"     => 1,  #マール
    "ストーンアーム"   => 1,  #ロボ
    "マンモスのつるぎ" => 1,  #クロノ
    "ルビーベスト"     => 4,  #エイラは初期装備
    "ストーンメット"   => 4   #エイラは初期装備
  )
  # >> {"つの"=>18, "きば"=>18, "はなびら"=>9, "はね"=>27}
end


# # # # # # # # # # # # # # # # # # # # # # #

Exchanges = {
  "ルビーガン"       => %w[ はなびら  きば ],
  "ひじりのゆみ"     => %w[ はなびら  つの ],
  "ストーンアーム"   => %w[ はなびら  はね ],
  "マンモスのつるぎ" => %w[ きば      つの ],
  "ルビーベスト"     => %w[ きば      はね ],
  "ストーンメット"   => %w[ つの      はね ],
}

def exchange_contents(order = {})
  counts = Hash.new(0)
  order.each do |item, n|
    Exchanges[item].each do |material|
      counts[material] += 3 * n
    end
  end
  counts
end

####
main