Presidents Quizを改造して作っています。

59 views
Skip to first unread message

M M

unread,
Mar 18, 2021, 2:44:56 PM3/18/21
to 日本App Inventorユーザー会
Screen1の中にVerticalArrangementを設置しています。
その中のボタンを押すと他のVerticalArrangementページが開きクイズがはじまります。

クイズの問題はランダムで出します。

ここまでは出来ているのですが、以下の制御が出来ずに困っています。

回答ボタンを押した後

テキストボックスが空欄だったらNotifierを呼び出し、「答えを入力してください」と出す。(proceduresで表示出来ています。)

答えがあっていたら正解と表示し、正解数をカウントアップする。
答えが間違っていたら不正解と表示し、不正回数をカウントアップする。

また、現状だと回答欄に同じ答えを入力したまま(同じ問題のまま)何度でも回答ボタンが押せてしまうため、あたかも全問正解しているかのように見えてしまいます。

if文が苦手なので、どうしたら良いでしょうか。
これは配列で答えをどこかに一度格納しないと出来ませんでしょうか。

配列の参考になるようなものがありましたら教えていただけますでしょうか。

よろしくお願いいたします。

urushi

unread,
Mar 20, 2021, 4:09:05 AM3/20/21
to 日本App Inventorユーザー会
こんにちはurushiです。

1.テキストボックスが空欄だったら
スクリーンショット 2021-03-20 16.08.21.png
rhenの場所に空欄だったら処理するもの。elseの場所に空欄でなかったら処理を入れましょう。

2.答えがあっていたら正解と表示し、正解数をカウントアップする。
3.答えが間違っていたら不正解と表示し、不正回数をカウントアップする。
こちら2点は変数や配列の使い方かと思います
スクリーンショット 2021-03-20 16.14.30.png
global変数で同一スクリーンで共通で利用ができます。
(違うprocedureであっても共通)
スクリーンショット 2021-03-20 16.22.08.png
loca変数はProcedure内だけで使え、別のProcedureでは変更したり参照したりできません。
正解数や不正解数はglobal変数で利用するといいと思います。

4.配列の参考になるようなものがありましたらスクリーンショット 2021-03-20 16.34.49.png
問題の文、選択肢、答えを2次元配列で2つ設定した例です。(自由に問題を増やしてください。)
呼び出し方は以下の様になります。
スクリーンショット 2021-03-20 16.49.49.png
配列は「select list item」で呼び出し(参照)され、上から順に番号が振られます(1,2,3…のように)
「global Quix_list」の1番目は問題の1番を指し、「Quiz」の1番は問題を、「Quiz」の5番は回答を指しています。

5.また、現状だと回答欄に同じ答えを・・・
判定後には解答欄はtextに空っぽを代入すると解答欄はクリアされます。
クイズもランダムに出すのであれば「pick a random item」を使ってQuiz_list からQuizに代入することで違う問題を出すことができます。(ランダムなので同じものが出る可能性があるので工夫が必要だと思います)

コーディングは自由な発想をしてもらいたいので基本的な使い方のみを書いています。
面白いものが完成するといいですね。

2021年3月19日金曜日 3:44:56 UTC+9 M M:

M M

unread,
Mar 21, 2021, 3:21:02 AM3/21/21
to 日本App Inventorユーザー会
urushiさん、こんにちは。
さっそくのお返事ありがとうございます!
詳しくお教えいただき大変感謝しております。
さっそくやってみます。

2021年3月20日土曜日 16:09:05 UTC+8 urushi:

M M

unread,
Mar 21, 2021, 2:04:47 PM3/21/21
to 日本App Inventorユーザー会
urushiさん、別途ご質問よろしいでしょうか。
ボタンがクリックされたら音声を出すという仕組みを作っているのですが、
音声ファイルの15個目以降が毎回再生されません。

ボタンを適当に押していき、15番目に再生されるファイル以降すべて音が出ません。
使用しているのはSoundとButton Click Doのパーツです。

ファイルサイズに上限があるなど何か理由がありますでしょうか。
よろしくお願いいたします。

2021年3月21日日曜日 15:21:02 UTC+8 M M:

urushi

unread,
Mar 22, 2021, 7:21:26 AM3/22/21
to 日本App Inventorユーザー会
こんばんは、urushiです。

音声ファイルはあまり用途がなく、詳しくは知りません。
テストコード作って試してみますね。

容量についてはアプリである以上メモリ制限はあるはずです。
変数や配列など大きすぎるとエラーは出ると思います。

2021年3月22日月曜日 3:04:47 UTC+9 M M:

M M

unread,
Mar 25, 2021, 2:56:23 AM3/25/21
to 日本App Inventorユーザー会
urushiさん、いつもありがとうございます。
今回たくさんplayerとsoundファイルを使ったプログラムを作る予定でおりましたが、
当方でも音声ファイルのサイズ(容量)確認などしてみたいと思います。

引き続きご指導頂けますと幸いです。

よろしくお願い申し上げます。

2021年3月22日月曜日 19:21:26 UTC+8 urushi:

M T

unread,
Mar 28, 2021, 4:33:41 PM3/28/21
to app-inv...@googlegroups.com
urushiさん、こんにちは。
いつもありがとうございます。

あれからいろいろやってみてはいるのですが、エラーが出てしまい、先に進まず困っております。
QuizNoに1とありますが、どのような役割をするのでしょうか。
また、ランダムに問題を出すのはどのように書けばよろしいでしょうか。

教えていただけますでしょうか。
よろしくお願いいたします。


2021年3月20日(土) 16:09 urushi <urut...@gmail.com>:
--
このメールは Google グループのグループ「日本App Inventorユーザー会」のトピックを登録しているユーザーに送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/app-inventor-jp/TEpBUhTgZz4/unsubscribe にアクセスしてください。
このグループを退会し、グループのすべてのトピックの登録を解除するには app-inventor-...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/app-inventor-jp/41d00462-cf54-44cf-9db7-b8c02573fea9n%40googlegroups.com にアクセスしてください。

M T

unread,
Mar 28, 2021, 5:46:53 PM3/28/21
to app-inv...@googlegroups.com
urushiさん、こんにちは。
すみません、配列難しいので、ひとつずつ書くことにしました。
ありがとうございました!

2021年3月29日(月) 4:33 M T <mkf...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages