読者です 読者をやめる 読者になる 読者になる

初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

スポンサーリンク

Minecraft(マインクラフト)で子供にプログラミング体験を



え? マインクラフトってレゴじゃねえの?


どうやら巷の小学生の間で、マインクラフトというものが流行っているらしい。

minecraft.net

Minecraft - Wikipedia

『Minecraft』(マインクラフト)は、Notch(マルクス・ペルソン)とその会社 (Mojang AB) の社員が開発したサンドボックスゲームである。ブロックを空中や地面に配置し、自由な形のものを作っていくゲームである。シングルプレイやマルチプレイがあり、日本語圏では『マイクラ』という略称で呼ぶこともある。

サンドボックス?

サンドボックスとは (サンドボックスとは) [単語記事] - ニコニコ大百科

近年増加してきたタイプのゲーム。オープンワールド [※1] に近いジャンルで、「決まった目的が存在せずプレイヤーが自由に行動できる」「決まった攻略手順がないもの、選択肢の強要をされないもの」タイプのゲームのこと。

ここでいうサンドボックスとはコンピュータ上の特定環境を指すわけではなく、文字どおり「砂場・遊び場」の意味を持っており、「砂場(フィールド)とスコップ(各種道具)は用意したから自由にやれ」というタイプのゲームである。

なるほど。竜王を倒すとか、ヤスを犯人にするとかそういう目的がなく自由にプレイできるのですか。ふーん、

オッサン、目的がないと動けないタイプなんで無理ッス。

オッサンはさておき、息子氏も自分のお小遣いでプレイステーションVitaを買ってマイクラを楽しんでおります。

PlayStation Vita Wi-Fiモデル アクア・ブルー(PCH-2000ZA23)

PlayStation Vita Wi-Fiモデル アクア・ブルー(PCH-2000ZA23)

Minecraft: PlayStation Vita Edition

Minecraft: PlayStation Vita Edition

普通のゲームや課金ゲームにハマるよりはいいし、何よりも自由な発想で色んな事ができるみたいなので、自律心を育むにはいいかな位に思ってたんだけども、そんな子供達に大人気なマイクラでプログラミングの学習ができるというのを最近知ったのである。

internet.watch.impress.co.jp

Minecraft Hour of Codeは、ブラウザー上で動作し、あらかじめ用意されたブロック状のコードを組み合わせることで、ステージごとに与えられた課題をクリアしていくもの。全部で14種類のステージが用意されており、指定された物体のブロックを崩したり、素材を回収することでプログラミングにおける思考や問題解決スキルをゲーム感覚で学ぶことができるとしている

マイクロソフトがマイクラを買収したのは知ってたのだけれども、こういう使い方をしてくるとはやるでゲイツな。

ということで、ちょっと試してみた。

Minecraft Hour of Code

試した環境

OS Windows 10 (1511)
ブラウザ Google Chrome(46.0.2490.86)

Androidタブレットでも画面は表示できたので、恐らく今時のブラウザであればOS問わず動くのではないかな。試してないけど。

公式ヘルプによれば、IE8以下じゃなければOKっぽい。

support.code.org

開始方法

対応ブラウザから以下のページにアクセス。

code.org

  • 言語選択ダイアログ

f:id:osa030:20151202221010j:plain

はじめてのアクセスだと言語選択ダイアログが表示されるので「日本語」を選択。

  • 日本語を選択

f:id:osa030:20151202221113j:plain

Chromeの場合は"Submit"ボタン押さなくても画面が切り替わった。

  • 右上のLoginボタンが"ログイン"になってればOK

f:id:osa030:20151202221211j:plain

何故か日本語化されていない"Try now"をクリックすると「Minecraft Hour of Code」がスタート。

チュートリアル

チュートリアルの動画が自動再生される

  • 動画「Minecraft - イントロダクション」

f:id:osa030:20151202221440j:plain

ペラペーラ、ペラペーラ。
何言ってんだメガネ君?

  • 動画「Minecraft - イントロダクション」(字幕)

f:id:osa030:20151202221501j:plain

動画はYouTube動画なので、右下の字幕メニューから日本語字幕も表示できる。
何言ってるかサッパリわからないけど。

  • 動画の代わりにノートを見る

f:id:osa030:20151202221506j:plain

こっちはちゃんと和訳されている。なのでこれを見るのが一番わかるかも。

キャラ選択

いよいよプログラミング体験だ。と思ったらキャラ選択しろと。

f:id:osa030:20151202222209j:plain

で、君ら誰?

どうやら息子氏は知ってるらしいのでマイクラのキャラらしい。とりあえずスティーブを選択。

いざプログラミング開始

全14ステージか。さあ、

ジョブズスティーブ、オレたちの戦いがはじまるぜ。

f:id:osa030:20151202222649j:plain

んー、チュートリアルすっ飛ばしたから

使い方がわからない。

ということで、簡単に画面構成とかを説明しておこう。

画面構成

f:id:osa030:20151202223041j:plain

プレイ中はこの画面から遷移はしない。画面内は以下の5つの部品から構成されている。

  • プレイスペース
  • インストラクション
  • ツールボックス
  • ワークボックス
  • ヘルプ

プレイスペース

f:id:osa030:20151202223158j:plain

自分のプログラムが実行される場所。"ワークボックス"で作成したプログラムが"Play"ボタンをクリックすると実行されてスティーブがプログラムに従って動く。

