星田オステオパシー

RacketでCLIラピュタ09 一気に完成寸前まで持っていく

宿直でもないのに更新。Fold Match-let Map Filterなどへの無意識下での恐れが消えたのが原因なのか?どんどん打ち込みたくなってる

 前回リストがエラいことになってしまっていたアイテムゲット関数、Foldrを使って解決しました。Cons系で1つのリストに変更を行うときにはFoldで覚えておこう

 ではステータスと持ち物を1つ変更するHPAC関数のテスト。ステータスの上限を・・まあグローバル変数を設定せんでもエエか・・。あとアイテムがマイナスになってしまうので

 ちょっといじらせていただいて。HOAC、OK

 ゲームオーバー関数OK

 装備リセット関数。適当に持ち数を設定して

 OK。ちゃんとFoldrを使って書き直しました

 二度目に来たときにはC-listにある分しか選択できないようにするSAIDO関数。イベントなのにMain-inputと同じUIにする必要がある。OK

 ランチャー特殊関数。ランチャーの弾がある時には全部表示。弾が無い時にはすでに通過した部分のみ選択肢に表示する

 弾をゼロにして

 Trackに254があると

 C-listにある行き先とArgとTrackに重なっている行き先のみ表示

 残りの弾があると全部表示。OK

 ムスカとのラストバトル対応版のバトルREAD関数。259Pの時だけEvalをムスカ用のBattle-eval-Mで呼び出す

 ムスカとのラストバトル用Battle-evalM。ランチャーを(人間に対してw)使う場合は自動優勢になるので、使用の意思チェック。使わない、弾が無い場合は通常戦闘用のBattle-evalを呼び出してループ

 バトルLOOP。P259の時にはムスカ用へ

 敵インスタンス。今回敵の種類が少ないなぁ・・戦闘そのものが少ないからしょうがないけど

 メイン画面で行き先の指定、所持アイテムの確認を行うMain-inputを書く。Inputと言ってもここでPrintもLoopもしてしまうので・・これにて終了!
 あ、終わってしまった・・

 後は画像をPictureフォルダに入れたら普通に遊べるはず。次の日曜日はテストプレイかな。それぞれの関数ではテストが終わってるので予測出来るエラーとしてはデータの不備くらいかな?

 同じようなのを二回連続で作ってどうなの?と思ってましたけど、実際の所復習やら別の書き方への挑戦とかでかなり学習になったと思います(^o^)
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

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

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