前回
「ま、後は楽勝よw」
とか書いてましたが・・いやはや苦労しましたよ〜・・自業自得なんですけど!
![](https://blogimg.goo.ne.jp/user_image/7d/44/a18daa1fb30e4b9449d23ce201816d6d.png)
ITEMの時と同じなんでアッサリなんですけど、メインメニューでmを押すとBATTLE-C-MAGICに#tを与えると魔法メニューが出る
![](https://blogimg.goo.ne.jp/user_image/59/90/9a2e35ae3d690268e93f156fb2a964b6.png)
魔法を選んでBATTLE-C-MAGICに魔法がセットされると魔法の種類によって処理が変わる。全体攻撃の場合は即座に影響が出る。HOやASなど対象者メニューが必要な場合にはBATTLE-MAGICを#tにする
![](https://blogimg.goo.ne.jp/user_image/7f/c1/8dedec9f40b0ae35864087b5dc107000.png)
BATTLE-MAGICが#tになったら、HOだったりASだったりで場合分けする。HOの場合には対象者のHPを回復
![](https://blogimg.goo.ne.jp/user_image/25/b6/d078f3f38c39219574efe8ca13d41367.png)
ASの場合には敵対象者のHPを減らす。内部的にはコレで何とかオッケイなんですが・・ここまでもCaseとCondとElseがもう処理が追いつかなくて大変でした。結局関数化してないから見通しが悪いんだけど・・。
と、ここまでが宿直。
![](https://blogimg.goo.ne.jp/user_image/43/8e/72959a50aab713af7f9a9734d368d6f9.png)
で、ようやく表示部分。と、ここで気づく。今までみたいに上から上からという方法では、階層が同列のアイテム使用と魔法使用は別の関数として書く事が出来ないのでは?
しかもアイテムでも魔法でも対象が敵だったり味方だったりするんだけど、今までに書いてたのは回復道具だけだったので、そこんところも場合分けしないといけない。
で、上の画像のように書いたんだけど・・あ〜そうか・・即座に評価されるからBATTLE-U-ITEMに違うデータを持たせる設計だとエラーが出ると
![](https://blogimg.goo.ne.jp/user_image/7a/9d/1320c0fcc6db4bc5250c5dce603cafa4.png)
しょうがないのでITEMとMAGICでそれぞれ種類によって対象メンバーを呼び出すように・・いや、これは後で多少なりともエレガントになるようにしないと。まあ、動くんですけど!
![](https://blogimg.goo.ne.jp/user_image/3d/17/e89e0df99364609b903f9a580a36ae39.png)
で、ほとんど同じものをMAGICにも。
![](https://blogimg.goo.ne.jp/user_image/30/09/43929a48ec2b0385a9088f289f814bdb.png)
結果・・メラ(対象が敵単体)の場合はこのように敵リストが
![](https://blogimg.goo.ne.jp/user_image/66/cb/db247246b580c64ce9c120c96a9c8941.png)
ホイミ(対象が味方単体)の場合には味方リストが出るようになりました。
![](https://blogimg.goo.ne.jp/user_image/72/d0/67ef66daf25afdba678f889605c16099.png)
イオを使うとエラーが出てたんですけど、原因は敵が魔法で死んだ時の処理をしてなかったため。まあこれは生あるもののみフィルターすればエエやろ。
逆にザオリク的なのは死者のみフィルターすればエエわけで・・フィルターめちゃ便利だな!
![](https://blogimg.goo.ne.jp/user_image/2e/5d/f2f60ccebb5f6fb58ce79a6dfffb5c71.png)
イオを選ぶと
![](https://blogimg.goo.ne.jp/user_image/77/62/9e6f4faf8f552fef090e28baacc44abe.png)
無事にお亡くなりになりました
という訳で今日はこんくらいにしといたろ!(ヘロヘロ)
後気になるのは・・・
・魔法のエフェクト
・バッドステータス攻撃
そして何よりもコードのリファクタリングね。これを優先しないと特殊能力の実装とか無理だろ。