【マイクラ】アップデートの追加要素を解説!【メイクコード】
アップデートの内容を解説
やっほー 春日部つむぎだよ
なのなのだ ずんだもんなのだ
この間『メイクコード』を開いたら、何か更新されたみたいだったのだ。
コードとかが増えていたけど、英語で書かれていて何が何だかわからなかったのだ…。
そうだねー。 私も色々試してみたらから、今回はそこを解説していこうか!
よろしくお願いするのだ!
それじゃあ『マイクラ』と『メイクコード』を準備してプログラミングを始めよう!
- 『MineCraft(マインクラフト)』はMicrosoftが提供しているサンドボックスゲームです。プレイヤーはブロックを積み上げて建物を作り上げたり、広い世界を冒険してモンスターと戦うことができます。メイクコードを使ってプログラミングをするためには統合版が必要です。
- 『MakeCode(メイクコード)』はMicrosoftが提供するオープンソースのプログラミング学習プラットフォームです。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングの2種類のエディタを切り替えながら、プログラミングできます。
「プレイヤー」項目の更新内容
ここでは「プレイヤー」の項目に追加されたものを説明するね
【player orientation】
【player orientation】は「プレイヤーの向いている方向を数値として取得」するコードだよ
角度は「-180~180」で判定されるよ!
向いている方向次第で違う動作をするプログラムが作れそうなのだ!
設定できるアイテムの増加
コード以外に、設定できるアイテムも増えているよ!
画像の赤線で囲んでいるアイテムで、英語表記の物は追加されたものなのだ!
「ブロック」項目の更新内容
ここでは「ブロック」の項目に追加されたものを説明するね
【positions of all】
【positions of all】なんだけど、組み合わせて動作させることはできるんだけど、エラーが表示されるんだ…
説明文的には、「指定した範囲内にある《ブロック》の位置を取得する」みたいだね
動かないこともあるのだね~
エラーが出ないような使い方がわかったらまた解説するね!
【all block kinds from】
【all block kinds from】なんだけど、【positions of all】と同じで動作はするけどエラーが表示されるんだ…
説明文的には、「指定した範囲内にある《ブロック》の種類を取得する」みたいだね
これもエラーが出ないような使い方がわかってからの解説だね!
【name of block】
【name of block】は、「指定したブロックの名前を取得する」コードだね。 ここで言う名前は「データとして登録されている表記」のことだよ。
どういうことなのだ?
例えば、《草ブロック》のデータの名前は《Grass Block》っていうふうに、『メイクコード』では日本語で表示されているものもデータ上は英語表記なんだよ
つまり、その英語の方を知ることができるコードなのだね!
そういうこと! 【メッセージ”:)”を送信する】に入れると名前を知れたり、【ブロックの名前”stone”】コードの「stone」の部分にはめてそのまま名前を代入できたりするよ
設定できるブロックの増加
コード以外に、設定できるブロックも増えているよ!
画像の赤線で囲んでいるアイテムで、英語表記の物は追加されたものなのだ!
「エージェント」項目の更新内容
ここでは「エージェント」の項目に追加されたものを説明するね
【エージェントの設定の追加】
【エージェントの設定の追加】は、「エージェントをプログラムで動かす時の設定を追加する」コードなんだ
設定の追加なのだ?
そう。 例えば設定の「障害物を壊す」をオンにしておくと、本来は「壊して移動するプログラム」が必要な所を「移動するプログラム」だけで障害物を壊してくれるようになるんだ!
それぞれの設定と、本来のプログラムの形は以下のように対応しています。
-
動きながら置く → 【エージェントを〔前〕に1ブロック移動させる】 + 【エージェントに〔前〕へ置かせる】
※動きながら置くをオンにした場合、エージェントがどの方向に動く場合でも動く前の位置にブロックが置かれます。 - 障害物を壊す → 【エージェントに〔前〕を破壊させる】 + 【エージェントを〔前〕に1ブロック移動させる】
プログラムで使っているコードの数が多いと処理が重たくなるから、こういうちょっとした設定が増えるだけでもすごく助かるんだよ!
なるほどなのだ! エージェントを動かすときは積極的に使うようにするのだ!
「ポジション」項目の更新内容
ここでは「ポジション」の項目に追加されたものを説明するね
【right 0 above 0 in front 0】
【right 0 above 0 in front 0】は、「自分が見ている方角を基準に[左右・上下・前後]を決める」コードだよ
方角には斜めや縦の方向はないから、顔の向きを基準に「東・西・南・北」のどれかの方向に向かって動作するよ
これ、コードの数字部分を押すとマウスで操作できるメモリが出てきて直観的に分かりやすいのだ!
マウス操作だと最大数8だけど入力ならそれより大きい数値も設定できるから、これを使えば建築するのが楽になりそうなのだ!
【^0,^0,^0】
【^0,^0,^0】は、「自分の視点を基準に[左右・上下・前後]を指定する」コードなんだ
…あれ? さっきの【right 0 above 0 in front 0】とはどう違うのだ?
一言でいうと、斜めや縦の方向があるかどうかだね。 この【^0,^0,^0】は斜めや上下を向いていればその方向を基準にプログラムが動作するんだ
ただ、斜めや上下を向くと横を向いた時とは違う形でできちゃうんだ…
視点が少しずれると形も変わってしまうので注意しましょう!
どの方向に向いてもきれいな形に作れるようには練習と研究が必要なのだね!
【orientation 0 to compass direction】
【orientation 0 to compass direction】は、「方角を数値に変換する」コードみたいだね
今回プレイヤーの項目に追加された【player orientation】コードを数字の場所にはめて動かすと結果を確認できたよ!
方角と数値の関係は以下の通りです。(数値の小さいものから並べています)
北:0 , 東:1 , 南:2 , 西:4
これを使えば方角の指定が楽にできそうなのだ!
顔の向いている角度に近い方角が選ばれるので、斜め方向は存在しないことを覚えておきましょう!
「ループ」項目の更新内容
ここでは「ループ」の項目に追加されたものを説明するね
【くりかえしの先頭に行く】、【くりかえしを終わる】
今回は【くりかえしの先頭に行く】と【くりかえしを終わる】のコードをまとめて紹介するね
一つ目の【くりかえしの先頭に行く】は、「『くりかえす(くりかえし)』って書いているコードと組み合わせると、そのくりかえしの一番上から動かしてくれる」コードだよ
もう一つの【くりかえしを終わる】は、「【くりかえしの先頭に行く】とは逆にくりかえしを終わらせる」コードだよ
でも、それをそのまま使っちゃうと、くりかえしがループしちゃったりくりかえす前にプログラムが止まったりしそうなのだ…
もしかして、【もし〈真〉なら】みたいな条件を付けるコードと組み合わせて使うのだ?
その通りだよ! ちなみに、「くりかえし(くりかえす)」って書いていないコードと組み合わせると『メイクコード』でエラーが出るから気を付けてね!
さいごに
おつかれさま! 今回は「メイクコードに追加された新しいコード」を覚えたね!
コードが増えたおかげで、今までは作るのが難しかったプログラムも作れるようになったのだ!
みんなも今回のコードを使って新しいプログラムを作ってみてね!