【Viscuit】新ビスケットで川に橋を作るエージェントを作ってみよう!
2021/05/23に放送された情熱大陸は、プロマインクラフターのタツナミシュウイチさんでした。
タツナミさんが小学校のプログラミング授業で、川の上に「点」をコの字型に置いて、エージェントが「点」に沿って動きながら、ブロックを置いて橋を作るプログラムを作る、という課題を実施していました。
こんな感じです。
放送内では、タツナミさんが「向きを変えるのがポイント」と生徒に話された後、生徒がエージェントの動かし方を答えるやり取りでした。
モニタにはMakeCodeで「最初だけ」「6回移動して木材を置く」「Agentを右に回転」・・・が写っていました。
ビスケットなら「メガネ」4つで作れるかなと思い、実際にビスケットで作ってみました。
※マインクラフトではエージェントの回転がありますが、回転の概念を取り入れると複雑になるため、今回は取り入れていません。
以下の動画は、ビスケットで「メガネ」を作り、エージェントを動かしている様子となっています。
目次
・動作条件
・作成環境
・新ビスケット制作画面
・「ぶひん」作成
・ステージ
・「メガネ」を作るときの考え方
・「メガネ」作成
・「メガネ」が動く
・おわりに
動作条件
今回、橋を作るエージェントが動作するための条件を以下に示します。
・スタートは、プログラム開始時にエージェントがいる位置であること。
・ゴールは、エージェントの周りに「点」が無い場所であること。
・「点」はスタートからゴールまで、一筆書きできるように配置されていること。
(斜め無し、途中で途切れない、線が2行/2列以上にならない)
・エージェントの向きを変える操作はしないこと。
(上下左右ににセンサーがあるイメージ)
「点」の配置ですが、以下のような「斜め」「途切れる」「線が2行/列以上」にならないようにします。
作成環境
今回の作成環境は以下のとおりです。
・あそびばしょ:「じゆうにつくる」あおはらっぱ
・新ビスケット設定画面:方眼紙モード(中)
あそびばしょ(今回作る場所)は、「じゆうにつくる」あおはらっぱです。
新ビスケット設定画面は「方眼紙モード」を「中」に設定しています。
新ビスケット制作画面
新ビスケット制作画面では「ぶひん」「メガネ」を作成し、「ステージ」に「ぶひん」を配置します。
「ぶひん」作成
新ビスケット制作画面で以下の「ぶひん」を作成します。
・エージェント
・点
・ブロック
・陸地
・エージェント
「点」に沿って動き、「ブロック」を置いていきます。
・点
「ブロック」を置くための目標。
・ブロック
「エージェント」が「点」を通った後に置かれる。
・陸地
見た目用。グレー色に塗りつぶし。
ステージ
ステージですが、「ぶひん」を以下のように配置します。
「メガネ」作るときの考え方
今回は次の2点を考慮すれば、エージェントの動作を実現できます。
「エージェント」の上/下/左/右に「点」があった場合、今いる場所は「ブロック」に置き換え、「エージェント」は「点」のある場所に置く。
→「エージェント」は「点」がある方向にしか動かない。
「エージェント」の周りに「点」が無い場所が「ゴール」。
→到達した時点で周りに「点」は無いので、それ以上「エージェント」は動かない。
「メガネ」作成
新ビスケット制作画面で以下の「メガネ」を作成します。
・「エージェント」が上に移動
・「エージェント」が下に移動
・「エージェント」が左に移動
・「エージェント」が右に移動
・「エージェント」が上に移動
「エージェント」の上に「点」がある場合、「エージェント」は「ブロック」に、「点」は「エージェント」に置き換えます。
・「エージェント」が下に移動
「エージェント」の下に「点」がある場合、「エージェント」は「ブロック」に、「点」は「エージェント」に置き換えます。
・「エージェント」が左に移動
「エージェント」の左に「点」がある場合、「エージェント」は「ブロック」に、「点」は「エージェント」に置き換えます。
・「エージェント」が右に移動
「エージェント」の右に「点」がある場合、「エージェント」は「ブロック」に、「点」は「エージェント」に置き換えます。
「メガネ」が動く
「ぶひん」と「メガネ」作成後、「ステージ」に「ぶひん」が置かれた状態で、「メガネ」の内容でエージェントが動き始めます。
以下の動画はエージェントが動いている様子となっています。
「ステージ」の「点」の位置を複雑にしても、「メガネ」を変えることなく、エージェントが問題なく動くことが、以下の動画で確認できます。
おわりに
今回、橋を作るエージェントですが、僅か4つの「メガネ」で実現することができました。
「点」を置くルールさえを守れば、どんなに複雑な「点」の置き方であっても、「メガネ」の内容を変えることなく動くことが、ビスケットらしいと言えます。
ちなみに、エージェントの向きを意識した「メガネ」を作ることも可能ですが、その場合、向きを変える「メガネ」が必要となり、より複雑になってしまいますので、今回は向きを意識しない内容とさせていただきました。
◇Viscuit(ビスケット)について
ビスケットはとても簡単なプログラミング言語です。 メガネという仕組みたった一つだけで単純なプログラムからとても複雑なプログラムまで作ることができます。 仕組みは単純ですが組み合わせ方が様々なので複雑なことができるのです。
ビスケットを使うとアニメーション・ゲーム・絵本などを簡単に作ることができます。 ビスケットを使いこなすには難しいことを覚える必要はありません。 だれでもプログラミングの楽しさと可能性を感じ取ることができるでしょう。さあ、いっしょにプログラミングを楽しみましょう。
※Viscuit公式サイトより掲載
【Viscuit】ビスケット公式サイト
https://www.viscuit.com/
この記事が気に入ったらサポートをしてみませんか?