【ゲームで遊びながら覚えるプログラミング】#2 ニワトリを出現させる
マイクラで勉強していたつもりが、気付いたら普通にプレイしている…
こんにちは、ナルカです。
今回から実際にプログラムを書いていきます。
プレイヤーの真上からニワトリを出現させるというのを今回の最終目標として進めていきますので、よろしくお願いいたします。
質問や上手くいかない等ありましたら、コメント欄やTwitterで聞いてもらえればお答えします。
プログラミングは一人で悩んでもなかなか解決しないので、わかる人にどんどん聞いて解決していきましょう!
前準備
まずはマイクラでプログラミングをするにあたって必要なソフトを起動していきます。
当然ですがまずはマイクラを起動します。「遊ぶ」ボタンをクリックしてください。
「新しく作る」をクリック。
「世界を新しく作成」をクリック
デフォルト ゲーム モードで「クリエイティブ」
難易度で「ピース」を選択し、左上の「作る」ボタンをクリック。
ゲーム画面が表示されればOKです。
次にCode Connectionを起動し、表示されたコマンドをコピーします。
赤丸で囲ったボタンを押すとコピーされます。
マイクラの画面に戻り、キーボードの「T」を押します。
チャット画面が表示されるので先ほどコピーしたコマンドを張り付けてEnterキーを押します。
「サーバーへの接続を確立しました」というメッセージが表示されれば成功です。
Code Connectionの画面に戻り、「Make Code」をクリックします。
緑の「新しいプロジェクト」をクリックします。
これで準備完了です!
続きは言語ごとに章を分けて書きますので、適宜勉強したい言語の章を読んでください。
Scratch編
任意のプロジェクト名を入力して「作成」ボタンをクリックします。
プロジェクト名とは、アプリケーション名のようなものです。プログラムの動きと合う名前にするのが一般的なので、画像では「Chicken rain」としています。
プロジェクトを作成すると、以下のようなブロックが表示されます。
画面左のタブに様々な種類のブロックが用意されており、それらを組み合わせてプログラムを作成していきます。
緑の「最初だけ」ブロックは今回使わないので
右クリック → ブロックを削除する
で削除してしまいましょう。
残った青いブロックはゲーム内のチャットで「run」と書き込んだ時に処理を実行するという機能を持っています。
今回はこれを使ってニワトリの出現コマンドを作成したいので"run"を"chicken"に書き換えます。
画面左の「生き物」タブをクリックします。
生き物に関係するブロックが表示されるので、その中から一番上の「生き物を~0 ~0 ~0に 出現させる」ブロックをクリックします。
先ほど選択したブロックが表示されますので、ドラッグして青いブロックの凹んでいる部分にハメ込みます。
紫ブロックには数字が3つありますが、これは左からそれぞれ
東西、上下、南北を表しています。(マイクラはゲーム内で方角が決まっていて、地図等で確認できます)
例えば0, 0, 0ならプレイヤーが立っている位置。
1, 0, 1ならプレイヤーから東に1ブロック、南に1ブロックの位置。
0, -10, 0ならプレイヤーから下に10ブロックの位置。
といった意味になります。
今回はプレイヤーの上にニワトリを出現させたいので
0, 10, 0に設定します。
プログラムはこれで完成です!
画面右下の開始ボタンをクリックしてマイクラの画面に戻りましょう。
マイクラの画面でキーボードの「T」を押し、チャットを開きます。
先ほど作成したコマンド「chicken」を入力してEnterキーを押します。
チャットが閉じたら上を見てください!
ニワトリが出現していれば成功です!お疲れさまでした!!
同じ要領で他の動物を出現させたり、他の位置に出現させることも可能ですので、プログラムを自由にいじって遊んでみてください。
JavaScript編
任意のプロジェクト名を入力します。
プロジェクト名とは、アプリケーション名のようなものです。プログラムの動きと合う名前にするのが一般的なので、画像では「Chicken rain」としています。
コードのオプションから「JavaScriptだけ」を選択して「作成」ボタンをクリックします。
プロジェクトを作成すると以下のような画面が表示されます。
ここにコードを書くことでプログラムを作成していきます。
さっそくコードを書いていきます。
playまで入力すると予測変換のようなもの(自動補完といいます)が出てきますので、player.onChatを選択してEnterキーを押します。
大抵のソースコードエディタには自動補完機能がついており、これを活用することでタイプミスを少なく、より効率的にコーディングができます。
自動補完で以下のコードが入力されました。
player.onChat("jump", function () {
})
部分ごとに説明してきます。
■player
プレイヤーに関する機能群。
player.〇〇形式で各種機能を呼び出せる。
■onChat
playerに用意された機能の1つ。
設定されたキーワードをチャットで入力した時に処理を実行する機能。
onChat(キーワード, 実行したい処理)形式で使用する。
■"jump"
onChatで使用するキーワード。
■function
キーワードが入力された時に実行する処理。{ }の中に実行したい処理を記載する。現在は処理が空なので何もしない。
つまり、今の状態だとプレイヤーがチャットに「jump」と入力したら空の処理を実行するという動きになります。
今回はニワトリ出現のコマンドを作成したいので「jump」を「chicken」に書き換えます。
player.onChat("chicken", function () {
})
これでチャットに「chicken」と書いたら処理を実行するように変更できました。
続いてニワトリを出現させる処理を書いていきます。
{ }の中にmobsまで入力すると補完候補が出てくるので、mobs.spawnを選択してEnterキーを押します。
自動補完で以下のコードが入力されました。
mobs.spawn(CHICKEN, pos(0, 0, 0))
これも部分ごとに説明していきます。
■mobs
生き物に関する機能群。
mobs.〇〇形式で各種機能を呼び出せる。
■spawn
mobsに用意された機能の1つ。
指定した場所に生き物を出現させる機能。
spawn(出現させる生き物, 出現させる場所)形式で使用する。
■CHICKEN
spawnで出現させる生き物。
■pos
生き物を出現させる場所。
pos(東西, 上下, 南北)形式で使用する。(マイクラはゲーム内で方角が決まっていて、地図等で確認できます)
pos(0, 0, 0)ならプレイヤーが立っている位置。
pos(1, 0, 1)ならプレイヤーから東に1ブロック、南に1ブロックの位置。
pos(0, -10, 0)ならプレイヤーから下に10ブロックの位置。
となります。
今回はプレイヤーの上にニワトリを出現させたいのでpos(0, 10, 0)を指定します。
player.onChat("chicken", function () {
mobs.spawn(CHICKEN, pos(0, 10, 0))
})
プログラムはこれで完成です!
画面右下の開始ボタンをクリックしてマイクラの画面に戻りましょう。
マイクラの画面でキーボードの「T」を押し、チャットを開きます。
先ほど作成したコマンド「chicken」を入力してEnterキーを押します。
チャットが閉じたら上を見てください!
ニワトリが出現していれば成功です!お疲れさまでした!!
同じ要領で他の動物を出現させたり、他の位置に出現させることも可能ですので、プログラムを自由にいじって遊んでみてください。
Python編
任意のプロジェクト名を入力します。
プロジェクト名とは、アプリケーション名のようなものです。プログラムの動きと合う名前にするのが一般的なので、画像では「Chicken rain」としています。
コードのオプションから「Pythonだけ」を選択して「作成」ボタンをクリックします。
プロジェクトを作成すると以下のような画面が表示されます。
ここにコードを書くことでプログラムを作成していきます。
さっそくコードを書いていきます。
playまで入力すると予測変換のようなもの(自動補完といいます)が出てきますので、player.onChatを選択してEnterキーを押します。
大抵のソースコードエディタには自動補完機能がついており、これを活用することでタイプミスを少なく、より効率的にコーディングができます。
自動補完で以下のコードが入力されました。
def on_chat():
pass
player.on_chat("jump", on_chat)
1行目のon_chatと、3行目末尾のon_chatをspawnChickenに書き換えます。
def spawnChicken():
pass
player.on_chat("jump", spawnChicken)
では部分ごとに説明してきます。
順番が前後しますが、まずは3行目から説明します。
■player
プレイヤーに関する機能群。
player.〇〇形式で各種機能を呼び出せる。
■on_chat
playerに用意された機能の1つ。
設定されたキーワードをチャットで入力した時に処理を実行する機能。
on_chat(キーワード, 実行したい処理)形式で使用する。
■"jump"
on_chatで使用するキーワード。
■spawnChicken
キーワードが入力された時に実行する処理。1行目で作成したspawnChicken機能を呼び出す。
次に1~2行目の説明です。
■def
新しく機能を作成する。
def 機能名():
実行する処理
形式で使用する。実行する処理の字下げは必須。
■spawnChicken
defで作成する機能名。
■pass
spawnChickenを呼び出したときに実行する処理。
passは「何もしない」という意味なので、このままだと何も起こらない。
つまり、今の状態だとプレイヤーがチャットに「jump」と入力したら何もしない処理を実行するという動きになります。
今回はニワトリ出現のコマンドを作成したいので「jump」を「chicken」に書き換えます。
def spawnChicken():
pass
player.on_chat("chicken", spawnChicken)
これでチャットに「chicken」と書いたら処理を実行するように変更できました。
続いてニワトリを出現させる処理を書いていきます。
まずはpassを削除して、代わりにmobsまで入力すると補完候補が出てくるので、mobs.spawnを選択してEnterキーを押します。
自動補完で以下のコードが入力されました。
mobs.spawn(CHICKEN, pos(0, 0, 0))
これも部分ごとに説明していきます。
■mobs
生き物に関する機能群。
mobs.〇〇形式で各種機能を呼び出せる。
■spawn
mobsに用意された機能の1つ。
指定した場所に生き物を出現させる機能。
spawn(出現させる生き物, 出現させる場所)形式で使用する。
■CHICKEN
spawnで出現させる生き物。
■pos
生き物を出現させる場所。
pos(東西, 上下, 南北)形式で使用する。(マイクラはゲーム内で方角が決まっていて、地図等で確認できます)
pos(0, 0, 0)ならプレイヤーが立っている位置。
pos(1, 0, 1)ならプレイヤーから東に1ブロック、南に1ブロックの位置。
pos(0, -10, 0)ならプレイヤーから下に10ブロックの位置。
となります。
今回はプレイヤーの上にニワトリを出現させたいのでpos(0, 10, 0)を指定します。
def spawnChicken():
mobs.spawn(CHICKEN, pos(0, 10, 0))
player.on_chat("chicken", spawnChicken)
プログラムはこれで完成です!
画面右下の開始ボタンをクリックしてマイクラの画面に戻りましょう。
マイクラの画面でキーボードの「T」を押し、チャットを開きます。
先ほど作成したコマンド「chicken」を入力してEnterキーを押します。
チャットが閉じたら上を見てください!
ニワトリが出現していれば成功です!お疲れさまでした!!
同じ要領で他の動物を出現させたり、他の位置に出現させることも可能ですので、プログラムを自由にいじって遊んでみてください。