プログラミング② カルタ読み上げ機能 | ミケコロ 公立中高一貫校 高2兄と中2弟 適性検査対策 都立中高一貫校

ミケコロ 公立中高一貫校 高2兄と中2弟 適性検査対策 都立中高一貫校

同じ都立中高一貫校の高2と中2の兄弟の母。主に幼児教育から都立中高一貫高入試、大学受験に向けた記事を載せています。ビートルズ英語等のマニアック記事も有り。中堅国立大文系卒。こどもは凡人家系ですが、早期教育(主に算数)で引っ張りあげてきました。

『プログラミング①早押しボタン』子どもがクイズ番組に刺激されて、早押しボタンが欲しいと言ったことがあります。 単なる「ピンポン」と音が鳴るだけだったら、安く売っています。 でも、欲しいのは、…リンクameblo.jp

 

 

↑前回は、早押しボタンのプログラムでした。

 

 

我が家は4人家族なので、2対2でカルタの対戦をしたいと思いつきました。

 

そこで、カルタの読み上げプログラムを作ることにしました。

 

今回もScratchを使用します。

 

あらかじめ読み札を録音しておくのですが、その音声ファイルを乱数を使って拾います。

※乱数とは、指定した数字の範囲から、ランダムに数字を選び出す機能のこと。くじ引きプログラムや、ゲームの敵の出現等によく使われる。

 

ややこしいのは、一度読んだ札は、拾ってはいけないのです。

 

なお、Scratchはデータテーブルがありません

番目」の付いたリストを使います。

 

①テストとして、まずは5札程、音声データを録音してください。

 

 

②変数を作ります。

「ランダム」「札数」「札数から引く」「番号」「読む順」という変数を作ります。

 

③「順番通り」と「順番入替」というリストを作ります。

 

④「札数」は「5」にします。

 

⑤スタートボタンを押したとき、

 

「順番通り」リストには、「1」「2」「3」「4」「5」と、数字の値をセットします、

 

⑥乱数を使います。

 

「ランダム」変数に、乱数を使って、「1」~「5」のいずれかの数字をセットします。

 

「順番通り」リストの、「ランダム」変数にセットされた「番目」の値を、「順番入替」リストに追加します。

 

少し分かりにくいのですが、下の画像の、赤枠で囲った部分が「番目」で、青枠は「リスト」の「値」です。

 

「順番通り」リストの3番目が乱数で指定されて、3番目に入っていた「3」の値が「順番入替」リストに追加されたということです。

 

 

その後、「順番通り」リストの、「ランダム」変数にセットされた「番目」のデータを、削除します。

 

 

次は、「1」~「4」までの乱数を使って、また「番目」を出します。

 

「順番通り」リストからその「番目」の値を選んで、「順番入替」リストの最後に値を追加します。

そして、「順番通り」リストから、その「番目」のデータを削除します。

 

ここまでで2件のデータが、「順番通り」リストから「順番入替」リストに移動しました(↓)。

 

 

最終的には、「順番通り」リストは空になって、「順番入替」リストに、ランダムに数字が格納されます(↓重複する数字はない)。

 

 

・札数だけ「順番入替」にセットする繰り返し(LOOP)処理

 

・乱数のMAX値を1ずつ減らす(5→4→3と減らしていく数字を、「札数から引く」という変数にセットする)。

 

・リストの値を最初にすべて削除する

 

これらのことに気を付けてプログラムを組みます。

 

⑦ここまでできたら、あとは簡単です。

ネコのキャラクターをクリックする度に、

「順番入替」リストの値に入っている順番に、音声ファイルを読み上げるだけです。

 

プログラミング画面を貼ります。

 

 

 

クイズ早押しボタンと同様、

学習に活用できると思います。


親がついていなくても、子どもだけでカルタをやってくれます。

 

次男が一生懸命音声を吹き込んでくれたのですが、子どものカワイイ音声は宝物です。