インストラクション

f:id:osa030:20151202223400j:plain

現在のステージのクリア条件。この条件をクリアするようにプログラミングするのだ。

ツールボックス

f:id:osa030:20151202223501j:plain

吹き出しのような形の図を「ブロック」と呼ぶ。「ブロック」を"ワークボックス"に配置することでスティーブにブロックに応じた命令を与える。「ブロック」はステージを進めると増えていき、複雑な命令を与えることができる。

  • 繰り返し

f:id:osa030:20151202224229j:plain

FORループってやつな。

  • 条件分岐

f:id:osa030:20151202224239j:plain

IFステートメントってやつな。

それぞれがどんなものかは、ステージが進んだ時のチュートリアルで説明があるので、今はわからなくても問題ナッシング。

ワークボックス

f:id:osa030:20151202223638j:plain

"ツールボックス"から「ブロック」をドラッグして命令したい順番に並べる。黄色の「実行した時」がスタート地点だと思えばいい。そこにつながった順番に命令が実行される。" Minecraft Hour of Code"では、このようにしてプログラミングをすることができる。

ヘルプ

f:id:osa030:20151202223810j:plain

チュートリアルのダイアログを表示する。ヒントみたいなもの。

実践

さあ、なんとなくルールがわかってきたのでやってTRYだ!

「ブロック」を配置する

まずは"インストラクション"のクリア条件をよく読んで"プレイスペース"の配置からどう動かせばクリアするかを考える。それができたら、"ツールボックス"から「ブロック」を選択して"ワークボックス"に配置してプログラミングしていく。

  • 「ブロック」をドラッグ

f:id:osa030:20151202225403j:plain

"ツールボックス"から使用したい「ブロック」を"ワークボックス"にドラッグ。

  • 実行したい順番に「ブロック」を並べる

f:id:osa030:20151202225506j:plain

近くにドラッグするとくっつく部分が強調表示される。

f:id:osa030:20151202225646j:plain

その状態でマウスを離すと自動的にくっつく。

  • やり直し

f:id:osa030:20151202224647j:plain

配置した「ブロック」を"ワークボックス"内でドラッグすれば命令する順番を変えることができるし、"ツールボックス"にドラッグすると外すこともできるんだけど、最初からやり直したい場合は、"ワークボックス"上部の「最初からやり直す」をクリックする。

  • 確認ダイアログ

f:id:osa030:20151202224906j:plain

ちゃんと確認してくれるので安心。

プログラムを実行する

プログラミングが完了したら、実行してみよう。

  • 実行

f:id:osa030:20151202225758j:plain

"プレイスペース"の"実行"ボタンをクリックするとスティーブがプログラミング通りに動き出す。

  • 実行結果のリセット

f:id:osa030:20151202230703j:plain

実行結果が間違っていても大丈夫。"リセット"ボタンを押せば最初の配置に戻せるので、プログラミングをし直して何度でも実行することができる。
プログラミングをしたことがないヒトの場合は、TRYアンドエラーで実際に動かしてみたほうがわかるかもしれない。

ステージクリア

ステージクリアした場合はこうなる。

  • 条件クリア

f:id:osa030:20151202230423j:plain

ちょっとだけ嬉しそうだな、スティーブよ。

  • 次のステージへ

f:id:osa030:20151202230847j:plain

"続行"ボタンをクリックすれば次のステージへ進める。ということで

オレたちの戦いはまだこれからだ(未完)。

どうやって動いてるのか

こんな感じで「ブロック」を配置するだけで簡単にプログラミングすることができるのだけれども、実は裏で本当にプログラミングされているのだ。

  • ワークボックス

f:id:osa030:20151202231231j:plain

  • 実際のコード(JavaScript)

f:id:osa030:20151202231236j:plain

「ブロック」に該当した関数内の処理は隠蔽されているけれどもJavaScriptの構文だ。冷静に考えると、プログラミングした通りにスティーブが動くのだから当たり前なんだけど、なかなか感動を覚える。こんな環境がオッサンの子供の頃にあったら人生変わってたかもしれないぜ。

息子氏にやってもらった

小6の息子氏にもやらせてみたのだが、元々マイクラをゲームで楽しんでいるので、話を振ったらすぐに食いついてきた。最初の1、2ステージは操作を教えたり、助言を与えたりしたのだけれども、その後は自分で考えながら一人で解いていった。全14ステージをクリアするのにかかった時間は30分位だったと思う。流石に完成したプログラムが洗練されているとは言えないのだけれども、それは現実のプログラミングでもプログラマによって全然異なるので特に気にしてない。処理効率やらエレガントなコードとかそういうのはまだ後でいいので、まずはプログラミングに興味は持って貰えれば成功ではないかと。
ということで、皆さん

お子様にプログラミングを体験させて見たければオススメします。

子どもを億万長者にしたければプログラミングの基礎を教えなさい

子どもを億万長者にしたければプログラミングの基礎を教えなさい

子どもにプログラミングを学ばせるべき6つの理由 「21世紀型スキル」で社会を生き抜く (できるビジネス)

子どもにプログラミングを学ばせるべき6つの理由 「21世紀型スキル」で社会を生き抜く (できるビジネス)

  • 作者: 神谷加代,できるシリーズ編集部,竹林暁
  • 出版社/メーカー: インプレス
  • 発売日: 2015/10/09
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

スポンサーリンク