Posts
KFX の enemy.lst 図解
enemy.lst の確率指定 (厳密に言うと閾値) は分かりづらい構造だが、行を選択する際のランダム値を矢の高さ、確率を的の大きさに例えると分かりやすい。
Distance--100--Command--COMMENT 320 20 623P ;アッパー 320 50 214K ;アッパー 320 100 236P ;アッパー
矢は左から放たれ、当たった的に設定されたコマンドが実行される。ここで重要なのは、50 は 20 の後ろにあるので実質 30 の面積しかない。これが 50 が 50% ではなく 30% になる所以である。
あと、公式 FAQ にある、
最終行には、最大離れたら 100% これをするって行は必ず入れておいてください。
という記述。これが意味するのは、必ず当たる的を用意しておけということ。でないと、矢は部屋を突き抜けどこかへ飛んでいってしまう。実際問題、KFX は行が見つからないことを想定していないので動作は未定義になる。
この方式はユーザーにやさしくない分、プログラムとの相性は良い。