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を初期化(ブランクに)する。