昨夜は戦闘処理に入るつもり満々だったのですが、キャラの移動判定が中途半端だったので仕上げておりました。
各方向への移動処理(移動不可の処理込み)の共通部分を関数化
本体は非常にコンパクトになりました(^o^)
苦闘の記録は学習日記をどうぞ(^_^;)
で、今朝は早起きしまして宿直ベッドで続き。
すぐに中断出来るようにライトなのを・・。20面ダイスでの判定になるのでサイコロ関数を・・複数回振るかも知れないのでCase-lambdaとDoで。Doは繰り返しがワンラインで書けるからこういう処理の時イイっすね
まだもう少し時間があったので懸念のアクティブキャラに強調グラフィック付与の件。まあ、手軽にsquareで行っとく?
味も素っ気もないけど、テストとしては十分かな!今後テキストも含めて重ね合わせが大量になるはずなので、近いうちにCametanさんに教わったFoldの関数リストの例のアレに書き直さないと
で、帰宅後。気候もすっかり春めいて部屋も温かいので更にやっちゃおう!
つまり、とうとう戦闘判定部分にかかろうやないかい!と。
ところが戦闘ルールを読んだけどもう一つよく分からない
そこで、どなたかがアップされてた(実卓用の)メモを拝見。ああ、基本攻撃ボーナスって
ファイターだと=レベル数のこれか。+1ってあるんでレベルアップの時に増加する数だと思って混乱してたわ。レベル6で攻撃回数が増えて、増えたほうはまた1からスタートなわけか、ホイホイ
んじゃまあ、クリティカル処理を組み合わせて書いていこうか・・。攻撃ボーナス部分は組み込むと見にくいので別にしよう、あ、筋力修正値(詳細が不明だったのでテキトー)も別にして・・
本体の戦闘処理、ターゲットを特定するのにFilterで座標を使ってC-LISTから抜き出してこいつをいじれば・・あ・・イジった処理済みENEMY構造体を元の順番に戻すのはどうしたら良いんだろうか・・
こういう時にはやっぱり再帰だな!別タブでテスト用のコードを書きまして・・オッケイ!今回も破壊的変更を使わずに済んだぜ・・
というところで本日の宿直時間が近づいてまいりました。まあ、ここまで書けたら後は楽勝だろ!
今の所、このくらいのレベルが書いてて一番楽しいなぁ