星田オステオパシー

Racketで何か・・KATAN-O 006 ロンゲストロード探索版&画面表示

超久々で戻ってきた!探索の旅は長かったなぁ~

 以前の無理やりで原理もよく分かってないロンゲストロードを廃止して、探索アルゴリズムを使ったものに変更する。そのために他でも使っているDokohe?関数を使う

 分かれ道では新たな行き先リストを作成して、それをFor/listで反復させ内部のLet loopを使って再帰的に行き止まりまでCountを増やす。
 行き止まり、もしくは以前に通った座標に達した時点で探索を終えてCountがFinalを超えていれば更新。すべて終わればFinalを返す。

 そのLogest-r4を使って全座標からHazi?で取り出したリストにMapするためのMax-longest関数が実際に使う関数となる。道がゼロというのはルール上あり得ないが、テスト中にはデータがない場合がありMaxの仕組み上エラーが出るので例外処理を噛ませて0と表示するようにしてある

 ここからは盤面とステータス表示部分を少し見やすくするための作業。タイルを描画スタイルから画像スタイルに変更する。

 4人打ちなので、Player構造体、Card構造体をそれぞれ作ってPLAYER-LISTに格納する。

 タイルの上に表示する数字(サイコロの出目に対応)を見やすくするために白丸バックに文字列でText表示する


 Playerごとのカラーは面倒なのでこっちで勝手に固定する

 ステータス表示部分は関数内でPLAYER-LISTをForで回して一気に画像リスト、座標リストを作成。出来たリストを整形してPlace-images/alignに渡す。

 結果、このように・・出来た~!!いや~長かった!
 村や町のグラフィックもいずれ何とかするけど、ひとまず表示関係はこれで良いだろう。次回以降でようやくシステム部分に入って行きます!

続く
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

※ブログ作成者から承認されるまでコメントは反映されません。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

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

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