SAO風ゲームオーバー



ソードアートオンラインを参考にゲームオーバー = 死(セーブデータ削除)を実装してみます。

変更点
2019:03:02
・Savedd.rxdata以外のデータも削除対象に

#==============================================================================
# ■ SAO風ゲームオーバー By 貪藻矢射妥←
# 
#  ソードアートオンラインを参考にゲームオーバー = 死(セーブデータ削除)
#  を実装してみます。
# 
#  ※Scene_Title、Scene_File、Scene_Loadのファイル数最大数も
#   SAO_GameOver::FILE_MAX に変更するとよいです
# 
#==============================================================================
# 更新っぽいもの
# 2019:03:02
# ・Savedd.rxdata以外のデータも削除対象に

module SAO_GameOver
  # セーブファイル最大数 - 1
  FILE_MAX = 3
  
  # 削除対象ファイルリスト
  # Savedd.rxdata以外のデータ
  DELETE_LISTs = [
    "Qsave.rxdata", 
    "RX_Bsave.rxdata", 
    "S_data.rxdata", 
    "aop.rxdata", 
    "extra.rxdata"
  ]
end

#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
#  ゲームオーバー画面の処理を行うクラスです。
#==============================================================================

class Scene_Gameover
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      
      # ファイル削除(Savedd.rxdata)
      for index in 0..SAO_GameOver::FILE_MAX
        filename = "Save#{index+1}.rxdata"
        # ファイルが存在する場合削除する
        if FileTest.exist?(filename)
          File.unlink(filename)
        end
      end
      
      # ファイル削除(Savedd.rxdata以外)
      for filename in SAO_GameOver::DELETE_LISTs
        # ファイルが存在する場合削除する
        if FileTest.exist?(filename)
          File.unlink(filename)
        end
      end
      
      # タイトル画面に切り替え
      $scene = Scene_Title.new
    end
  end
end

戻る