見出し画像

【Google AI Studio】時短クッキング No.11:3種類のアルゴリズムが選択できる迷路アプリ+パックマン自動運転シミュレーター 

時間をかけずにアプリ開発に挑戦する「時短クッキング」シリーズ。
気づけば早くも第11回となりました。今回のテーマは 迷路生成アプリ です。




自動で“味付け”までしてくれるインテリジェンス

迷路生成アルゴリズムに関する情報は世界にあふれており、AIにとっては造作もありません。
実際、次の一言を送るだけで、あっという間にプロト版が完成しました。

迷路生成Webアプリを作ってください

ハイ!できた。迷路アプリ

一般的なAIに「迷路アプリを作れ」と指示すると、
・迷路を描画する
・正解ルートを表示する

といった“最低限”のPythonプログラムが返ってくることがほとんどです。

しかし、Google AI Studio(Gemini)は ひと味違う

今回たまたま生成された試作アプリ「Gemini迷路」ではありますが、
「新規ゲーム」ボタンを押すと AIが背景シナリオを自動生成
さらに、迷路内のアイコンをカーソルキーで操作してゴールへ向かうという、
“頼んでもいないゲーム化”まで勝手にしてくれました。

良い意味で味付け濃すぎ!
ぜひ、いろいろ試してみてほしいところです。





今回作ったのは「迷路研究アプリ」

ゲーム寄りの「Gemini迷路」に対して、今回メインで制作したのは、研究目的のための迷路生成アプリ「迷路君」 です。

シンプルながら、迷路の構造研究に必要な要素が揃っています。

「迷路君」実行画面





「迷路君」の5つの特徴

本アプリの特徴は次の通りです。

特徴1:最大50×50の迷路を生成

サイズは5×5~50×50まで。
左側のスライダーで迷路の大きさを自由に設定できます。

50×50の迷路

特徴2:アルゴリズムを3種類から選択可能

迷路を生成するアルゴリズムは多数存在しますが、今回は次の3つを実装しました。

  • 穴掘り法(DFS)
     一本道が長く、迷路らしさが強く感じられる生成方法。

  • プリム法(Prim's)
     ランダム性が高く、複雑で入り組んだ迷路を作りやすい手法。

  • 再分割法
     大きな部屋を区切っていく方式。均整のとれた構造が得られます。

アルゴリズムを切り替えると、迷路全体の形が大きく変化します。
生成した迷路の“個性の違い”を楽しめる点が魅力です。

再分割法で生成した迷路

特徴3:正解ルートをワンボタンで表示

「正解」ボタンを押すと、Start から Goal までのルートを表示。
アルゴリズムごとに“解き方の癖”も見えてくるため、比較研究にも最適です。

正解ルートを表示

特徴4:問題+解答画像をZIPで保存可能

迷路アプリとしては珍しい機能。
生成した迷路画像と正解ルート画像の2枚を一緒にしてZIP出力。ワークシートや教材としての活用にも向いています。


特徴5:ロボット4体が迷路を歩く!

せっかく迷路を生成したので、思いつきで「ロボット走行機能」を追加しました。
赤い「ROBOTS」ボタンを押すと、性格の違う4体のロボットが登場してゴール目指して動き回ります。

ロボットの種類

  • Smart:正解ルートロボ
     最短経路探索アルゴリズムでゴールを目指す賢いタイプ。

  • Lefty:左手法ロボ
     常に左側の壁をたどる古典的探索ロジック。

  • Righty:右手法ロボ
     右側の壁をたどって進むシンプルな方式。

  • Explorer:探索型ロボ
     行き止まりも恐れずウロウロしながら全域を探す自由奔放タイプ。

ロボット名ボタンを押せば、個別に1体だけ出すこともできます。
左メニューの「ロボット速度」で移動スピードも調整できます。それぞれゴールすると、到着までにかかったタイムが表示されます。

ロボット探索





応用展開:パックマン自動運転シミュレーター

ロボットが迷路を歩いているのを眺めていたら、ふとアイデアが浮かびました。

生成した迷路にパックマンを放り込んでみたい…!

というわけで、「迷路君」をベースに、パックマン自動運転シミュレーター へとアップデート。迷路にドット餌を配置し、追いかけてくるゴーストを避けながら進みます。

  • パックマンは 自動で動く(プレイヤー操作なし)

  • ゴーストとは「距離を測る線」で結ばれ、逃走方向の判断に使用

  • 思考ルーチンはまだ弱く、たいてい目標半ばで捕まる
    → それでも、もくもくと餌を集める姿が健気すぎる!

眺めるだけで楽しい鑑賞アプリ になっています。

パックマン自動運転シミュレーター

操作方法

  • START SIMULATION:シミュレーション開始/ポーズ切り替えスイッチ

  • Show Path:モンスターと目標ドット餌までのルート表示切り替えスイッチ(オフで非表示)

  • Simulation Speed:シミュレーション速度調整スライダ

  • WIDTH:迷路の幅調整スライダ

  • HEIGHT:迷路の高さ調整スライダ

  • LOOP FACTOR:迷路の粗さ調整スライダ

  • Export Map Image:マップ画像のダウンロード

  • 回転アイコン:迷路を再生してやり直しボタン





シェアURL

お試しください。

迷路君

パックマンシュミレーター





まとめ:迷路は応用範囲が広い!

迷路生成アプリは、一度作っておくと応用の幅がぐっと広がるジャンルです。

  • ミニゲームとして使える

  • ゲームマップの自動生成の基礎になる

  • 教材としても機能する

  • アルゴリズム研究にも最適

そして何より、Google AI Studio の生成するコードは発展性が高いので、今回のように ロボット走行パックマン化 など、どんどんアイデアを追加して遊べます。

迷路にロマンあり!

以上!




いいなと思ったら応援しよう!

ROROSUKE LABO 記事なり、プログラムなりが役に立ったと思った方は、 チップの応援よろしくお願いいたします。 次の開発もがんばろうかな、という気になりますのだ (笑)