貪藻矢射妥←ダイヤモンドベースモジュール


ベースモジュール ※これだけあっても何もできません。 ※いわゆるC言語でいうstdio.hみたいなもので・・・自作スクリプトを使用する場合に必須モジュールとして  インクルードしておいてください。 変更点 2008:12:16 ・最大所持数配列を追加 2009:04:24 ・デフォルトフォントの設定を削除 2010:03:27 ・あちこちに分散していた設定を統合 2010:12:04 ・module BMを追加 2011:07:01 ・get_rect_hyperに異常時を追加
#==============================================================================
# ○貪藻矢射妥←モジュール
#  貪藻矢射妥←なスクリプトに必要かと思われるモジュールです
# 
# 貪藻矢射妥←作スクリプトで使用する共通処理関数をモジュール化したもの。
# これで、スクリプトの行数削減ができるんるん♪
# 
# ※・・・ちなみに、これだけ導入しても意味がないので気をつけてください。
#==============================================================================
# 変更履歴
# 2008:12:16
# ・最大所持数配列を追加
# 
# 2009:04:24
# ・デフォルトフォントの設定を削除
# 
# 2010:03:27
# ・あちこちに分散していた設定を統合
# 
# 2010:12:04
# ・module BMを追加
#
# 2011:07:01
# ・get_rect_hyperに異常時を追加

module BM
  MAX_HOLD = [125, 250, 500, 999]
  # Max_Hold_Changeを使用しない場合のデフォルト最大数
  DEFAULT_MH = 999
  
  MAX8BIT  = 255
  HARF8BIT = 127
  NILCOLOR = Color.new(0, 0, 0, 0)
  BLCOLOR  = Color.new(0, 0, 0, MAX8BIT)
end

module DIAMOND
  include BM
  
  # フォントセット
  DRAWFONT  = ["富士ポップP", Font.default_name]
  DRAWFONT2 = ["STROKE", Font.default_name]
  DRAWFONT3 = ["RN-HoneyBlade", Font.default_name]
  #RN-HoneyBlade
  #Pump Demi Bold LET
  #Broadway BT
  
  # バックグラウンドカラー
  BGCOLOR     = Color.new( 10,  10,  80, MAX8BIT)
  BGCOLORD    = BGCOLOR.clone
  BGCOLORD.alpha = HARF8BIT
  
  #--------------------------------------------------------------------------
  # ● 文字の描画 貪藻矢射妥←カスタム (汎用 Ver.)
  #     root  : 描画大本
  #     rectr : 全体の表示領域
  #     text  : 表示文字
  #     align : 表示位置
  #--------------------------------------------------------------------------
  def draw_text2_root(root, rectr, text, align=0)
    root.draw_text(rectr[0], rectr[1], rectr[2], rectr[3], text, align)
  end
  #--------------------------------------------------------------------------
  # ● 文字の描画 貪藻矢射妥←カスタム (self.contents Ver.)
  #     rectr : 全体の表示領域
  #     text  : 表示文字
  #     align : 表示位置
  #--------------------------------------------------------------------------
  def draw_text2(rectr, text, align=0)
    draw_text2_root(self.contents, rectr, text, align)
  end
  
  #--------------------------------------------------------------------------
  # ● 配列ゲット関数
  #--------------------------------------------------------------------------
  def get_dim(list)
    ret = []
    
    list.each { |rng|
      case rng
      # 値が数値の場合、そのまま数値をプッシュ
      when Integer
        ret.push(rng)
      # 値が範囲式の場合、リカーシブルでゲットしたものをconcat
      when Range
        ret.concat(get_dim(rng))
      end
    }
    return ret
  end
  
  #--------------------------------------------------------------------------
  # ● 縁取り文字用縁計算
  #     rectr : 全体の表示領域
  #--------------------------------------------------------------------------
  def get_rect_hyper(rectr)
    if rectr.size == 4
      rect1 = [rectr[0]+1, rectr[1]+1, rectr[2], rectr[3]]
      rect2 = [rectr[0]+1, rectr[1]-1, rectr[2], rectr[3]]
      rect3 = [rectr[0]-1, rectr[1]+1, rectr[2], rectr[3]]
      rect4 = [rectr[0]-1, rectr[1]-1, rectr[2], rectr[3]]
    else
      rect1 = [rectr[0]+1, rectr[1]+1]
      rect2 = [rectr[0]+1, rectr[1]-1]
      rect3 = [rectr[0]-1, rectr[1]+1]
      rect4 = [rectr[0]-1, rectr[1]-1]
    else
      p "サイズ異常"
      return nil
    end
    return rect1, rect2, rect3, rect4
  end
end

戻る