netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-11-21 [長年日記] ▲
_ [論文] プログラム変換を使ったスライシング ▲
M. P. Ward, H. Zedan, and T. Hardcastle:
Conditioned Semantic Slicing via Abstraction and Refinement in FermaT.
Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR 2005), pp.178-187, March 2005.
スライス基点として選択された変数集合に影響を与える文以外を削除する.if-(cond)-then-else を ((cond and then) or (not cond and else)) に置き換えるとか,入力時に,いくつかの変数の値域を指定することでその値を簡約化するといった変換操作をして出力を決定している様子.
_ [論文] クラスのフィーチャ固有/インフラ担当の分類 ▲
Orla Greevy and Stephane Ducasse: Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces.
Proceedings of 6th Workshop on Object-Oriented Reengineering 2005.
ユーザが起動できる操作(主に,GUIから実行する各メニューの操作など)ひとつひとつを feature と呼び,それぞれについて実行履歴を取った結果を feature traces と呼ぶ.
feature traces に登場するクラス群を分析したとき,1つのfeatureにしか登場しないものを single feature,複数に登場するものを group feature,半分以上のfeatureに登場するものを infrastructural と分類することで,クラス群を分類して理解しようとしている.
feature の集合が,プログラムの全機能を完全にカバーしなくても,feature location 的な使い方には十分だろう,と書いている.また,手法自体は単純なので,スケーラビリティは高そう.
fan-in analysis で呼び出し元が多いものをアスペクトにしよう,という発想の研究に似ている気がする.
また,著者の人のページにあるほかの文献の abstract とかを見てたら,Latent Semantic Indexing (LSI) を適用したとか,他にも色々分析して論文を書いてる様子.
2005-11-20 [長年日記] ▲
_ [ツール] ActiveX DLL/EXE のインストール補助ツール ▲
Volume Deskbarを公開したものの,ActiveX を regsvr32 で登録する手続きは敷居が高いという指摘を受けて,OCX Setup というツールを再配布させていただくことにした.
Vector の「インストーラ」カテゴリにいくつか似たようなツールはあったのだが,ランタイムライブラリが不要であること,インタフェースが比較的単純(登録するファイルを選んでOKを押すだけ)であることから選択した.
_ [OUCC][ゲーム]ゾーマ1人撃破の巻 ▲
ドラクエ3 バラモスと踊るにゾーマ退治時の画像を追加.
戦法はバラモスのときよりも単純で,ひかりのたま使用後,ベホマで攻撃・回復をひたすら繰り返し.いのりのゆびわでMPを全快してから戦闘開始で,あとは運(相手が威力の低い吹雪やいてつく波動を何回使ってくれるか)がかなり影響する.物理攻撃が一番ダメージが大きいので,はんにゃのめんを装備すると圧倒的に楽になることは確認されたが,以下のデータでは使用していない.
HPが足りなかったのでやっぱりサマンオサでサルを相手に修行し,レベルも上げてMPを上げておく必要はあった.
いちおうダメージ値の列のメモをもらったので以下に掲載.ゾーマのHPは1000,自動回復100.はんにゃのめんを装備すると,回復のサイクルがだいぶ長くなり,戦闘時間を大きく短縮できる.
152, 152, 161, 0, 168, 148, 179, 0, 166, 170, 145, 171, 0, 151, 172, 154, 149, 0, 167, 169, 159, 0, 145, 145, 158, 177, 0, 160, 162, 170, 176, 164 (撃破)
2005-11-19 [長年日記] ▲
_ [Delphi][ツール] ボリューム調整デスクバーの更新 ▲
ボリューム調整デスクバーを更新した.変化は最低サイズの設定が可能になったことと,右クリックで設定ダイアログの呼び出しと,ミュートの指定ができるようになったこと.ボリュームコントロールをいちいちクリックせずにすぐにボリュームを調整したい人向け.
iniファイルの位置は,ちゃんと DLL ファイルと同じ位置に出力するようにしている.いちおう COM コンポーネントなので,ComServer.ServerFileName を使って取得している.
2005-11-17 [長年日記] ▲
_ [Delphi][ツール]ボリューム調整デスクバー ▲
ちょっとほしくなったのでボリューム調整ができるデスクバーなんてものを作ってみた.ボリューム調整には,Vivasoft様のTMixerコンポーネントを使わせていただいている.
2005-11-16 [長年日記] ▲
_ [OUCC][ゲーム]ドラゴンクエスト3(ファミコン版)勇者1人でのバラモス退治 ▲
ドラクエ3の勇者1人旅でのバラモスの倒し方が Nelcy@OUCC らによって確認された.
レベルが60超えてもHPが足りないので(409で成長が止まった),サマンオサでクマとサルを相手に修行することがポイント.グリズリーがちからのたね,コングがいのちのきのみを1時間〜2時間に1個くらいは落とすので,それを集めて,HPが459,ちからが206となった時点で初めて倒せた.
このときレベルは74,MPは256.すばやさはほしふるうでわつきで255.レベルアップごとに,MPが3〜4伸びるまではリセット.ちからのたねは3,いのちのきのみは5が出るまで同様にねばる.
マホトーンで呪文を封じ,くさなぎの剣で守備を 0 まで下げてから,本格的に戦闘開始.攻撃3回→ベホマの繰り返しでダメージを累積させられるかどうかが勝利できるかどうかに直接影響する.攻撃3回で,420〜480程度のダメージを与えられれば,自動回復4ターン分の400を差し引いても,20〜80程度累積させることができる.で,蓄積した値の記録を取りながら戦い,蓄積ダメージが0に戻るようなら一度仕切りなおし.会心の一撃が出て,ダメージがある程度乗ってきたら,あとはギガデインの連打で決着をはかる.
バラモスはHP900,自動回復が100.バラモスからの攻撃は,マホトーンを使って魔法を封じると,攻撃2回→炎+攻撃→攻撃+炎の繰り返しになり,ドラゴンメイルを着ると1ターンに100〜130程度の範囲で分布する.HPが480程度あれば,3回攻撃→回復のリズムをほぼ確実に保てるので,確実に勝利できると思われる.
ちなみに,勝利時のダメージ数値列は以下の通り.
136, 122, 163, ベホマ, 172, 131, 163, ベホマ, 251(会心), 282(会心), 127, ベホマ, 199(ギガデイン), 219(ギガデイン), 186(ギガデイン), ベホマ, 181(ギガデイン), 208(ギガデイン), 214(ギガデイン) →勝利
2005-11-15 [長年日記] ▲
_ [hyCalendar] 1.3.2 リリース. ▲
バグが1件,1.3.1 で見つかったので修正してリリース.
単に Copy(string, index, length) の呼び出しで Copy(string, index+1, length) になってただけなので,修正自体は一瞬だった.DUnitとかちゃんと使っていれば事前に防げたバグなだけに,少し悲しい.
次の機能拡張を入れる前に,一度DUnitのテストを追加してコード整理しないとなー,と思う.iCalendarオブジェクトをhyCalendar上にマップする方法についての調査もそろそろ始めておきたいところ.