宿直の夜のお楽しみ、Racketでのゲームブックゲーム作りの時間がやってまいりました(^o^)
まあ、今日はサクッとバトルシステムを作ってしまってショップ部分までは行けるかな・・

とか思ってたんですけど、もちろんそうは行きませんでした・・。一番キモになる環境を返す部分がどうしてもうまくいか~ん!

どうやら値をイジった後に型が失われてる模様(enemy型なのにvoidになってる)

関数内で値を変えてもう一度Structしなおすということが(僕には)出来ないのでマニュアルを探す。うーん・・これが使えそうか?コピーする時に値をいじれるので新しいのを作り出せるかも

いろいろやったが・・

やっぱりダメ! どうも関数内での構造体作成は許されてない模様?

じゃあパターンマッチングを使って?と思ったけど実行する事も許されてない模様。やっぱり構造体の作成がダメっぽいなぁ define:not allowed in an expression context in....

一発で敵を殺せるときにはこうやって動くんだが・・構造体を変更して環境に渡す、たったこんだけの事が出来ないのであった。

このままだと気持ち悪くて眠れないので、腹立ち紛れに敵に画像をつけてみる

こんな感じかw

もう深夜2時を過ぎていたので(w)、さすがに寝ないと・・と思ったのだけど、このままでは気持ち悪くて眠れないので思い切って構造体を使わないバージョンを書いてみる。つまりリストで済まそうと。勝ちパターン、チェックオッケイ。

負けパターンも良し!リストだと楽勝なのによぅ! まあ幾分スッキリしたので今日はコレくらいにしといたるワ!
ま、でもリストで返す際のバッククォートがらみの書き方は勉強になったし良かったかな。とりあえずもう全部リストでやっちまうか!主人公の構造体にアイテムも統合しようと思ってたけどリストだと大変なので連想リストで管理することになりそうかな。
次回はアイテム周りをやって、できればショップもやっつけたる!って事で。