はじめに
今回は、Scratch3.0で幅優先探索で迷路を解くプログラムを作ったので紹介して行きます。意外とScratchで幅優先探索を作っている方は少ないみたいですね。
作成したプログラム
作品について
- タイルをクリックするとブロックを配置することができます
- 緑の旗を押すと初期化されます
- リアルタイムで最短経路を赤色で表示します
幅優先探索とは
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-18-1024x706.png)
もう下記のツイートが素晴らしくわかりやすいです。
プログラム解説
メインプログラム
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-19.png)
これがメインプログラムです。各変数、リストの初期化、メインで実行する定義などをまとめてあります。ここはシンプルですね。
初期化プログラム
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-20.png)
初期化です。各変数やマップデータを初期化しています。
幅優先探索
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-21.png)
こちらが幅優先探索のメインプログラムです。別の定義も呼び出していますが、名前の通りのことをしている簡単な処理なので省きます。
ゴールからスタートまでの道を逆算
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-22.png)
このプログラムでゴールからスタートまでの道を逆算しています。
まとめ
- Scratchでも幅優先探索は作れた
- 簡単に視覚化できるので面白い
今後について
- 幅優先探索をさらに魅せたい
- アニメーションなどを追加
- 実際にRPGなどのゲームに移植したい
- さらにプログラムを短く、綺麗にしたい(リファクタリング)
最後に
記事のSNSシェア、共有よろしくお願いします!
他にも記事を書いているので、ぜひご覧ください!
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-17-320x180.png)
【Scratch】簡単な誤差逆伝播法を作ってみた【ゼロから作...
はじめに今回は、「ゼロから作るDeep Learning❶」という本を...
![](https://www.chickensblog.com/wp-content/uploads/2022/07/image-6-320x180.png)
【Scratch】微分するプログラムを作ってみた【勾配降下法...
はじめに今回は、Scratch3.0で微分(数値微分)をやってみたので...
![](https://www.chickensblog.com/wp-content/uploads/2022/04/image-157-320x180.png)
Java版と統合版が一緒に遊べるマイクラサーバーの立て方【G...
初めに今回は、Java版マインクラフトと、統合版マインクラフトの両方の...
![](https://www.chickensblog.com/wp-content/uploads/2020/07/top-1-160x90.png)
【凄すぎる】Scratchで作られた2D版マイクラの再現度が...
Scratchで作られた2D版のマインクラフトをご紹介します。Scra...
![](https://www.chickensblog.com/wp-content/uploads/2022/04/image-14-320x180.png)
ロボットをゲーム感覚で作れて動かせる!?Virtual Ro...
初めに今回は、2021年に開催されたVirtual Robotの体験会...
コメント