2016年11月12日土曜日

プログラミング教室 in 与板小学校!!

- 今日のすすめかた -

ブラウザを起動してこのページを見る(今、見ていますね)

 ブラウザはインターネット上にあるいろいろな情報を見るソフト(プログラム)です。 今日はこのブラウザを使ったプログラミングについて教えます。 本当はたくさんのことを教えたいんですけど、時間が90分しかありません。 ですので、簡単なことだけやります。今日の教室で、みなさんがコンピュータやプログラムにきょうみをもってくれたらうれしいです。

講師自己紹介

半田洋丈
(はんだひろたけ)
株式会社ツヴァイハンダー・ジャパン代表取締役。長岡市内でプログラムの設計や作成をやっています。
今日のメイン講師です。
片桐逸男
(かたぎりいつお)
合資会社ネット情報サービス代表。長岡市内でパソコンスクールをやっています。
今日はみなさんの学習のサポートをします。
田中庸子
(たなかようこ)
与板に住んでいる元プログラマです。今までの長岡のプログラミング教室でメイン講師を担当してきました。
今日はみなさんの学習のサポートをします。

今日はよろしくお願いします。わからないことがあったら、何でもきいてください。

プログラムってなんだ?

 プログラムは、コンピュータに命令をするものです。命令がたくさんあつまっています。 プログラムを作ることをプログラミングといいます。 プログラムを作る仕事をしている人は、プログラマといいます。

 日本人が日本語という言葉(言語)をつかうように、コンピュータはコンピュータ用の言葉(言語)をつかいます。 コンピュータに命令できる言語は、いろいろあります。 今日は「MOONBlock(ムーンブロック)」という言語を学びます。 MOONBlockは日本人が開発しました。 株式会社UEIという会社がMOONBlockをつくったのですが、この会社の代表取締役・清水亮(しみずりょう)さんは長岡市出身です。 2015年の12月に、清水さんが長岡でプログラミング教室をしてくれました。 そこから、長岡市が主さいするプログラミング教室がはじまったのです。

 ここをクリックしてください。 MOONBlockのページへ行きます。こんな画面がひらきましたか?

MOONBlockを使ってみる

 MOONBlockは、ブロックを組み合わせて命令します。 ブロックには他のブロックとのつなぎ目があって、つなぎ目があうものだけがくっつきます。 同じしゅるいのブロックは、同じ色をしています。
次の例では、「パペット」と「出現」は形があうのでくっつきます。 「消える」は形があわず、「パペット」とも「出現」ともくっつきません。

 それでは、みなさんもやってみましょう。さっき開いたMOONBlockのページへうつってください。 画面の上にある箱をキットといいます。「パペット」というキットをクリックすると、箱が開いてブロックが出てきます。

 その中から「パペット」ブロックをつかんで、画面の中にひきずって落としてください。 つかむのはマウスの左クリック、ひきずるのはクリックしたままマウスを画面の中に動かして、落とすのはクリックをはなします。 できましたか? キットをもう一度クリックすると、キットが閉じます。

 今度は「ビヘイビア」キットを開き、「出現」ブロックをつかんで、画面の中にひきずって落としてください。

 「消える」ブロックもキットから出しましょう。「消える」ブロックは「リアクション」キットにあります。

 3つのブロックがこんなふうに画面にあるじょうたいになりましたか? 用意ができたら、「パペット」と「出現」をくっつけてください。 「消える」はくっつきませんね。

 「パペット」が「出現」をつつむような形でくっつきます。

 今は「消える」はいらないので、消しましょう。 画面の右下にごみ箱があるので、「消える」をひきずってごみ箱に落としてください。 ブロックを持っていくとごみ箱のふたがひらくので、マウスのボタンをはなします。

 画面にはパペットと出現がくっついたブロックがありますね。 これがプログラムです。実行すると、画面にくまが1つ出ます。 画面下の「Run」ボタンをクリックしてください。 画面右上の青い部分が変わったのに気づきましたか。 「START」という文字にかくれてわかりづらいですが、くまが出ています。 「START」は青い部分をクリックすると消えます。

 青い部分はひろげることができます。 「スクリーン」ボタンをクリックすれば、ひろがります。 もとにもどすには、×とじるボタンをクリックします。
画面のだいぶぶんはブロックを組み合わせる場所(プログラムをつくる場所)で、青い部分がプログラムの実行結果が出る場所です。

[練習]

 出現ブロックの「ひとつだけでる」を、ほかのものに変えて動かしてみてください。 くまはどんな動きをするでしょうか。 数字を聞いてきたら、5とか10とかてきとうな数を入れてためしてください。

 疲れましたか?休けいはちょっとしたゲームを作ってからにします。

