マイクラプログラミングドリル2

学校では漢字ドリル、計算ドリルで漢字や計算の練習をします。
プログラミング学習でもドリル(練習問題)に挑戦することで基本的な力を身に着けていきましょう!

このページはマイクラ(「Minecraft Education Edition」)を使ったプログラミング学習の練習問題集です。

初めての方は基本問題から挑戦してください。→マイクラプログラミングドリル1

マイクラプログラミング編011 種まき1

1.準備としてエージェントに種を持たせる

インベントリから種を取り出します。

その後、エージェントを右クリックしてエージェントの持ち物を表示させます。この画面で自分の持ち物に入っている「種」をエージェントの持ち物に移動させます。

↓この状態になっていればOKです。

2.エージェントの前の4ブロック分に種をまかせる

下図のようにエージェントの前の4ブロック分を耕させて、さらに耕したブロックに種をまいて下さい。

【ヒント】以下の命令を使えば、エージェントの持ち物の一番左上に入っている物を置くことができます。事前に種を持たせているので、この命令で種を植えることができます。

解答例
解答例はこちら

プログラミング編012 種まき2

1.エージェントの前にある4 x 4の土ブロックを耕して、種をまく

下図のようにエージェントの前にある4 x 4の土ブロック分を耕し、耕した後に種をまかせます。
※プログラムを実行する前にエージェントに種を持たせておきます。

【ポイント】どうやったら少ないプログラムで実現できるかを考えてみてください。

解答例

いろんな作り方ができますが、以下のようなプログラムはいかがでしょうか?エージェントの動きとしては無駄がありますが、プログラムはすっきりしているかと思います。

解答例はこちら

プログラミング編013 種まき3

1.エージェントの前にある7 x 7の土ブロックを耕して、種をまく

下図のようにエージェントの前にある7 x 7の土ブロック分を耕し、耕した後に種をまかせます。
※下図にあるように真ん中1マスは水があるので、耕す必要はありません。
※プログラムを実行する前にエージェントに種を持たせておきます。

【ポイント】どうやったら少ないプログラムで実現できるかを考えてみてください。

解答例

いろんな作り方ができますが、以下のようなプログラムはいかがでしょうか?
目の前の土地を4分割して考えることで、「くりかえし」で効率的にプログラムを作ることができます。

他の作り方でも全部の土地に種を植えることができればOKです。

解答例はこちら

プログラミング編014 種まき&育成

マイクラの世界では植物に栄養(「骨粉」)を与えるとすごい勢いで成長します。種をまいてから骨粉を3回振りかけると小麦が実ります。これを利用して、すぐに小麦が実るようなプログラムを作っていきましょう。

1.エージェントに種と骨粉を持たせる

まずはインベントリで種と骨粉を取り出します。

その後、エージェントを右クリックしてエージェントの持ち物を開いて種と骨粉を渡します。

※この時、下図のように左上に種、その右隣に骨粉となるように持たせてください。
種を置いた場所がスロット番号1で骨粉を置いた場所がスロット番号2です。

2.エージェントの前にある4つの土ブロックを耕して、種をまいて、小麦を実らせる

下図のようにエージェントの前にある4ブロック分を耕し、耕した後に種をまかせます。そして、種をまいた後に骨粉を3回まきます。骨粉を3回まくと小麦が実ります。

【ヒント】エージェントは種を骨粉を持ち替えながらアイテムを置く必要があります。以下の命令を使うと、持ち物を持ち替えることができます。スロット番号1が種で、スロット番号2が骨粉になるように準備しています。

解答例

エージェントのスロット番号を変更しながらアイテムを置かせることがコツです。あと、骨粉は3回ずつ置くというところは気を付けてください。

ここまで自動でできると、プログラミングって便利だなーと思えてくるでしょうか?

解答例はこちら

プログラミング編015 植林

1.エージェントの直前から3ブロック間を空けて木の苗を植える

下図のようにエージェントの直前とそこから3ブロックの間を空けて、合計4本の木の苗を植えさせてください。

