じゃあ今日も宿直Racketやっていきましょう
と、その前に。前回、自動補完が組み込み関数だけじゃないか?とか書いたんですが、なんか今日立ち上げたらバリバリ自作関数、変数名も補完候補を出してくれるようになってました。どういうこと?再起動する必要があったとか?ま、何しろめでたい。Racket最高!
とりあえずアイテムの構造体を作って、全ページチェックしてアイテム名、登場ページ、値段を入れていく。消費系アイテムは1つで「何回分」というのがあるのでtimesってのを設定して(* times 購入数)で記憶させると
ページをチェックしてると一応装備品の概念もある模様。行動点(戦闘力)、基本点(HP)は良いとして戦闘はフルオートかと思ったら光弾だけ使える模様(回復については記述がないが・・大体2点とか3点とかしか回復できないので実質使用不能で良いだろう)。となると戦闘システムを変えないといけないなぁ・・(しかも人間相手だけとか(-_-;)
全ショップアイテム入力完了。32個か・・思ったより多かったかな。
さて問題は装備品の管理をどうするか・・。構造体で管理しようとすると、アイテム構造体と被りが多いのですごく無駄な気分。が、アイテム自体に「トータル個数」を持たせようとすると同じ名前・効果のアイテムでも別のショップで別の値段で売られていたりするので、これまた厄介。
ということで結局ドット対リストで管理するのが一番良いかな?と結論。武器防具に関してはバトル関係をちょっと変更して効果の高いものから持っているかを判定して補正をかけるって感じかな・・・
行動中に現在の所持アイテムを確認するための関数を作る。良いんじゃない?今更ですけどドット対の後ろ部分ってCDRでターゲット出来るんですね、便利だ(^o^)
じゃあ次にアイテム構造体のリストを作って・・動かしてみるか・・と思ったんですが今日はバイト先のMX-Linuxで動かしてるので秀丸エディタが無いんですよね!置換機能が使えないと(LeafPadも使えるとは思うけど試してない)面倒なんだよなぁ・・。もしかしてRangeの引数を001 032としたら3桁の数字で生成されたりしない?と思ったけど・・無理か〜w
考えてみると、今後も構造体のリストを作るときに必要な作業なので特定の文字列と連番を組み合わせて、ついでにコンマもつけた文字列のリストを生成する関数を作っておくか・・と。相当ダサげな書き方だけど、ま、エエわ。結局、これをまたテキストエディタに貼り付けて見ないとどうなるのか分からないけど一応出来た。
ひょっとしてstring->symbolなのか?と試してみたけど謎のパイプに挟まれた状態。これも秀丸にコピペしてどうなるかチェックしないとな・・
というところで24時になって終了。次回で特殊な場合以外のアイテム使用周りを終わらせるつもりだけど・・どうなるか。
ちなみにRacket出来る宿直は水曜日と日曜日です。あ〜日曜日が楽しみだ。