第 6 章 クラウド変数を用いた「めざせ!ローマ字マスター☆~えい語とのちがいを知ろう
6.7 本アプリにある機能とそのプログラム
6.7.4 個人課題画面への切り替えと児童が選択できる問題ジャンルを切り替える機能
ばあさん」「きっぷ」「電車」「本屋」「すし」課題の文字入力→解答、解説→待機画面→…』
のようにエンドレスである。そのエンドレスの状態を終わらせて個人課題画面(図6-8)へ 切り替えさせる機能を作成した。具体的に先生が先生用画面(図6-4)で「全員mode終わ り」ボタンをクリックすると、エンドレスの状態遷移中にある児童機であれば、画面を個 人課題画面へと切り替えさせることができる。この機能に大きく関係しているプログラム を持つスプライトはスプライト「全員mode終了ボタン」「始めるボタン」である。
(1)スプライト名:「全員mode終了ボタン」
スプライト「全員mode終了ボタン」は1つのコスチュームを持っている(図6-37)。先 生用画面で使用されている。図6-38はスプライト「全員mode終了ボタン」が持っている プログラムである。プログラム1は旗がクリックされた時に実行されるプログラムで、指 定された座標に再配置し非表示にするプログラムである。プログラム2はメッセージ「先
生mode」を受け取った時に実行されるプログラムで、スプライト「全員mode終了画面」
を画面に表示させる。プログラム3はスプライト「全員mode終了画面」がクリックされ た時に実行されるプログラムであり、クラウド変数「出題クラウド」「出題ジャンル」の値 をそれぞれ100、初期値0にし、メッセージ「全員mode終わり」を送った後に非表示にさ せる。
図6-38 スプライト「全員mode終了ボタン」が持つプログラム
図6-37 スプライト「全員mode終了画面」が持つコスチューム
88
スプライト「始めるボタン」が持つプログラムのプログラム2(図6-39)で旗がクリッ クされた後に、クラウド変数「出題クラウド」の値が100になるまで待ち続けているが、
スプライト「全員mode終了ボタン」のプログラムの説明で述べたように、スプライト「全 員mode終了ボタン」を押すとクラウド変数「出題クラウド」「出題ジャンル」の値はそれ
ぞれ100、0になるので、プログラム2(スプライト「始めるボタン」)の待機状態は解除
されその先のプログラムが実行されるようになる。待機状態の解除後にはメッセージ「個
人mode」を送り、スプライト「始めるボタン」を非表示にする。次いで10秒待ってから
クラウド変数「出題クラウド」の値を0にするプログラムが実行される。このメッセージ
「個人mode」に個人課題画面を表示させる役割を持たせている。また、クラウド変数「出
題ジャンル」の値が0の時、個人課題画面に切り替わった際に「日本語とえい語で強く(高 く)読む音の場所がちがう語」「ローマ字とえい語で文字のならびや音がちがうもの」のボ タンは全て選択できないようになっている。
図6-39 個人課題画面に切り替える為に動作するプログラム
(スプライト「始めるボタン」が持つプログラムのプログラム2)
(2)スプライト名:「目指せ!タイトル画面」
スプライト「目指せ!タイトル画面」は1つのコスチュームを持っている(図6-40)。ス タート画面(図6-2)や個人課題画面(図6-8)で使用されている。図6-41はスプライト「目 指せ!タイトル画面」が持っているプログラムである。プログラム1は指定された座標に 再配置して表示させるプログラムである。プログラム2、3、4に関して、それぞれメッセ ージ「クリック仮」「クリック仮2」「クリック3」を受け取った時に非表示にするプログラ ムが実行される。プログラム5について、メッセージ「個人mode」を受け取った時にプロ グラムが実行される。ユーザー名がyoshikentoかどうかを調べ、yoshikentoでない場合は 表示させる。このように表示させることに条件を設けたことについて、児童機の画面だけ でなく教師(アカウント「yoshikento」)の画面までもが個人課題画面にならないようにす るためである。プログラム6、8に関して、それぞれメッセージ「先生mode」「先生消去」
を受け取った時に非表示にするプログラムが実行される。プログラム7に関して、メッセ ージ「問題選択へ戻る」を受け取った時に表示させるプログラムが実行される。
89
図6-41 スプライト「目指せ!タイトル画面」が持つプログラム
(3)スプライト名:「そのままえい語でも…ボタン」「日本語と英語で高く…ボタン」「ローマ
字とえいごで文字のならび…ボタン」
スプライト「そのままえい語でも…ボタン」「日本語と英語で高く…ボタン」「ローマ字 とえいごで文字のならび…ボタン」はそれぞれ2つのコスチュームを持っている(図6-42、
図6-43、図6-44)。個人課題画面(図6-8)で使用されている。図6-45はスプライト「そ
のままえい語でも…ボタン」が持っているプログラムである。プログラム1に関して旗が クリックされた時に実行される。まず変数「選択問題」「問題番号」の値をそれぞれ初期値
0、初期値1にする。次いで指定された座標に再配置し、非表示にする。その後は、クラウ
ド変数「出題ジャンル」の値を調べて、値が1か4であれば画面に表示するコスチューム
(画像)をコスチューム1に変更し、値が1でも4でもなければコスチュームをコスチュ ーム2にする条件分岐プログラムがずっと実行されるようにする。プログラム2、3に関し て、それぞれメッセージ「クリック仮2」「クリック仮3」を受け取った時に、非表示にす るプログラムを実行する。プログラム4はスプライト「そのままえい語でも…ボタン」が クリックされた時に実行されるプログラムで、まず変数「全員課題」「決定が押されたか」
の値をそれぞれ0にする。その後「コスチューム#」の値が1かどうか、即ち現在のスプラ
図6-40 スプライト「目指せ!タイトル画面」が持つ画像
90
イトのコスチュームがコスチューム1であるかを調べ、コスチューム1であるならば、変 数「問題フラグ」「選択問題」「問題番号」の値をそれぞれ1にした後に、メッセージ「ク リック仮」を送ってから非表示にする。プログラム4があることにより、コスチューム1 とコスチューム2に「選択できるボタン」「選択できないボタン」としての役割を与えるこ とができる。プログラム5に関してメッセージ「個人mode」を受け取った時にプログラム が実行される。ユーザー名がyoshikentoかどうかを調べ、yoshikentoでない場合は表示さ せる。また、プログラム6に関して、メッセージ「問題選択へ戻る」を受け取った時に非 表示にするプログラムである。
スプライト「日本語と英語で高く…ボタン」「ローマ字とえいごで文字のならび…ボタン」
が持つプログラムに関しては、基本的にスプライト「そのままえい語でも…ボタン」が持 つプログラムと同じである。違いがある部分に関して、プログラム1で変数「選択問題」「問 題番号」の値をそれぞれ初期値0、初期値1にするプログラムがなく、再配置先の座標の数 値も異なっている。また、その先の条件分岐プログラムに関して、スプライト「日本語と 英語で高く…ボタン」「ローマ字とえいごで文字のならび…ボタン」では順に、クラウド変 数「出題ジャンル」の値が「2または4であるかどうか」「3または4であるかどうか」を 条件に設定した。プログラム4の中身も異なる部分があり、スプライト「そのままえい語 でも…ボタン」では変数「問題フラグ1」を使用し値を0にしているが、スプライト「日本 語と英語で高く…ボタン」「ローマ字とえいごで文字のならび…ボタン」では順に変数「問 題フラグ2」「問題フラグ3」を使用し値を0にしている。次いで、選択問題の値を順に2、
3にするようになっている。後に他のスプライトのプログラムで、変数「選択問題」の値は 参照され、数値に対応した問題ジャンルが出題されるようになっている。
91
(a) コスチューム1
(b) コスチューム2
(a) コスチューム1
(b) コスチューム2
(a) コスチューム1
(b) コスチューム2
図6-42 スプライト「そのままえい語でも…ボタン」が持つコスチューム
図6-43 スプライト「日本語と英語で高く…ボタン」が持つコスチューム
図6-44 スプライト「ローマ字とえいごで文字のならび…ボタン」が持つコスチューム
92
図6-45 スプライト「そのままえい語でも…ボタン」が持つプログラム
(4)スプライト名:「onlyQ-1ボタン」「onlyQ-2ボタン」「onlyQ-3ボタン」「all選択可ボタ
ン」「all選択不可ボタン」
スプライト「onlyQ-1ボタン」「onlyQ-2ボタン」「onlyQ-3ボタン」「all選択可ボタン」「all 選択不可ボタン」はそれぞれ1つのコスチュームを持っている(図6-46)。先生用画面(図
6-4)で使用されている。図6-47はスプライト「onlyQ-1ボタン」が持っているプログラム
である。プログラム1は旗がクリックされた時指定された座標に再配置し、非表示にする プログラムである。プログラム2はスプライト「onlyQ-1ボタン」自身がクリックされた時 に実行が開始され、クラウド変数「出題ジャンル」の値を1にする。プログラム3はメッ セージ「先生mode」を受け取った時に表示するプログラムである。プログラム4はメッセ ージ「全員mode終わり」を受け取った時に非表示にするプログラムである