では今回も宿直時間を利用しまして四人のキングのCLI版作成をしていこう!
今回は途中経過をふっとばして暫定で書き上がったコードのみ撮影していきました。
まず構造体ですが・・
CARDはマップの構成要素。KINDはBATTLEとかSHOPとかそういうの。MESは移動してきた際に表示されるメッセージ、ENEMYはBATTLEの際の敵、ITEMは戦闘以外で得られるアイテム、ONはマップ訪問後に裏返される(使用されなくなる)かどうか、COORDは必要か分からないけど念の為に座標。
ITEMは今回実験的に武器・防具・消耗品をまとめて管理しようかと。ハッシュテーブルを使うから一元管理出来そうな気がするので・・
PLAYERは多人数プレイのため
WORLDはいつもの環境変数。マップデータはメインのPRINTで都度生成するので元になるシンボルのマップとプレイヤーの座標マップを別に持たせておくか(なんとなく)と。PHASEもWINも必要あるか分からないけど、なんとなく。
で、テスト用に各種インスタンスを設定。ま、これは良いのだけど・・
ハッシュテーブルの作成と格納(破壊的)。うーん・・こういうテーブルってひとまとめにするべきだろうか?キーで検索するんだから命名ルールさえしっかりしてたら分ける必要無いような気もする。メインはイベントテーブルで、関数やクロージャを入れてこっから呼び出すようにする・・予定。他のは今までどおり普通の連想リストリストでも良かったかも
試しにマップと移動後のメッセージを表示する部分を動かしてみる。
が・・・なんか書き方が長ったらしい・・CARD構造体のインスタンスは普通に大域変数的なシンボルのままでエエんじゃなかろうか?と思ったり。
まあ、こういう感じですか・・。
あと、全体的な流れを概略として名前だけ作ってみる。PRINT部分のパーツは別ファイルに移動成功(依存関係で移せなくなることが過去に何度もあったので今回は一段落着いたら移すことにした)。前回まではボトムアップ形式で作ってた(と言うか行きあたりばったり、作りたい所から作ってた)けど、今回はちょっと全体の流れを意識してから作るようにしてるつもりです。
戦闘部分だけはGUIで作ってみても良いかも知れんな〜とか。
つづく