くまたたきゲームを作ろう!

 さて、きょうはくまたたきゲームをつくりましょう。 くまをやっつけるゲームです。 さっき、くまのパペットのいろいろな出し方を調べました。 そのちしきが使えます。 こんな簡単なルールのゲームにしましょう。

[くまたたきゲームのルール]

この4つのルールを実現できたら、ゲームになりそうですね。ではさっそくはじめましょう。

[くまがたくさんでてくる。くまはわいてきて、なくならない]

 これはさっきやりましたね。出現ブロックを使いましたね。 出現パターンは「ひとつだけでる」では簡単すぎてゲームにならなさそうですよね。 たくさんでてくるから、ゲームになりますよね。 皆さんが好きな出現パターンを選んでください。

 「たくさんでる」と、「上・下・左・右からたくさんでてくる」は数を指定しますね。 最初に出てくる数が大きいほど、いっぱい出ます。出てくる間隔が小さいほど、どんどん出ます。 この数のちょうせいによって、ゲームが簡単になったりむずかしくなったりします。 ちょうせいは、みなさんにおまかせします。

[くまをたたいて消す]

 くまをクリックできるようにするブロックを使います。 さっき「消える」ブロックをリアクションキットから取り出しましたが、そこに「パペットがタップされたとき」ブロックがあります。 タップとはさわるといういみです。 タブレットやスマートフォンでアプリを使ったことがある人はわかるかもしれませんが、 タブレットやスマートフォンである部分をさわることをタップといいます。 「パペットがタップされたとき」ブロックをキットから取り出してください。

 パペットと「パペットがタップされたとき」は、くっつきそうですね。「出現」と同じ色ですし。

 やっぱりくっつきました。 次は、タップ(クリック)されたときに、パペットを消さなければなりません。 はて?さっきそんなブロックがあったような・・・?
何を使えばパペットが消えると思いますか?答えはこちら

 リアクションキットに、消えるブロックがありました。あれを使ってみましょう。 形が合っていたのでパペットがタップされたときに消えるがはまりました。 みなさんの予想どおりでしたか? 実際に動かしてください。 マウスでくまをクリックして、くまが消えるか確かめてください。


 出現パターンを「たくさんでる」にした人はいますか。 たくさんでるだと、ルールの「くまはわいてきて、なくならない」どおりになりません。 確かめてください。
だんだんゲームらしくなってきましたね。この調子でルールをプログラムで実現していきましょう。

[くまをたたくと得点になる]

 くまをたたいて得点にするには、点を足していくことと点を見せる(表示する)機能がいりそうですね。 ゲームキットを開いてください。 スコアやゲームの終了などのブロックが並んでいます。 スコアは得点のことです。

 まず、スコアボードブロックを取り出してください。 スコアボードブロックは、置いておくだけでスコアを表示してくれます。 動かして確認しましょう。 青いエリアの左上に「SCORE : 0」と表示されています。 どのようにしたら、くまをたたくと得点になるでしょうか? みなさん、考えてください! 答えはこちら

 ゲームキットにあるスコアブロックを取り出します。 それを、パペットがタップされたとき、消えるの下にはめます。 加算される得点は、0だと点にならないので、1以上にします。 みなさんの好きな点数でいいです。 合っていましたか?

[制限時間がある]

 ここまでで、だいぶゲームらしくなりました。 最後に、制限時間について考えましょう。 今は、いつまでもくまが出てきます。 終わりがなかったら、得点の意味がなくなります。 ゲームには、終わりが必要です。 例えば、シューティングゲームだったら、自分の戦闘機が3機あって、3機全部が敵にやられたらゲームオーバーにします。

 制限時間を作るには、タイマーボードブロックを使います。 ゲームキットから取り出してください。 ゲームキットを開いたとき、並びの中にスコアボードブロックがなくなっていることに気づきましたか? スコアボードは、1つのゲームに1つあれば十分だからです。 タイマーボードも同じです。1つのゲームに1つだけタイマーをつけられます。

 タイマーブロックの動きは、カウントダウンとカウントアップのどちらかをえらびます。 MOONBlockでは、タイマーが○○秒になったとき、何何するという処理ができません。 ですので、ここではカウントダウンを選びましょう。 秒数は最初は10秒としておきましょう。 短すぎると思うかもしれませんが、あとでちょうせいすればいいです。

 タイマーブロックを置いたじょうたいで、実行してみましょう。 青いエリアの右上に「○○sec」と表示されます。 secというのは秒のことです。 10secからカウントダウンされて、0secでカウントが止まることを確認してください。

 カウントが0secになったら、ゲームを終了したいですね。 それを、どのようにしてはんだんしたらいいでしょうか。 先に答えを言ってしまうと、パペットがタップされたときブロックを使います。 「パペットがタップされた」のところをクリックしてください。 他にもいろいろな判定条件があることがわかります。 タイマーにかんする判定条件は、「タイマーが終了した」です。
 つまり、このブロックは「パペットがタップされたときブロック」ではなかったということですね。 「何何したときブロック」とでもよびましょう。 (むずかしくいえば、判定ブロックですね)

 タイマーが終了したときにゲームを終了したいのですが、ゲームクリアとゲームオーバーのどちらを使ったらいいでしょうか。 ゲームが終わるといういみでは、どちらも同じです。 ゲームクリアは、目標をたっせいしたときに使います。 例えば、敵を全滅させたときなどです。 今つくっているくまたたきゲームは、くまは全滅しません。 いつまでもあらわれてきます。 ですので、ここではゲームオーバーを使います。

 さて、ここで問題です。 タイマーが終了したとき、ゲームオーバーになるようにするにはどのブロックをどのようにはいちすればいいでしょうか? みなさん、考えてください! 答えはこちら

 こちらが正解です。 タイマーボードの中に、タイマーが終了したとき、ゲームオーバーをはいちします。 簡単すぎましたか?

 これで、くまたたきゲームが完成しました! おめでとうございます。

