#==============================================================================
# ■ Coin_Shop vol.3.00
#------------------------------------------------------------------------------
# ※『Window_digits_number 5.40以上』(必須)
# ※『Picture_Blink_Cursor 1.20以上』(必須)
# ※『Coin_Base 1.00以上』(必須)より下に挿入
# 12/02/03
#==============================================================================
module HIDE_C_SHOP
  #==============================================================================
  # ■ イベントコマンド『スクリプト』に以下を追加
  #------------------------------------------------------------------------------
  #   make_coin_shop(type,pattern)
  #------------------------------------------------------------------------------
  #   type=0 コイン交換(コインの購入) pattern=n 景品リスト
  #   type=1 景品交換(コインを払いアイテムに交換) pattern=n コイン交換レート
  #==============================================================================
  # ■ 音の設定 ※ファイル名を指定 ※Audioフォルダ内 #()のファイル名
  #==============================================================================
  S_BGM = "019-Field02"            # 景品交換所実行中のBGM(BGM)
  C_BGM = "019-Field02"            # コイン交換所実行中のBGM(BGM)
  #==============================================================================
  # ■ 景品交換パターンを設定(手動設定)
  #==============================================================================
  # ITEMS[n] = [ value, ... ](n = $game_temp.coin_shop_pattern から参照される)
  # ※valueを必ず8個指定する
  #--------------------------------------------------------------------------
  # "i(ID)"      …i=アイテム,ID=アイテムID
  # "w(ID)"      …w=武器,ID=武器ID
  # "a(ID)"      …a=防具,ID=防具ID
  #==============================================================================
  ITEMS = {}
  ITEMS[0] = ["i1","w5","a9","w13","w17","i21","w25","w29"]
  ITEMS[1] = ["w1","w5","w9","w13","w17","w21","w25","w29"]
  ITEMS[2] = ["w1","w5","w9","w13","w17","w21","w25","w29"]
  #--------------------------------------------------------------------------
  # ITEMS[n]の景品交換に必要なコイン数(n = $game_temp.coin_shop_pattern から参照される)
  # ※valueを必ず8個指定する
  #--------------------------------------------------------------------------
  RATE = []
  RATE[0] = [300,500,900,1500,3000,8000,12000,30000]
  RATE[1] = [300,500,900,1500,3000,8000,12000,30000]
  RATE[2] = [300,500,900,1500,3000,8000,12000,30000]
  #==============================================================================
  # ■ コイン購入パターンを設定(手動設定)
  #==============================================================================
  #--------------------------------------------------------------------------
  # コイン数1枚を購入できる金額(n = $game_temp.coin_shop_pattern から参照される)
  #--------------------------------------------------------------------------
  C_RATE = []
  C_RATE[0] = 20 # コイン1枚は20G
  C_RATE[1] = 10
  C_RATE[2] = 40
  #==============================================================================
  # ■ 文字設定
  #==============================================================================
  AN_COLOR = Color.new(255,255,255,255)    # 通常色
  BN_COLOR = Color.new(80,80,80,255)       # 影色(SHADOW/ROUND)
  AD_COLOR = Color.new(255,255,255,128)    # 無効色
  BD_COLOR = Color.new(0,0,0,200)          # 無効色(SHADOW/ROUND)
  AS_COLOR = Color.new(192,224,255,255)    # システム色
  BS_COLOR = Color.new(0,128,128,255)      # システム影色(SHADOW/ROUND)
  
  AT_COLOR = Color.new(0,128,255,255)
  BT_COLOR = Color.new(149,202,255,255)
  AM_COLOR = Color.new(100,100,100,255)
  BM_COLOR = Color.new(180,180,180,255)
  #--------------------------------------------------------------------------
  # ■ 数値 の文字設定
  #--------------------------------------------------------------------------
  N_SIZE = 22                              # 文字サイズ
  N_BOLD = false                           # 太文字フラグ[true/false]
  N_ITALIC = false                         # 斜め文字フラグ[true/false]
  N_SHADOW = false                         # 影文字フラグ[true/false]
  N_ROUND = false                          # 囲み文字フラグ[true/false]
  N_NAME = ["ＭＳ Ｐゴシック"]             # フォント名
  #--------------------------------------------------------------------------
  # ■ システム の文字設定
  #--------------------------------------------------------------------------
  W_SIZE = 20                              # 文字サイズ
  W_BOLD = false                           # 太文字フラグ[true/false]
  W_ITALIC = false                         # 斜め文字フラグ[true/false]
  W_SHADOW = false                         # 影文字フラグ[true/false]
  W_ROUND =  false                         # 囲み文字フラグ[true/false]
  W_NAME = ["ＭＳ Ｐゴシック"]             # フォント名
  #--------------------------------------------------------------------------
  # ■ メニュー の文字設定
  #--------------------------------------------------------------------------
  M_SIZE = 24                              # 文字サイズ
  M_BOLD = false                           # 太文字フラグ[true/false]
  M_ITALIC = false                         # 斜め文字フラグ[true/false]
  M_SHADOW = false                         # 影文字フラグ[true/false]
  M_ROUND =  false                         # 囲み文字フラグ[true/false]
  M_NAME = ["ＭＳ Ｐゴシック"]             # フォント名
  #==============================================================================
  # ■ メニュー文字設定
  #==============================================================================
  WORD1 = "景品リスト/交換に必要なコイン"
  WORD2 = "交換数"
  WORD3 = "所持数"
  WORD4 = "COIN"
  WORD5 = "PRICE"
  WORD6 = "コイン1枚"
  WORD7 = "購入数"
  WORD8 = "合計金額"
  WORD9 = "所持金"
  WORD10 = "数値を入力します。"
  WORD11 = "コインを購入します。"
  WORD12 = "入力を取り消します。"
  KEY0 = ["0","=","C"]
  KEY1 = ["1","2","3"]
  KEY2 = ["4","5","6"]
  KEY3 = ["7","8","9"]  
  HELP = "→:1増やす ←:1減らす ↑:10増やす ↓:10減らす"
  #==============================================================================
  # ■ コイン購入グラフィック設定 ※Windowskinsフォルダ内のファイル名を指定
  #==============================================================================
  BACK = "coin_shop1"         # COIN購入の背景画像
  SELECT = ""           # COIN購入のカーソル画像
  CURSOR = "cursor_anim"           # カーソルアイコン画像
  #==============================================================================
  
  T_FONT = Copy_Font.new(W_SIZE,W_BOLD,W_ITALIC,W_SHADOW,W_ROUND,W_NAME,AT_COLOR,BT_COLOR)
  
  #--------------------------------------------------------------------------
  # ■ メニュー文字
  #--------------------------------------------------------------------------
  def menu_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::M_SIZE,HIDE_C_SHOP::M_BOLD,
    HIDE_C_SHOP::M_ITALIC,HIDE_C_SHOP::M_SHADOW,HIDE_C_SHOP::M_ROUND,
    HIDE_C_SHOP::M_NAME,HIDE_C_SHOP::AM_COLOR,HIDE_C_SHOP::BM_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ 通常文字
  #--------------------------------------------------------------------------
  def normal_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::W_SIZE,HIDE_C_SHOP::W_BOLD,
    HIDE_C_SHOP::W_ITALIC,HIDE_C_SHOP::W_SHADOW,HIDE_C_SHOP::W_ROUND,
    HIDE_C_SHOP::W_NAME,HIDE_C_SHOP::AN_COLOR,HIDE_C_SHOP::BN_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ 無効文字
  #--------------------------------------------------------------------------
  def disabled_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::W_SIZE,HIDE_C_SHOP::W_BOLD,
    HIDE_C_SHOP::W_ITALIC,HIDE_C_SHOP::W_SHADOW,HIDE_C_SHOP::W_ROUND,
    HIDE_C_SHOP::W_NAME,HIDE_C_SHOP::AD_COLOR,HIDE_C_SHOP::BD_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ システム文字
  #--------------------------------------------------------------------------
  def system_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::W_SIZE,HIDE_C_SHOP::W_BOLD,
    HIDE_C_SHOP::W_ITALIC,HIDE_C_SHOP::W_SHADOW,HIDE_C_SHOP::W_ROUND,
    HIDE_C_SHOP::W_NAME,HIDE_C_SHOP::AS_COLOR,HIDE_C_SHOP::BS_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ 数値文字
  #--------------------------------------------------------------------------
  def number_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::N_SIZE,HIDE_C_SHOP::N_BOLD,
    HIDE_C_SHOP::N_ITALIC,HIDE_C_SHOP::N_SHADOW,HIDE_C_SHOP::N_ROUND,
    HIDE_C_SHOP::N_NAME,HIDE_C_SHOP::AN_COLOR,HIDE_C_SHOP::BN_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ 数値文字
  #--------------------------------------------------------------------------
  def d_number_font?
    fonts = Copy_Font.new(HIDE_C_SHOP::N_SIZE,HIDE_C_SHOP::N_BOLD,
    HIDE_C_SHOP::N_ITALIC,HIDE_C_SHOP::N_SHADOW,HIDE_C_SHOP::N_ROUND,
    HIDE_C_SHOP::N_NAME,HIDE_C_SHOP::AD_COLOR,HIDE_C_SHOP::BD_COLOR)
    return fonts
  end
  #--------------------------------------------------------------------------
  # ■ 景品リストを取得
  #--------------------------------------------------------------------------
  def item_list?(n)
    items = []
    for i in HIDE_C_SHOP::ITEMS[n]
      i.scan(/([iwa])([0-9]+)/)
      type = $1 ; id = $2.to_i
      case type
      when "i"
        items.push($data_items[id])
      when "w"
        items.push($data_weapons[id])
      when "a"
        items.push($data_armors[id])
      else
        items.push(nil)
      end
    end
    return items
  end
  #--------------------------------------------------------------------------
  # ■ 交換に必要なコイン数を取得
  #--------------------------------------------------------------------------
  def coin_list?(n)
    return HIDE_C_SHOP::RATE[n]
  end
