こんにちは!山下せんせいです。
みなさんは、Python(パイソン)というプログラミング言語を知っていますか?
実際に触ったことがなくても、名前を聞いたことがある人は多いかもしれません。
Pythonは世界中で使われているプログラミング言語で、
データ分析や人工知能(AI)などを中心に、さまざまな分野で活躍しています。
実は、マインクラフト(マイクラ)のプログラミングもPythonでできることを知っていましたか?
ゲームを楽しみながら、プログラミングの考え方を学ぶことができるんです。
このコラムでは、マイクラを使って、
Pythonの書き方を少しずつ学んでいきましょう。
下の画像にあるボタンを押すと、
Pythonのプログラミングを始めることができます。

まずは、今までのマイクラのプログラムと、Pythonを比較して、どのようなプログラムのカタチになっているのかを見ていきましょう。


見てほしいのは、「agent.move」の部分です。
この部分が、「エージェントを移動させる」というプログラムにあたります。
「agent」はエージェント、
「move」は動かすという意味があります。
つまり、
「agent.move」=「エージェントを動かす」
という命令になります。
それでは、次のプログラムを見ていきましょう。


同じように、「blocks.fill」の部分を見てください。
これは、「ブロックを並べる」というプログラムに対応しています。
「blocks」はブロック、
「fill」は満たす・埋めるという意味です。
このように、
「動かしたい・操作したいモノ」と
「何をするか」が、ドット(.)でつながっていることが分かると思います。
では、エージェントの向きを変えるPythonのプログラムは、
どのような形になると思いますか?
予想を立ててから、実際のプログラムを確認してみてください。
Pythonでは、多くの場合、
このようなルールに沿って命令を書いていきます。
次に、エージェントを左に移動させるプログラムと、
これまでに出てきたプログラムを、さらに詳しく見ていきましょう。
まだ確認していなかった、カッコ( )の中についても説明していきます。


これらは、何を表していると思いますか?
もう一度、これまでに学んできたマイクラのプログラムと比べながら考えてみてください。
「FORWARD」は前、
「LEFT」は左という意味です。
また、「pos」は position(ポジション) の略になっています。
このことから、
これらはエージェントの move や turn に対して、より詳しく・具体的な指示を出していることが分かると思います。
このような数字や文字は、「引数(ひきすう)」と呼ばれ、
関数を動かすために必要な情報を渡す役割を持っています。
まだ確認していない部分があります。
それが、「def on_on_chat():」 や 「player.on_chat()」 の部分です。
これらについても、マイクラのプログラムと見比べながら、
どのような意味を持っているのか考えてみてください。
ちなみに、「def」は define(定義) の略で、
Pythonでは、関数を作るときに使います。
今回は、Pythonの使い方について少しだけ見てきました。
はじめて英語のプログラミング言語に触れた人にとっては、
少し難しく感じたかもしれません。
それでも、自分なりに理解することはできましたか?
Pythonは、インターネット上に情報がとても多く、
やさしく解説しているサイトや動画もたくさんあります。
ぜひ、いろいろ探しながらチャレンジしてみてください!
