星田オステオパシー

Racketで何かゲームらしきものをつくれ!020 テストプレイ開始

今日も宿直プログラミングやって行きますか!いよいよプログラム本体もデータも一応は完成したはずなので・・・

 テストプレイ開始いたします!音楽とか画像はこれが終わってからということで

 1パラグラフ目から開始して商店街へ。ここ、マップが無いのが悔やまれるなぁ・・もう自力で描くか?

 店で買い物。よしよし、ちゃんと動いてますね

 が、次の店で「カンテラ(油入り)」を購入したところエラー発生。調べた所、所持品の連想リストが「カンテラ(油入り)」じゃなくて「カンテラ(油入り)」だった。修正

 行動点もちゃんと変化してるな。ステータス変化関数ヨシ

 ペンダントに記された数値が29・・これを後でページ数と合計して入力する場面があるのだが・・何かひと工夫欲しい所・・頭で覚えてるだけだったら芸が無いからなぁ・・

 アイテムドロップ関数、何を捨てるのか?と出るが選択肢が出ないじゃないか・・不親切過ぎる。修正案件

 既存のequip-look関数を噛ましてみたけど番号が出ないからなぁ・・shop関連で在庫表示に使ったenumerateがらみを使わせてもらわないとイカンな

 という訳で新たに、おそらくはこのページの為だけにdrop-choice関数を作る。良い復習になりましたけどw

 こんな感じで

 蟲笛ちゃんと無くなってます(0はアイテム表示のためです)

 数字入力関数ヨシ

 戦闘開始でエラー。モンスターの配置を元の135にしたままだったのが原因。クローン先の239に配置し直さないといけなかった。修正

 戦闘のHP計算時にエラー発生。対クシャナ戦で動くように改造した部分で引っかかる。イメージではpages-argの引数がリストでCar出来ない場合は自動的に通常戦闘になれるのでは?と思ってたけど、そもそもCar出来ない状態だと#fとみなされずにエラーとなってると。つまり例外処理が必要なわけだったか・・

 けど面倒なのでArgの方を無理やりリストにして解決しちゃうw

 通常戦闘ヨシ!

 戦闘に勝利すると番号が記された鍵などをゲット。あ!閃いた!ちなみに画像が2つあるのはクローン処理のためで(newline)入れて修正しました

 通常使用できるアイテムは属性がhとなってるので鉄の鍵は個数がいくらあっても大丈夫なわけだ。そこで先のペンダントとか鉄の鍵などの番号がポイントになるアイテムは個数にその数値を入れてしまえばアイテム確認で数を確認できるというわけ、ナイス!?

 87パラグラフで問題発生。このページではステータス変更があった上に、キーアイテムのペンダントを入手する仕組みになっている。通常、こういうのが被ってる場合には飛ばされた先のページで2つ目の処理をするつもりだったんだけど、87Pの場合には飛ばされた先ですでにイベントがあって無理なのだ。うーん、しょうがない。ステータス変更関数をいじってpages-argの要素が3つ以上ある場合にはアイテムゲットも行うようにする

 最初、条件をargのcaddr部分がnullってるかどうかで判定しようとしたけど・・

 エラー。さっきのクシャナ絡みの時もそうだったけどcar関連はそうなんですね・・実際にエラー食らってやっとこさ理解した

 まあここはargの要素が3つ以上だった場合で分けてヨシ


 敵から奪ったアイテムはちゃんと追加されてるのを確認。という所で今日はもう24時を回ったので終了。
 いや〜・・色々とボロが出てきますねぇ。けど、想像していた以上にちゃんとゲームになってるのにちょっと感動しました。

 次回もテストプレイ続けます〜
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

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

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