# Pythonを使ってみよう
# Pythonプログラミングでできること
プログラミング言語『Python(パイソン)』を使えば、マインクラフトの遊び方がぐっと広がります。
巨大なお城を一瞬で建てたり、TNTブロックをひたすら投げ続けたり、自動で動く乗り物を作ったり…。
例として、地球みたいな球体や、デジタル時計を作ってみましょう。
マインクラフト内のコマンドでも色んなことができますが、このように、複雑な建物を一瞬で作ったり、ものを動かし続けたりすることはできませんね。
Pythonを勉強して、こうした作品も作れるようになっていきましょう。
# プログラミングとは
マインクラフトが好きな人は、自分でコマンドを入力して、テレポートしたり、ゲーム内の時間を変えたりして遊んでいるかもしれません。
入力したコマンドは、それを入力されたコンピュータが受け取って、その命令どおりに実行します。
コンピュータの仕事は、人間の命令を聴いて、そのとおりに実行することです。
プログラムとは、そうしたコンピュータへの命令をまとめた「予定表」のことを言います。いくつかの命令をプログラム(予定表)にまとめて、それをに一度に渡してあげることで、コンピュータは、そこに書かれた命令を、一気に実行してくれます。
この、 コンピュータへの命令をまとめたプログラムを書くことを、プログラミングといいます。
コンピュータとプログラミングは、皆さんの生活のあらゆるところに活用されています。
みなさんが普段遊んでいるマインクラフトも
- 「w」キーが押されたら前に進む
- 太陽が沈んで夜になる
- クリーパーに何度か攻撃をしたら倒せる
といった仕組みがありますが、これも、マインクラフトのゲーム内で、そうするように命令が書かれたプログラムがあり、コンピュータが、そのとおりに実行しているのです。
なので、プログラミングを勉強すれば、マインクラフトの中で色んなことができるだけでなく、マインクラフトみたいなゲームを、自分で作っちゃうこともできるんです。
# Pythonとは
『Python』とは、「プログラミング言語」の一つです。
「プログラミング言語」とは何でしょうか。
人間は、言葉を使って人とお話をしています。私たち日本人が、普段使う言葉や、その使い方がまとまったものが、「日本語」という「言語」です。
皆さんもよく知っているとおり、世界には、「英語」や「中国語」などの「言語」がたくさんあります。
みんな、それぞれの言語を使って、人とコミュニケーションしているわけですね。
人間が使う「言語」があるように、コンピュータにも「言語」があります。
コンピュータに仕事をしてもらうためには、コンピュータにわかる「言語」で命令してあげないといけません。
この、 コンピュータへの命令を書く、プログラミングをするときに使う言語のことを、「プログラミング言語」といいます。
今回勉強する『Python』も、そんなプログラミング言語の一つです。
プログラミング言語の仲間
人間が使う言語にたくさん種類があるように、プログラミング言語にも、『Java』や『Ruby』といった、たくさんの仲間がいます。
日本語と英語がちがうように、Pythonと他のプログラミング言語も、書き方が全くちがいます。
しかし、日本人でも勉強したら英語がわかるようになるのと同じように、コンピュータも、読み方を教えてあげれば、いろんなプログラミング言語がわかるようになります。
このようにコンピュータに教えてあげることを、インストールといいます。
皆さんは、自分のコンピュータにPythonをインストールして、これから勉強していくことになります。
# Pythonシェルを使おう
まずは、Pythonでコンピュータに簡単な命令を出す練習をしましょう。
『Thonny(トニー)』を開いてみてください。
Thonny
『Thonny』は、Pythonを使うためのIDEと呼ばれる道具の一つです。
今は、IDEについて、深く知る必要はありません。
Pythonのプログラムを書いて、それを実行(コンピュータに命令する)ことが簡単にできる便利なものだと思ってもらえればOKです。
さて、Thonnyの画面は、いくつかの白いブロックに分かれていると思います。
下の方に、「Shell」と書かれた枠があるのがわかりますか?
これは、シェルといって、コンピュータに、文字で命令を出すためのものです。
皆さんは普段、マウスでファイルにカーソルを合わせ、ダブルクリックしてファイルを開く…といった操作をしていると思います。
シェルでも、同じように、 ファイルを開く、などの操作を、コンピュータに文字で直接命令する ことができます。
Thonnyのシェルは、Pythonで命令を出すので、Pythonシェルといいます。
一番下の行に、
>>>
と表示されていると思います。
この記号はプロンプトといって、 コンピュータが私たちからの命令を待ってるよ 、ということを教えてくれています。
待ってくれているみたいなので、さっそく、Pythonでコンピュータにお話してみましょう。
下のように、プロンプトに続けて入力し、Enterキーを押してみてください。
>>> print("こんにちは")
入力した文字の下に、
こんにちは
と表示されたのではないでしょうか。
全角と半角
もし表示されなかったら、文字の全角と半角に気をつけて、もう一度入力してみてください。こんにちは
は全角ですが、他の英語と記号はすべて半角です。
無事こんにちは
と表示されたら、最初のプログラムは成功です。
print
は、コンピュータに、「()の中の言葉を喋って(表示して)ね」という命令です。
表示してほしい言葉は、" "
か ' '
で囲んであげないといけません。それぞれ、ダブルクォーテーション、シングルクォーテーションといいます。この約束を守れば、コンピュータに好きな言葉を喋ってもらうことができます。
# Pythonファイルを作ろう
これで、Pythonを使えるようになりました。
しかしこのままでは、「命令を一つ出して、コンピュータがそれを一つ実行する」ことしかできません。
プログラムは、いくつかの命令をまとめた予定表でした。この、コンピュータにまとめて実行してもらう予定表をPythonファイルという形で作りましょう。
Thonnyの画面左上に、下のようなファイルを新しく作るボタンがあるので、クリックしてみましょう。
新しいファイルを用意したら、ひとまず、保存してみましょう。
Thonnyの画面の上の方の、save(セーブ)ボタンがあるので、クリックします。
保存する場所は、ただPythonファイルを書くだけならどこでも良いのですが、今回は、あとあとマインクラフトで使うことも考えて、特別な場所に保存します。
マインクラフトでワールドを作ったときにできる、minecraftフォルダ内の、mcpipyフォルダに保存してください。
保存するファイル名は、「hello.py」(ハロードットパイ)にしましょう。
保存できたら、さっそくプログラムを書いていきます。
下のとおりに書き込んでみてください。
print("Hello!")
print("Nice to meet you.")
書き込んだら、もう一度saveボタンをクリックしておきましょう。
上書き保存できたら、同じくThonnyのrun(ラン)ボタンをクリックして、プログラムを動かしてみましょう。
下のような結果が、Pythonシェルに表示されれば成功です。
Hello!
Nice to meet you.
これで、Pythonプログラムを動かすことができました。
# Pythonでチャットメッセージを送ろう
いよいよ、マインクラフトでPythonを使ってみましょう。
先ほど作った「hello.py」の中身を、一旦全て消去します。
このファイルを、マインクラフトで使えるように、プログラムを書いていきます。
下のように、書いて、上書き保存してみてください。
import mcpi.minecraft as minecraft
mc = minecraft.Minecraft.create()
mc.postToChat("Hello!")
このプログラムの意味は後ほど説明するとして、まずはこれをマインクラフトで使ってみましょう。
マインクラフトの画面で、「/」キーを入力すると、コマンドが入力できるウィンドウが出てきますよね。
それに続くように、以下のように入力してみてください。
/py hello
入力したら、Enterキーを押してみましょう。
以下のような画面が出たら、成功です。
これで、初めてマインクラフトからPythonファイルを動かすことができました!
今後書いていくプログラムも、この手順で保存し、実行していきます。
それでは、先ほど書いた内容(ソースコードといいます。)を、1行目から簡単に振り返ってみましょう。
import mcpi.minecraft as minecraft
ここでは、「今からこのプログラムでマインクラフトを使うよ」ということを宣言し、マインクラフトを使うための「minecraft」という道具箱のようなものを準備しています。
mc = minecraft.Minecraft.create()
ここでは、Pythonのプログラムと、マインクラフトの世界をつなげています。
英単語
create(クリエイト)
というのは英語で「作る」という意味です。マインクラフトとの「つながり」を作っている、と考えてみてください。
以上の2行のコードは、マインクラフトでPythonを使うときにいつも書くことになるので、覚えておきましょう。
mc.postToChat("Hello!")
最後に、このプログラムでやりたかったこと、チャットにメッセージを送るということをしています。
mc
は、一つ前で作った、マインクラフトとの「つながり」を表しています。
私たちは、このmc
をとおして、マインクラフトで色々なプログラムを実行できます。
今回は、mc.postToChat
(チャットに送る)という命令を実行しています。
このような命令を、「メソッド」と言います。
mc.postToChat
メソッドは、( )
の中の言葉を送って、チャットウィンドウに表示してくれるメソッドです。
チャットに送る言葉は、シェルのときと同じように、" "
か ' '
で囲んであげないといけません。それぞれ、ダブルクォーテーション、シングルクォーテーションといいましたね。
# おわりに
Prosenseではマインクラフトを使ったプログラミングの個別指導もおこなっております。
マンツーマンでレッスンを受けながらマインクラフトでプログラミングを学びたい方はいますぐProsenseのLINE公式アカウントに登録ください。