【ポイント】プログラムを実行する前にエージェントに苗木を持たせておきます。この時、下図のようにエージェントの一番左上のスロットに持たせてください。ここがスロット番号「1」ということになります。

【ヒント】プログラムの初めに以下のコマンドを配置してスロット番号1の持ち物を利用するようにしてください。

解答例
解答例はこちら

プログラミング編016 植林&育成

1.エージェントの直前から3ブロック間を空けて木の苗を植えながら、骨粉をまいて木を育てる

1つ前の問題と同じように、下図のようにエージェントの直前とそこから3ブロックの間を空けて、合計4本の木の苗を植えさせてください。

木の苗を植えた後は、骨粉を10回ずつ撒くようにして、全ての木を大きく育ててください。

【ポイント】目の前に大きな木ができてしまうと、前に進めなくなるので工夫が必要になります。

【ヒント】苗や骨粉を置くコマンドは前だけでなく、左右や後ろにも置くことができるので、これを利用すると作りやすくなります。

解答例
解答例はこちら

プログラミング編017 建築(基礎工事)

1.エージェントの目の前に5 x 5の四角形を作る

下図のように5 x 5マスの四角形の上に木材を置いてください。

完成図

完成図は下図の通りです。

【ポイント】プログラムを実行する前にエージェントに木材を持たせておきます。この時、エージェントの一番左上のスロットに持たせてください。ここがスロット番号「1」ということになります。

【ヒント】エージェントの前にブロックを置くと、その後、前に進みにくくなるので、後ろに置くか、一段上に移動してから下に置くのがコツです。

解答例

後ろに置くようにすると、1周してきた最後のブロックが置けずに苦労しました。最後の1つだけ横に移動して置くようにしてもよかったのですが、プログラムをシンプルにしたいという思いで、結局1段上に移動して、下に置くようなプログラムにしました。

プログラムを作る際は、できるだけシンプルに、できるだけ同じ動きの繰り返しで実現できるように考えると、きれいなプログラムを作ることができるようになります。

解答例はこちら

プログラミング編018 建築(3段の壁で倉庫)

1.エージェントの目の前に5 x 5の四角形を3段作る

下図のように5 x 5マスの四角形の上に木材を3段に積み重ねて置いてください。

完成図

完成図は下図の通りです。図では分かりづらいですが、木材は3段分積みあがっています。

【ポイント】プログラムを実行する前にエージェントに木材を持たせておきます。この時、エージェントの一番左上のスロットに持たせてください。ここがスロット番号「1」ということになります。

【ヒント】1つ前の問題を解答例の通りに作っていれば、そのプログラムを少し改造することで実現することができます。

解答例
解答例はこちら

プログラミング編019 建築(平屋の家の基礎工事)

1.エージェントの目の前の図形に合わせて木材を置く

下図の図形に合わせて、木材を置いてください。

完成図

完成図は下図の通りです。

【ポイント】プログラムを実行する前にエージェントに木材を持たせておきます。この時、エージェントの一番左上のスロットに持たせてください。ここがスロット番号「1」ということになります。

【ヒント】前の問題と同様に木材を下に置くように作ってください。

解答例

できるだけシンプルなプログラムを考えましたが、図形が複雑なので、かなり長いプログラムになってしまいました。もっとシンプルにできる方法があれば教えてください。

解答例はこちら

プログラミング編020 建築(平屋の家の壁3段)

1.エージェントの目の前の図形に合わせて木材を3段に置く

下図の図形に合わせて、木材を3段に重ねて置いてください。

完成図

完成図は下図の通りです。

【ヒント】1つ前の問題を解答例の通りに作っていれば、そのプログラムを少し改造することで実現することができます。

1段目が終わった後のエージェントの向きにも注意してください。

長いプログラムになるので、途中で間違えているとエージェント君が暴走し始めるかと思います。暴走し始めたときは一度キーボードの「C」キーを押してプログラミングの画面を表示させると動きを止めることができます。

解答例

前の問題よりさらに長いプログラムになってしまいました。実は他にいい方法もあるのですが、その方法はまた後の問題で紹介します。

解答例はこちら

続き

引き続き問題追加中です。ご期待ください。