星田オステオパシー

Racketで何かゲームらしきものをつくれ!019 サブ関数完成&画像調整完了

よし、今夜も宿直Racketということで!

 まずは戦闘にかかったターン数に応じて行き先が変わる名付けてリミットバトルなんですが・・新たにサブバトル関数を書くんじゃなくて既存のものをpages-argの内容によって場合分けするようにしました。
 上の場合だと7ターン以内に終わった場合には006へ、それ以上かかったら088へ進むと

 この画像だと意味不明なんですがちゃんと動きました

 コードはこういう感じで。pages-argが#fで無い場合にはリミットバトルと判断して戦闘終了後にターン数チェックを行って行き先決定(強制)。

 続いてクシャナ戦。これも新たに関数を作るんではなくて既存のものを変えて対応することにしました(この一戦だけだし)。

 ちなみにクシャナ様、メチャ強いです。テスト中は適当に行動点(攻撃力)を15、基本点(体力)を15に設定してますが、これでなんとか互角。上の画像だと最後に光弾を使って辛勝って感じだったんですが、本来の初期値は行動点はD6、基本点はD6+7ですからね・・

 勝利条件を満たした場合、ちゃんと動いていますね。まあ実はまたもやPagesのリストで数字を1つ飛ばしていて謎の挙動になってて修正に手がかかりましたけど

 ページをまたいでいる画像はまだ合体処理をしてないのですが、登場シーンはこういう感じ

 負けた場合はこんな感じ。守り石があるので次の展開への選択肢が出ています。212257はテスト用に現在ページを表示させたため。オッケイ!

 という訳でクシャナ戦のための処理を書き加えたバトルLOOP関数。リミットバトルと違って戦闘の終了条件自体が違うのでPages-argの引数の先頭に”K"があった場合の処理を加えて終わり。よしよし・・

 という訳でようやくmain-read関数が完成しました〜

 アイテムチェック後に消費する場合・・つまり守り石を使う場合の処理を書いてなかったので書く。面倒なので飛ばされた先のページでアイテムドロップ関数で強制的に捨てさせるようにした。

 後はGimpを使って(と言っても画像を並べて再びスクショを撮るわけですが)挿絵と該当パラグラフの合体などを行って完了!いや〜・・とうとう本体はほぼ完成しました(^_^;)
 後はアイテムごとに番号が振られていて、その番号を足したページを入力!とかってのがあるのでその番号調査と戦闘時のボイスかムービーの追加(VLC利用)、テストプレイで完成ですな!素材を用意しないとな〜・・あとVLCの使い方も調べんと!
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事