マインクラフトプログラミング
こんにちは☺️ノエプロです!
体験会などでお子様と話をすると、マインクラフトが好きな子がとても多いです🎮
というわけで、マイクラでどんなプログラミングができるのか、調べて少し触ってみています!(マイクラのプレイ経験はほぼありません💦)
マイクラのゲーム内に存在するMakeCodeというエディタを使って、ブロック/JavaScript/Pythonのいずれかでプログラミングをすることができます。
また、教材が豊富であり、科学や算数などの教育関連のレッスンも多くありました。時間があるときに触ってみたいと思います。
ゲームを通じて楽しく学べるところが良いところですね!
マイクラ好きのお子様、お待ちしております💪
参考までにサンプルとしてコードを貼っておきます 🙇♂️
(ブロックで作りたかったのですが、ノエプロアイコンの64×64のデータを貼るとMakeCodeが重くなってしまったのでJavaScriptで書いています)
// 左から右に向かって建築
function leftToRight(i: number) {
for (let j = 0; j <= SIZE - 1; j++) {
// 一段掘って掘ってTNTを置く
builder.move(DOWN, 1)
builder.place(TNT)
// 一段上がってブロックを置く
builder.move(UP, 1)
const value = noepro_icon[i][j]
if (value > 200) {
builder.place(BLOCK_OF_QUARTZ)
} else if (value < 100) {
builder.place(COAL_BLOCK)
} else {
builder.place(CLAY)
}
builder.move(RIGHT, 1)
}
builder.move(BACK, 1)
builder.move(LEFT, 1)
}
// 右から左に向かって建築
function rightToLeft(i: number) {
for (let j = 0; j <= SIZE - 1; j++) {
// 一段掘って掘ってTNTを置く
builder.move(DOWN, 1)
builder.place(TNT)
// 一段上がってブロックを置く
builder.move(UP, 1)
const value = noepro_icon[i][SIZE - 1 - j]
if (value > 200) {
builder.place(BLOCK_OF_QUARTZ)
} else if (value < 100) {
builder.place(COAL_BLOCK)
} else {
builder.place(CLAY)
}
builder.move(LEFT, 1)
}
builder.move(BACK, 1)
builder.move(RIGHT, 1)
}
// "noepro"チャットが入力されたとき
player.onChat("noepro", function () {
builder.setOrigin()
for (let i = 0; i <= SIZE - 1; i++) {
// 奇数行は左から右、偶数行は右から左に
if (i % 2 === 0) {
leftToRight(i)
} else {
rightToLeft(i)
}
}
})
// 64 x 64 のマスで作る
const SIZE = 64
// 事前にノエプロアイコンの色情報を取得するプログラムを作って64 x 64の配列データとして持っています
const noepro_icon = [
[
255,
255,
255,
255,
255,
・
・
・
省略
]]
この記事へのコメントはありません。