ブロックリーゲームズは、Googleが提供している、プログラミングの勉強ができる無償のサイトです。このゲームは、同じくGoogleが提供しているBlocklyというビジュアルコードエディターをベースに作られています。この記事では、ブロックリーゲームズを終わられた方の次のステップである、プログラミング言語の習得について、Blocklyを利用して紹介していきたいと思います。この記事は”その3”です。
まだ、”その1”の記事をまだ読まれていない方は、以下の記事を先にご覧ください。
まだ、”その2”の記事をまだ読まれていない方は、以下の記事を先にご覧ください。
”その2”までで作成した内容(赤字部分)ゲームのルール(プログラムの流れ)
- 1~999の間でまず当てるべき数字(himitu)を決めます。(乱数利用)
- プログラムが完成するまで当てるべき数字を印刷(判断ロジックが正しいか確認用)
- 以下を10回まで繰り返し、11回目には”10回で正解出来なかった”メッセージを出して終了
- 予想の数の入力(yosou)してもらう
- もし、yosouとhimituが等しい場合は、”正解”メッセージ表示して終了
- もし、yosouがhimituより小さい場合は、”もっと大きい”メッセージを表示してⅣに戻る
- もし、yosouがhimituより大きい場合は、”もっと小さい”メッセージ表示してⅣに戻る
前回は、上記のⅠ、Ⅱまで当てるべき数字 himitu を乱数で作りました。まず、前回保管したブロックを、復元します。復元のアイコンをクリックすると、復元の確認メッセージが表示されるので、OKをクリックします。
ブロックが、復元されます。
Ⅳ、Ⅴの作成1.予想の数 yosouの入力をしてもらい、himituと比較する事を10回繰り返しますので、繰り返しブロックグループから選択します。3種類の繰り返しブロックがありますが、何回目で正解したか知りたいので、カウントする繰り返しブロックを使います。
2.予想の 数を入力してもらうために、テキストブロックグループからメッセージ入力ブロックを選択します。
3.そのままでは、数字ではなくテキスト入力になっていますので番号の入力に変更します。
4.数字を入力してもらうときの、メッセージを入力します。”あなたの予想の数は?(1~999)”としました。
5.入力された数を yosou に代入したいので、変数グループから変更ブロックを選択して、変数をyosouに変更します。
6.変更ブロックの動きとして、代入した数字が足されていくようでした。例えば、100を予想して、次に500を予想すると、600になってしまいました。そこで、入力の前にyosouを0にするブロックを追加することにしました。変数ブロックグループから、セットブロックを選択し変数をyosouにします。
7.セットの宛先に0を指定したいので、数学ブロックグループの中から数字ブロックを選択します。
8.現在、ワークスペースは以下のようになっているはずです。
9.まず、セットブロックと0を組み合わせて、繰り返しの最初に組み合わせます。
10.次に、変更ブロックと番号入力ブロックを組み合わせて、セットブロックの下に組み込みます。
11.前回作成のブロックと組み合わせます。
14.ここまでで、yosouの入力が終わりました。次に比較部分を作ります。まず、正解の場合を作っていきたいと思います。論理ブロックグループから、”もしも実行ブロック”と”比較ブロック”を選択します。変数から、himituとyosouを選択します。以下のようになっていると思います
15.比較ブロックに変数を組み込みます。yosouとhimituが同じかどうか調べたいので、比較ブロックの比較は=等号のままで良いです。それを、もしも実行ブロックに組み込みます。
16.実行に、himituとyosouが等しい時に実行することをこれから組み込みます。正解の場合なので、”正解です”のメッセージを表示して、繰り返し処理を終わるようにします。テキストブロックグループから、テキストの作成、印刷、テキストを選択します。
17.テキストの作成ブロックの項目を、歯車アイコンから追加できますので、6項目にします。
18.1番上の項目のテキストをは”おめでとう! ”、2番目は繰り返し回数のi、3番目は”回で正解しました。正解の数=”、4番目はhimitu、5番目は” あなたの予想の数=”、6番目はyosou とします。出来上がりは以下のようになります。
19.印刷するメッセージができましたので、印刷ブロックと組み合わせます。
20.ワークスペースは以下のようになっているはずです。
21.”もしも実行ブロック”にテキスト印刷ブロックを組み込みます。そして、その組み合わせたブロックを繰り返しブロックのyosouの入力の下に組み込みます。
22.これで、himituとyosouが等しい時の処理がほぼできました。ただ、このままでは正しいので終わりにしないといけないのですが、その処理が無いのでまたyosouの入力に戻ってしまいます。”もしも実行ブロック”の実行後に繰り返しから抜けるために、繰り返しブロックグループから”ループから抜け出します”ブロックを選択して、”もしも実行”ブロックの実行の下に追加します。
23.これで、yosouがhimituと等しい時の処理が完成です。等しくない時の処理は次回の記事で紹介します。まずは、完成したので、画面右上の実行ボタンをクリックしてみてください。最初にhmituが印刷されるので、次の予想の入力の時にはhimituと同じ数字を入れてみてください。正解のメッセージが表示されます。等しくない時の処理が入れていないので、himitu以外の数字を入れても、なにも表示されずプログラムは終わってしまいます。
23.今回はここまでです。ゲームのルールで説明したⅠ、Ⅱ、Ⅳ、Ⅴが完了です。残りのステップについて、次の記事を見る前に挑戦して作成してみてください。等しい時の処理をコピーして修正していくと簡単です。ブロックを選択して右クリックをするとメニューが表示されますので、複写を選択するとブロックがコピーされます。次の記事をリリースしました。挑戦後にこちらをご覧ください。
21.もし、今日作ったブロックを保存するときは、”ブロックを保管”をタップしてください。以下の確認メッセージが表示されますので、OKをタップすると保管されます。
コメントを書く