初心者OK!こどもプログラミング入門(Scratch)

子ども向けプログラミング学習の定番「Scratch」の使い方。我が子(小学1年)の初挑戦記録付き。

九九の正解数を発表する(九九の練習アプリ-3)

 

f:id:shufufu:20170523162334j:plain

前回「問題を出して正解数をカウントする」仕組みまでを作った、オリジナルキャラを使った「九九練習アプリ」の作成。今回は、正解数の発表部分を作っていきます。

ポイントは、正解数に応じて発表するキャラを変える点です。

 

正解数を知らせるメッセージを設定する

正解数によって登場するキャラを変えるため、「メッセージを送る」機能を利用します。まずは正解数ごとのメッセージを作りましょう。

 

発表のための微調整を行う

発表部分を作る前に、ちょっとした微調整をしておきます。まずはネコの位置を定め、アプリの起動時に毎回ここに表示されるように位置指定用のブロックを入れました。

さらに出題が終わったタイミングで、「発表に移る」ことを知らせるセリフを付け足しました。これで準備OKです。 

f:id:shufufu:20170523162701j:plain

 

条件が1つの場合

メッセージを送る条件を設定していきます。「〇問正解した場合」という仮定の設定をするときは、「制御」にある「もし□なら」ブロックを使います。

「10問正解」のように条件となる数が1つの場合は、演算にある「□=□」のブロックを図のようにはめ込みましょう。

f:id:shufufu:20170523162820j:plain

 

まずは10問すべて正解した場合を条件にするため、「データ」にある「正解した数」の変数ブロックを左側の欄に入れ、右側には10と入力します。これで「正解した数が10問の場合」の条件が設定できました。

f:id:shufufu:20170523162919j:plain 

 

条件に合致したときメッセージを送るため、「イベント」にある「(メッセージ)を送る」ブロックを間に挟みます。送るメッセージは「全問正解」にしました(新しいメッセージを作ります)。

メッセージ機能について詳しく知りたい方は、過去記事「会話のキャッチボールも楽々!動きのきっかけを指定する」で紹介していますので参考にしてください。

f:id:shufufu:20170523163941j:plain

 

条件が複数の場合

「9問か、8問か、7問正解の場合」のように条件を複数にしたいときは、「演算」にある「または」ブロックを使います。「または」ブロックの右側の欄にさらに「または」ブロックをはめ込んでつなげることで、条件の指定欄を増やします。

f:id:shufufu:20170523164018j:plain

 

「または」ブロックのそれぞれの欄に「□=□」ブロックを入れます。

f:id:shufufu:20170523164129j:plain

 

さらに「正解した数」の変数ブロックと、各々の数字を入れます。これで「9問か、8問か、7問正解の場合」の条件ができました。

f:id:shufufu:20170523164201j:plain

 

この場合に送るメッセージの設定をします。

f:id:shufufu:20170523164218j:plain

 

同じ要領ですべての正解数に対応するメッセージの設定を行ったら、図のように前のスクリプトとつなげます。

f:id:shufufu:20170523164243j:plain

 

結果発表用のキャラの設定をする

続いて、結果発表をするスプライトを入れていきます。図は、下から2番目にダメな結果を発表するキャラとして、ライブラリにある灰色のサルを入れたところです。(スプライトの入れ方については過去記事「キャラやアイテムを増やす!スプライトの追加とコツをマスタ」で詳しく紹介しています)

 

表示するタイミングを決める

結果発表用のキャラは最初は不要なので、アプリ起動時は位置を指定したあとに非表示にしておきます。

f:id:shufufu:20170523164434j:plain

 

表示するタイミングは、このキャラが発表したい正解数を知らせるメッセージを受け取ったときです。図の場合は「もっとがんばれ」というメッセージを受け取った時に表示されるようブロックを並べます。

f:id:shufufu:20170523164712j:plain

 

正解数を発表させる

次にセリフを設定します。今回の場合、正解数は状況によって変わるため、変数を使って指定します。

「変数」と「決まったセリフ」を組み合わせたいので、セリフ用の「〇と〇秒言う」ブロックに、「演算」にある「〇と〇」ブロックを入れて2種類の内容が入れられるようにします。

左側には「データ」にある「正解した数」の変数ブロックをはめ込み、右側にはセリフを入力しましょう。 

f:id:shufufu:20170523164835j:plain

 

試しに実行してみます。このキャラが正解数を言う条件の一つになっている「3問正解」の状態にすると、ちゃんとセリフを言いました。 

f:id:shufufu:20170523164913j:plain

 

残りの正解数のシチュエーションも作っていきます。たとえば成果率が少し上がったバージョンは、次女の大好きなシルバニアの仲間がはげましてくれます。

表示のきっかけとなるメッセージを選び、セリフを設定しましょう。 

f:id:shufufu:20170523165154j:plain

 

背景を調節する

背景をいくつか追加して、通常時は水色、0点と全問正解の場合は変わるように設定します。いずれもメッセージをきっかけにして、表示を切り替えればOKです。

背景の設定について詳しく知りたい方は、過去記事「背景を使ってシチュエーションを演出する」をご覧ください。

f:id:shufufu:20170523165337j:plain

f:id:shufufu:20170523165347j:plain

 

変数の内容を非表示にする

最後に左上に表示されている変数を非表示にします。娘の性格上、途中で間違えたことがわかり、満点が取れないとなると最後までやるのを嫌がりそうなので…(-_-;)

お子さんの性格によっては、表示しておいた方がよい場合もあるかもしれません。

変数を非表示にするには、「データ」にある変数名のチェックを外せばOKです。 

f:id:shufufu:20170523165439j:plain

f:id:shufufu:20170523165449j:plain

 

これで九九練習用のアプリは完成です。今のところ気に入ってちょくちょくやっている娘。全問正解のくまちゃんが毎回出せるように精進してほしいと思います。

f:id:shufufu:20170523165524j:plain

 

Copyright © 2016 初心者OK!こどもプログラミング All rights reserved.