end
#==============================================================================
# ■ Window_coin_item_help
#==============================================================================
class Window_coin_item_help < Window_Base
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(0,64,640,64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.draw_cache_text(4+28,0,320,32,HIDE_C_SHOP::WORD1,0,system_font?)
    self.contents.draw_cache_text(4+384,0,320,32,HIDE_C_SHOP::WORD2,0,system_font?)
    self.contents.draw_cache_text(4+384+128,0,320,32,HIDE_C_SHOP::WORD3,0,system_font?)
  end
end
#==============================================================================
# ■ Window_Have_Coin
#==============================================================================
class Window_Have_Coin < Window_Base
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(320,288+128,320,64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_cache_text(4,0,120,32,HIDE_C_SHOP::WORD4,0,system_font?)
  end
end
#==============================================================================
# ■ Window_price
#==============================================================================
class Window_price < Window_Base
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(n = 0)
    super(0,288+128,320,64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(n)
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(n)
    self.contents.clear
    self.contents.draw_cache_text(4,0,120,32,HIDE_C_SHOP::WORD5,0,system_font?)
    self.contents.draw_cache_text(160+4+4,0,120,32,n.to_s,2,normal_font?)
  end
end
#==============================================================================
# ■ Window_Coin_Number
#==============================================================================
class Window_Coin_Number < Window_Base
  include HIDE_C_SHOP
  
  attr_reader   :help_window              # ヘルプウィンドウ
  #--------------------------------------------------------------------------
  # ■ ヘルプウィンドウの設定
  #--------------------------------------------------------------------------
  def help_window=(help_window)
    @help_window = help_window
    # ヘルプテキストを更新
    if self.active && @help_window != nil
      update_help
    end
  end
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(368,128,136,288)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.active = false
    @item = nil
    @max = 1
    @number = 1
  end
  #--------------------------------------------------------------------------
  # ■ アイテム、最大個数
  #--------------------------------------------------------------------------
  def set(item,max,price,index)
    @item = item
    @max = max
    @number = 1
    @price = price
    @index = index
    refresh
  end
  #--------------------------------------------------------------------------
  # ■ 入力された個数の設定
  #--------------------------------------------------------------------------
  def number
    return @number
  end
  #--------------------------------------------------------------------------
  # ■ 消去
  #--------------------------------------------------------------------------
  def clear
    self.cursor_rect.set(0,0,0,0)
    self.contents.clear
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.cursor_rect.set(32,@index*32, 32, 32)
    self.contents.clear
    self.contents.draw_cache_text(4,@index*32,24,32,"×",0,normal_font?)
    self.contents.draw_cache_text(36,@index*32,24,32,@number.to_s,2,number_font?)
  end
  #--------------------------------------------------------------------------
  # ■ フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    if self.active
      # カーソル右 (+1)
      if Input.repeat?(Input::RIGHT) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number += 1
        refresh
      end
      # カーソル左 (-1)
      if Input.repeat?(Input::LEFT) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number -= 1
        refresh
      end
      # カーソル上 (+10)
      if Input.repeat?(Input::UP) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number = [@number + 10, @max].min
        refresh
      end
      # カーソル下 (-10)
      if Input.repeat?(Input::DOWN) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number = [@number - 10, 1].max
        refresh
      end
      # ヘルプテキストを更新 (update_help は継承先で定義される)
      if self.active && @help_window != nil
        update_help
      end
    end
  end
  #--------------------------------------------------------------------------
  # ■ ヘルプテキスト更新
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(HIDE_C_SHOP::HELP)
  end
end
#==============================================================================
# ■ Window_coin_Item
#==============================================================================
class Window_coin_Item < Window_Selectable
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(n)
    super(0,128,368,288)
    @n = n
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ■ アイテムの取得
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ■ 必要なコイン数の取得
  #--------------------------------------------------------------------------
  def price
    return coin_list?(@n)[self.index].to_i
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = item_list?(@n)
    # 項目数が 0 でなければビットマップを作成し、全項目を描画
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ■ 項目の描画
  #     index : 項目番号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if coin_list?(@n)[index] > $game_party.coin or number >= 99
      font = disabled_font?
      font2 = d_number_font?
      opacity = 128
    else
      font = normal_font?
      font2 = number_font?
      opacity = 255
    end
    x = 4
    y = index * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_cache_text(x + 28, y, 212, 32, item.name, 0,font)
    self.contents.draw_cache_text(x + 240, y,88, 32,coin_list?(@n)[index].to_s, 2,font2)
  end
  #--------------------------------------------------------------------------
  # ■ ヘルプテキスト更新
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end
#==============================================================================
# ■ Window_coin_Item_number
#==============================================================================
class Window_coin_Item_number < Window_Selectable
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(n)
    super(368+136,128,136,288)
    @n = n
    refresh
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ■ アイテムの取得
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ■ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = item_list?(@n)
    # 項目数が 0 でなければビットマップを作成し、全項目を描画
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ■ 項目の描画
  #     index : 項目番号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    x = 64
    y = index * 32
    self.contents.draw_cache_text(x,y,24,32,number.to_s,2,number_font?)
  end
end
#==============================================================================
# ■ Scene_Coin_shop
#==============================================================================
class Scene_Coin_shop
  include HIDE_C_SHOP
  #--------------------------------------------------------------------------
  # ■ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # □マップ BGM を記憶し、BGM を停止
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    # □アイテム交換 BGM を演奏
    $game_system.bgm_play(RPG::AudioFile.new(HIDE_C_SHOP::S_BGM))
  end
  #--------------------------------------------------------------------------
  # ■ メイン処理
  #--------------------------------------------------------------------------
  def main
    # □ヘルプウィンドウを作成
    @help_window = Window_Help.new
    # □所持コインウィンドウを作成
    @have_coin = Window_Have_Coin.new
    @coin_item_help = Window_coin_item_help.new
    # □交換個数ウィンドウを作成
    @buy_number = Window_Coin_Number.new
    @buy_number.help_window = @help_window
    # □コイン数値ウィンドウを作成
    @coin_window = Window_digits_number.new(488,416,100,$game_party.coin,10,10,number_font?)
    # □景品リストウィンドウを作成
    @item_list = Window_coin_Item.new($game_temp.coin_shop_pattern)
    @item_list.help_window = @help_window
    # □所持数ウィンドウを作成
    @item_number = Window_coin_Item_number.new($game_temp.coin_shop_pattern)
    # □交換コイン合計ウィンドウを作成
    @price_coin = Window_price.new
    # トランジション実行
    Graphics.transition
    # メインループ
    loop do
      # ゲーム画面を更新
      Graphics.update
      # 入力情報を更新
      Input.update
      # フレーム更新
      update
      # 画面が切り替わったらループを中断
      if $scene != self
        break
      end
    end
    # トランジション準備
    Graphics.freeze
    # ウィンドウを解放
    @help_window.dispose
    @coin_window.dispose
    @item_list.dispose
    @item_number.dispose
    @buy_number.dispose
    @price_coin.dispose
    @have_coin.dispose
    @coin_item_help.dispose
  end
  #--------------------------------------------------------------------------
  # ■ 終了
  #--------------------------------------------------------------------------
  def coin_shop_end
    unless @playing
      # □アイテム交換開始前の BGM に戻す
      $game_system.bgm_play($game_temp.map_bgm)
      # □マップ画面に切り替え
      $scene = Scene_Map.new
      return
    end
  end
  #--------------------------------------------------------------------------
  # ■ フレーム更新
  #--------------------------------------------------------------------------
  def update
    #…………………………………………………………………………………………………
    # ■ 回転数値の更新(所持コイン)
    #…………………………………………………………………………………………………
    @coin_window.update($game_party.coin)
    @item_list.update
    @buy_number.update
    # □フレーム更新
    if @buy_number.active
      update_buy
      return
    end
    if @item_list.active
      update_item
      return
    end
  end
  #--------------------------------------------------------------------------
  # ■ フレーム更新 (アイテムウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_item
    #…………………………………………………………………………………………………
    # ■ B ボタンが押された場合
    #…………………………………………………………………………………………………
    if Input.trigger?(Input::B)
      # □キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      coin_shop_end
      return
    end
    #…………………………………………………………………………………………………
    # ■ C ボタンが押された場合
    #…………………………………………………………………………………………………
    if Input.trigger?(Input::C)
      # □現在選択されているデータを取得
      @item = @item_list.item
      @price = @item_list.price
      case @item
      when RPG::Item
        number = $game_party.item_number(@item.id)
      when RPG::Weapon
        number = $game_party.weapon_number(@item.id)
      when RPG::Armor
        number = $game_party.armor_number(@item.id)
      end
      # □景品を交換できない条件
      if @price > $game_party.coin or number >= 99
        # □ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # □決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # □交換最大数を取得
      @max = 99 - number
      if @max * @price > $game_party.coin
        @max = $game_party.coin / @price
      end
      # □更新
      @buy_number.set(@item,@max,@price,@item_list.index)
      @buy_number.active = true
      @buy_number.visible = true
      @item_list.active = false
    end
  end
  #--------------------------------------------------------------------------
  # ■ フレーム更新 (個数入力ウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_buy
    @new_coin = @buy_number.number * @item_list.price
    #…………………………………………………………………………………………………
    # ■ 合計コインの更新
    #…………………………………………………………………………………………………
    if @old_coin != @new_coin
      @price_coin.refresh(@new_coin)
      @old_coin = @new_coin
    end
    #…………………………………………………………………………………………………
    # ■ B ボタンが押された場合
    #…………………………………………………………………………………………………
    if Input.trigger?(Input::B)
      # □キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      @buy_number.active = false
      @buy_number.clear
      @price_coin.refresh(0)
      @old_coin = 0
      @item_list.active = true
      return
    end
    #…………………………………………………………………………………………………
    # ■ C ボタンが押された場合
    #…………………………………………………………………………………………………
    if Input.trigger?(Input::C)
      # □決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # □景品を増やす
      case @item
      when RPG::Item
        $game_party.gain_item(@item.id,@buy_number.number)
      when RPG::Weapon
        $game_party.gain_weapon(@item.id,@buy_number.number)
      when RPG::Armor
        $game_party.gain_armor(@item.id,@buy_number.number)
      end
      # □コインを減らす
      $game_party.lose_coin(@new_coin)
      # □更新
      @item_number.refresh
      @item_list.refresh
      @buy_number.active = false
      @buy_number.clear
      @price_coin.refresh(0)
      @old_coin = 0
      @item_list.active = true
      return
    end
  end
  #--------------------------------------------------------------------------
  # ■ 終了
  #--------------------------------------------------------------------------
  def Coin_shop_end
    unless @playing
      # □アイテム交換開始前の BGM に戻す
      $game_system.bgm_play($game_temp.map_bgm)
      # □マップ画面に切り替え
      $scene = Scene_Map.new
      return
    end
  end
end
