JavaScriptに関する記事一覧 – ノエプロ|石川県の子供向けプログラミング教室 https://noepro.jp Noecre Programming(ノエプロ)は、石川県の白山市(松任)・野々市市で展開する子供向けのプログラミング教室です。レゴ・ロボコン・Scratch・Minecraftなどを利用した取り組みから、本格的なアプリやゲーム制作を通じてプログラミングを学ぶことができます。 Tue, 11 Mar 2025 19:59:49 +0000 ja hourly 1 https://wordpress.org/?v=6.7.2 https://i0.wp.com/noepro.jp/wp-content/uploads/2022/12/cropped-favicon.jpg?fit=32%2C32&ssl=1 JavaScriptに関する記事一覧 – ノエプロ|石川県の子供向けプログラミング教室 https://noepro.jp 32 32 211618259 マインクラフトプログラミング https://noepro.jp/20230209-micra/ Thu, 09 Feb 2023 03:58:49 +0000 https://noepro.jp/?p=685 こんにちは☺ノエプロです!

体験会などでお子様と話をすると、マインクラフトが好きな子がとても多いです🎮
というわけで、マイクラでどんなプログラミングができるのか、調べて少し触ってみています!(マイクラのプレイ経験はほぼありません💦)

マイクラのゲーム内に存在する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,
・
・
・
省略
]]

]]>
685
[制作事例]テトリス風ゲーム https://noepro.jp/falling-game/ Wed, 14 Dec 2022 00:41:30 +0000 https://noepro.jp/?p=286 講師が制作したテトリス風の落ちゲーです。

こちらはブラウザで動作するWebアプリですが、テキストプログラミング言語であるHTML, JavaScriptを利用しているため、ScratchやLEGOに比べると難しくなります。

ポイントは、

  • ブロックの移動/回転が可能かどうかをチェックして、思い通りにブロックを動かしていく

だけです。

どのプログラミング言語にも存在する「配列」という概念を使って、縦20マス x 横10マスの情報を管理しています。

テキストプログラミングまで興味がある場合は、将来チャレンジしてみてください!

(2025/03/05 追記)
アクセス数が多いので、ソースコードのリンクを貼っておきます。

]]>
286