Maidensnow Online 再帰的

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

再帰的

メソッドのすすめ。
単純なメソッドで漏れなく処理をいきわたらせることが出来ますね。

<例>
「全てのインスタンス変数から開放されてないビットマップを探す。
 という処理を、(自身と)全てのインスタンス変数に対して行う。」
同じオブジェクトは二度検査しない。


# おまけ。ビットマップを読み込む際にset_filename(path)しておくと
# 例)bmp = Bitmap.new(path).set_bitmap(path)
# to_sでファイルパスが表示される。関連したファイル名を取得するのにもちょう便利
もあるよ!
module Kernel
#----------------------------------------------------------------------------
# ● 開放されていないビットマップとその変数名を全てのインスタンス変数から“深く”探す
#----------------------------------------------------------------------------
def check_non_disposed_bitmap(main = self, finished = {})
return unless $TEST
return if finished[self]
finished[self] = true
instance_variables.each{|key|
v = instance_variable_get(key)
if Bitmap === v && !v.disposed?
p "#{main.to_s}#{main != self ? " 関連オブジェクト:#{self.to_s}" : ""} :not_disposed_Bitmap #{key}:#{v.to_s}"
else
v.check_non_disposed_bitmap(main, finished)
end
}
end
end

module Enumerable
#----------------------------------------------------------------------------
# ● 開放されていないビットマップを全ての要素から探す
#----------------------------------------------------------------------------
def check_non_disposed_bitmap(main = self, finished = {})
return unless $TEST
return if finished[self]
super
self.each{|v| v.check_non_disposed_bitmap(main) }
end
end



# おまけ。ビットマップを読み込む際にset_filename(path)しておくと
# 例)bmp = Bitmap.new(path).set_bitmap(path)
# to_sでファイルパスが表示される。関連したファイル名を取得するのにもちょう便利
#==============================================================================
# ■ Bitmap
#==============================================================================
class Bitmap
attr_reader :filename
def set_filename(v)
@filename = v
self
end
def to_s
"#{super}:#{@filename}"
end
end
スポンサーサイト

コメントの投稿

Secret

第二回!
プロフィール

暴兎(あばれうさぎ)

Author:暴兎(あばれうさぎ)
自分のやりたいゲームを開発しているうさぎ目。
がぞうはまだない。
好きないいところだぞはフクオカはいい所だぞ。
現在のカイトゥぱすは usabox。

HP:Cafe Clock Rabbit
素材利用規約
ゲームダウンロード
ふぐぁいとFAQ

banner


"メイデンスノウの妖怪大魔境シリーズ"
では、●MACK●様作成のキャラクターグラフィックを改造したりばらしたりして利用させていただいております。


れんらくさき
Maidensnowあっとほっとめーる.co.jp

検索フォーム
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ

しつもんばこ
今はこれ(に答えるの)が精一杯。
ブロとも申請フォーム

この人とブロともになる

リンク
新・ツクールリング 新ツクールリング HOMEへ 5つ先 1つ先 1つ前 5つ前 リスト 登録 ランダム 富士通 ARROWS Tab Wi-Fi
javascript:void(0);
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。