[うまく動かないとき]

 プログラムがうまく動かないときは、次の点をしらべてください。

[問題]

 このプログラムはうまく動きません。 どこがわるいのでしょうか?





 問題をやったら、ここで休けいしましょう!

 パソコンを長時間使っていると首や肩が痛くなることがあります。 プログラムを作る仕事をしているプログラマは、首や腰が痛くなりがちです。 マッサージ屋さんでもんでもらったり、水泳したりして体調を整える人もいますよ。

くまたたきゲームを改良する

 くまたたきゲームで遊んでみて、みなさんはどのように思いましたか? 「なんかさみしいなぁ」と思いませんでしたか? そうです。 今つくったものは、4つのルールを実現しただけで、ゲームとしての"み力"が足りません。 そこで、みなさんにこのゲームを改良してほしいのです。 いくつかのブロックの使い方を教えるので、それらを使ってもっと面白くなるようにしてください。 ここで説明しなかったブロックもためしてみてください。 4つのルールにしたがわなくてもいいです。 ふつう、最初にルールを決めたらそのルールのとおりに作るのがプログラミングです。 でも、ゲームのばあいは面白くなくちゃ意味がありません。 まったく変えてしまって、敵を全滅させるゲームにしてもいいです。 先生やほかのみんなをおどろかすようなゲームにしてみましょう!

[音を鳴らす]

 リアクションキットの音を鳴らすブロックは、その名のとおり選んだ音を鳴らします。 音のしゅるいは以下のとおりです。 ゲームにふさわしい音を選んでください。 緑色の三角はボタンになっていて、押すと選んだ音がどんな音か確かめられます。

[背景]

 ゲームキットの背景ブロックは、背景を変えます。 背景のしゅるいは以下のとおりです。 背景ブロックは、他のブロックとくっつきません。 ただ置いておくだけでいいです。

[パペットとクローン]

 パペットは画面にキャラを表示します。 これはもう知っていますね。 クローンは、指定したキャラをコピーして表示します。 どちらも、パペットキットにあります。 例えば、今はくまをたたいたときはくまは消えるだけですが、 消したときにそこにクローンを表示すれば、おもしろい効果がえられます。

[ビヘイビア追加]

 パペットキットのビヘイビア追加を使うと、ふつうはつながらないブロック同士をつなげることができます。 例えば、○○のとき(判定)ブロックと出現ブロックは、ふつうはつながりません。 でも、次のようにビヘイビア追加ブロックを間に入れると、つながるようになります。

[動き、スペシャル]

 ビヘイビアキットの動きを使うと、キャラの動きを変えられます。 同じく、ビヘイビアキットのスペシャルは、キャラが大きくなったり小さくなったり回ったりします。 これらのブロックを使って、キャラがいろんな動きをすると面白くなるかもしれません。

 ゲームができたら、タイマーの秒数をちょうせいして遊ぶのにちょうどいい時間にして、他の人に遊んでもらいましょう。 そして、おたがいに感想を言いあいましょう。

[例]

 先生が改良したくまたたきゲームは、こちらです。

解説はこちら

今日のまとめ

 今日はいろいろなことを学びましたね。 今日学んだことは、プログラムをつくるときの基本になります。

終わり

 これで、今日のプログラミング教室を終わります。短い時間でしたが、楽しく学べましたね。 パソコンをシャットダウンして、自分の持ち物を忘れないように持ってください。 ありがとうございました!

前のページにもどる


©Zweihander Japan Corp.