goo blog サービス終了のお知らせ 

星田オステオパシー

施術者は引退しちゃって美味しいバイト生活をしつつプログラミング学習とか自由研究をして野垂れ死ぬまでの備忘録

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

2024-01-05 08:19:11 | プログラミング
超久々で戻ってきた!探索の旅は長かったなぁ~

 以前の無理やりで原理もよく分かってないロンゲストロードを廃止して、探索アルゴリズムを使ったものに変更する。そのために他でも使っている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でシェアする
« 結局「くにおくん」が一番ウケる | トップ | 知り合いがドバイ旅行に行っ... »

コメントを投稿

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