当サイトは2020年小学生のプログラミング必修化に向けて、関連する情報を纏めています。サイトリニューアルしました。

Blockly ブロックリー ゲームズ の次はプログラムを作ってみよう③

Blockly ブロックリー ゲームズ の次はプログラムを作ってみよう③

ブロックリーゲームズは、Googleが提供している、プログラミングの勉強ができる無償のサイトです。このゲームは、同じくGoogleが提供しているBlocklyというビジュアルコードエディターをベースに作られています。この記事では、ブロックリーゲームズを終わられた方の次のステップである、プログラミング言語の習得について、Blocklyを利用して紹介していきたいと思います。この記事は”その3”です。

まだ、”その1”の記事をまだ読まれていない方は、以下の記事を先にご覧ください。

まだ、”その2”の記事をまだ読まれていない方は、以下の記事を先にご覧ください。

  ”その2”までで作成した内容(赤字部分)  

ゲームのルール(プログラムの流れ)

  1. 1~999の間でまず当てるべき数字(himitu)を決めます。(乱数利用)
  2. プログラムが完成するまで当てるべき数字を印刷(判断ロジックが正しいか確認用)
  3. 以下を10回まで繰り返し、11回目には”10回で正解出来なかった”メッセージを出して終了
  4. 予想の数の入力(yosou)してもらう
  5. もし、yosouとhimituが等しい場合は、”正解”メッセージ表示して終了
  6. もし、yosouがhimituより小さい場合は、”もっと大きい”メッセージを表示してⅣに戻る
  7. もし、yosouがhimituより大きい場合は、”もっと小さい”メッセージ表示してⅣに戻る

前回は、上記のⅠ、Ⅱまで当てるべき数字 himitu を乱数で作りました。まず、前回保管したブロックを、復元します。復元のアイコンをクリックすると、復元の確認メッセージが表示されるので、OKをクリックします。

Blockly37

ブロックが、復元されます。

Blockly36

  Ⅳ、Ⅴの作成  

1.予想の数 yosouの入力をしてもらい、himituと比較する事を10回繰り返しますので、繰り返しブロックグループから選択します。3種類の繰り返しブロックがありますが、何回目で正解したか知りたいので、カウントする繰り返しブロックを使います。

Blockly39

2.予想の 数を入力してもらうために、テキストブロックグループからメッセージ入力ブロックを選択します。

Blockly40

3.そのままでは、数字ではなくテキスト入力になっていますので番号の入力に変更します。

Blockly41

4.数字を入力してもらうときの、メッセージを入力します。”あなたの予想の数は?(1~999)”としました。

Blockly42

5.入力された数を yosou に代入したいので、変数グループから変更ブロックを選択して、変数をyosouに変更します。

Blockly43

6.変更ブロックの動きとして、代入した数字が足されていくようでした。例えば、100を予想して、次に500を予想すると、600になってしまいました。そこで、入力の前にyosouを0にするブロックを追加することにしました。変数ブロックグループから、セットブロックを選択し変数をyosouにします。

Blockly44

7.セットの宛先に0を指定したいので、数学ブロックグループの中から数字ブロックBlockly45を選択します。

8.現在、ワークスペースは以下のようになっているはずです。

Blockly46

9.まず、セットブロックと0を組み合わせて、繰り返しの最初に組み合わせます。

Blockly47

10.次に、変更ブロックと番号入力ブロックを組み合わせて、セットブロックの下に組み込みます。

Blockly48

11.前回作成のブロックと組み合わせます。

Blockly49

14.ここまでで、yosouの入力が終わりました。次に比較部分を作ります。まず、正解の場合を作っていきたいと思います。論理ブロックグループから、”もしも実行ブロック”と”比較ブロック”を選択します。変数から、himituとyosouを選択します。以下のようになっていると思います

Blockly50

15.比較ブロックに変数を組み込みます。yosouとhimituが同じかどうか調べたいので、比較ブロックの比較は=等号のままで良いです。それを、もしも実行ブロックに組み込みます。

Blockly51

16.実行に、himituとyosouが等しい時に実行することをこれから組み込みます。正解の場合なので、”正解です”のメッセージを表示して、繰り返し処理を終わるようにします。テキストブロックグループから、テキストの作成、印刷、テキストを選択します。

Blockly52

17.テキストの作成ブロックの項目を、歯車アイコンから追加できますので、6項目にします。

Blockly53

18.1番上の項目のテキストをは”おめでとう! ”、2番目は繰り返し回数のi、3番目は”回で正解しました。正解の数=”、4番目はhimitu、5番目は” あなたの予想の数=”、6番目はyosou とします。出来上がりは以下のようになります。

Blockly54

19.印刷するメッセージができましたので、印刷ブロックと組み合わせます。

Blockly55

20.ワークスペースは以下のようになっているはずです。

Blockly56

21.”もしも実行ブロック”にテキスト印刷ブロックを組み込みます。そして、その組み合わせたブロックを繰り返しブロックのyosouの入力の下に組み込みます。

Blockly57

22.これで、himituとyosouが等しい時の処理がほぼできました。ただ、このままでは正しいので終わりにしないといけないのですが、その処理が無いのでまたyosouの入力に戻ってしまいます。”もしも実行ブロック”の実行後に繰り返しから抜けるために、繰り返しブロックグループから”ループから抜け出します”ブロックを選択して、”もしも実行”ブロックの実行の下に追加します。

Blockly60

 

23.これで、yosouがhimituと等しい時の処理が完成です。等しくない時の処理は次回の記事で紹介します。まずは、完成したので、画面右上の実行ボタンをクリックしてみてください。最初にhmituが印刷されるので、次の予想の入力の時にはhimituと同じ数字を入れてみてください。正解のメッセージが表示されます。等しくない時の処理が入れていないので、himitu以外の数字を入れても、なにも表示されずプログラムは終わってしまいます。

Blockly59

23.今回はここまでです。ゲームのルールで説明したⅠ、Ⅱ、Ⅳ、Ⅴが完了です。残りのステップについて、次の記事を見る前に挑戦して作成してみてください。等しい時の処理をコピーして修正していくと簡単です。ブロックを選択して右クリックをするとメニューが表示されますので、複写を選択するとブロックがコピーされます。次の記事をリリースしました。挑戦後にこちらをご覧ください。

21.もし、今日作ったブロックを保存するときは、”ブロックを保管”をタップしてください。以下の確認メッセージが表示されますので、OKをタップすると保管されます。

Blockly35

 

クロームブラウザーをご使用の方へ

当サイトへの訪問ありがとうございます。その際、グーグルクロームブラウザーをお使いの方にお知らせです。グーグルクロームブラウザーでは、2018年7月から、サイトにより以下の表示がブラウザーのアドレスバーに表示されます。当サイトでも表示されますが、心配ありませんのでご安心ください。
SSL案内1
これは、SSLと呼ばれるWebサイトとそのサイトを閲覧しているユーザとのやり取り(通信)を暗号化するための仕組みを使用していないためです。ネットショッピング、銀行サイトではパスワードやクレジットカードの情報を扱いますので、必須の仕組みです。当サイトでは、そのような情報を扱っておりませんので、暗号化は必須ではありませんが、訪問される方により安心していただけるように、SSL化を予定しております。このメッセージはSSL化完了まで念のため表示します。

ブロックリーカテゴリの最新記事