75才からのモバイルアプリ作成

MIT App Inventor 2 を使ったアプリ作成

MIT App Inventorで遊ぶ (運試しお助けアプリ2)

2024-03-21 07:40:18 | 日記

1組ではなく3組のLOTO番号を作ってくれるアプリにした。本当は、任意の組数を作ってくれるアプリだといいのだが。。。ListViewに表示するだけなら、簡単に作れそうだが、やはり体裁も考えればLabelに表示したい。

今回、当方参考までに下の方にListViewで同じ番号を表示してみた。う〜ん、やっぱりLabelでの表示の方がいいや!

一つの方法としては、10組位Labelを作って非表示にして、任意に組数を設定できるようにすれば、それらしく見えるかな。。。

実行画面:

スクリーンのデザイン:

基本的に前回と同じ。緑色の枠部分がListView。

プログラム(ブロック):

1. 変数と初期画面の設定

変数allList => 3組のLOTO6又はLOTO7の番号が必要だが、最大21個の数字となる。これを全て格納するlist型変数。

変数lottoNumList (lotoNumListとすべき) => 1組のLOTO番号を格納するlist型変数

変数pickCount => LOTO6又はLOTO7いずれが選択されたかを格納する変数

初期化時には6つの数字の組を6組表示するので、7番目、14番目、21番目のLabelは非表示に設定(procedure "visibleToFalse")。

Switchの右側のLabel(LOTO7)の文字色は薄グレーに。

2. procedures "visibleToTrue" と "visibleToFalse"を設定。

switchのOn, Off状態に合わせLabelの色も変更する。このあたりは、前回(運試し1)と同様。

3. 前回と同じ。ポイントは、重複した番号でなければlottoNumListに追加して、重複のない数字の組を作る。

4. 3組 (list1/list2/list3) のLOTO番号(6又は7)を作り、それを格納する変数を設定。

    procedure "makeRandomNumList"で3組のLOTO番号を作成し、上記変数に割り当てる。

最後にassignNum1, assignNum2, assignNum3を実行しLabelに表示し、ListViewにもそれぞれのlistを表示させる。

5. assignNum1, assignNum2, assignNum3が、3組の6又は7つのLabelに番号を表示させる。LOTO7の時は(pickCountが7の時)、7つ目のLabelを表示させる。う〜ん、もう少しスマートに出来ないかな?

6. リセットボタンの設定。番号を表示する全てのLabel及びListViewを初期化(ブランクに)する。

 



コメントを投稿