Loto6のソフトを作る僕の毎日を、思い出として書き残す。暇を見つけては、Lotoソフトを作り続けているのだが。時間が経つと、はてこの機能は何だったかなと思うような事がある。使い方を書き残しておかないとサッパリ分からなくなりそうだ。現時点で、当せん番号取得、ランダム数字、マニュアル数字の入出力が完成している。当せん番号ファイルの読込まれていないので寒々しい画面である。使用で当せん番号ファイルが無い時には、ファイル読込みボタンの隣にある「当せん番号取得」ボタンでWebから取得する。この際に、ファイルの保存場所は自動でデスクトップになり、変更は不可である。ネット状況によるが、僕のPCでは長くても10秒くらいで取得が完了する。上に赤字で「当せん番号ファイルが読み込まれていません」の表示がある。当せん番号の取得中は、このメッセージの下にプログレスバーで進行状況が分かる。せん番号ファイルはロトの種類毎にファイル名が自動で付くが、拡張子を変更しなければファイル名変更は可能である。ファイル読込み時はファイル名ではなくて拡張子で選別されている。ファイルデータにはロト種類を表すヘッダが書かれており、これも参照して選別している。ロト種類に応じてファイルを読み込むには、あらかじめロト名をボタンで選択しておく。このロト名の数字とファイルデータが一致しないと、読込みは出来ない。ロト名ボタンは画面中央の上の方にあり、5・6・7の三種から選択する。5はミニロトを表している。当せん番号ファイルを読み込むと、画面の様子が一変する。読み込んだファイルの最新回の当せん数字情報が、一番上に表示される。画面右寄りには、1~50までの数字ボタンがありロトの種類によってボタンが淡色で無効になる。数字が赤色のボタンは、最新回の当せん数字を表して識別を容易にしてある。ファイルを読み込むと、各種ボタンが有効化されて操作が可能になる。ここでロト名ボタンを変更すると、1~50の数字ボタンは無効化する。ロト名ボタンを元の数字に戻すことで、数字ボタンは復活する。ランダムで数字を組み合わせる。いろいろな設定ボタンは、あらかじめロト種類に応じて既定値が設定されている。現時点で既定値の変更は出来ないが、必要に応じて設定値を変える事は出来る。この画面は、右にある「繰返し排除」を1に設定してから下方の「ランダム数字」を押した。繰返し排除は、同じ数字が続けて当せん番号になる事で、1を選ぶと最新回の番号が排除される。ランダム自動選択する時に排除される数字ボタンが、淡色になっている。背景色が青色のボタンが選択された数字で、左にこの数字の組み合わせ一覧表が出る。表のすぐ下にはプログレスバーがあり、当せん番号取得のプログレスバーとは違い進行状況を正しく示す。し排除」を2にすると、この例では「11」の数字ボタンが淡色になった。11が最新回とその前の回の当せん数字に含まれているので、このように排除された。その他の最新回の数字は赤色のままで、ボタンが有効である。「繰返し排除」を0にすれば、すべての数字からランダムに選択される。「繰返し排除」を大きく設定すれば排除すべき数字が無くなり同様である。ちなみに、過去データを検証したところ、連続5回という繰返しがあった。1~50の数字ボタンの下方にある「数字指定クリア」を実行する。これまでに選択されていた背景色が青色のボタンが、普通の色のボタンに変わる。同時に、画面左の数字組み合わせ一覧表もクリアされる。「数字指定クリア」の左にある「数字指定にランダム数字を反映する」は、ランダムに選択した数字のボタンの背景色を青色にする。これは、ランダム選択した数字を対象に、諸条件を変化させて結果を観察するためにある。過去の当せん数字と一致した数字を排除する。ロト6では、この値を6にすると6つの数字がすべて一致した数字の組み合わせが排除される。それよりも小さい値ならば、以下のように数字の一部が一致すると排除される。値を4にすると過去の当せん数字が「02,08,11,35,37,38」、組み合わせ数字が「11,20,35,37,38,42」の場合に並び順は無関係に、11,35,37,38が一致するので排除される。毎日少しずついろいろ雑用もあるので、またこればかりやってもいられないし。毎日、少しずつLotoプログラムを進めている。それが、このプログラム遊びの基本だと思っている。昨日は、データダウンロードの不具合を修正した。今日は、見た目の部分を少しだけ。あと、先日にやったのだが。ランダム数字を、数字選択に反映するようにしてある。他には、数字の選択をクリアするボタンも追加した。組み合わせ数字を一覧表示する表に、選択反転する表示を制限。選択はセル単位ではなく、行単位で選択するようにした。ここまでやったので、そろそろ当たりそうな数字を自動で抽出する部分に取り掛かろうかと思う。ところで、この画像はWindows7付属の画面キャプチャで保存したもの。見ると、プログラムが動作中なので左下の組み合わせ数字の情報の行末がかすれている。実は初めに、普通にPrintScrボタンで保存したのだが不都合があった。それはプログラムの進行状況を表示するプログレスバーの緑色が、まったく画像にとれなかった。カーソルの矢印が画像に残せないのと同じ現象かな。そこで、画面キャプチャでやったら、こうなった。思わぬところとは、考えが足りなかったという事になるのだが。昨夜Lotoプログラムのテスト中に、当せん番号を取得でエラーになった。このエラーはダウンロードのデータをベリファイというか、ごく簡単に検査する部分で見つかった。「当せん番号の取得に失敗しました」のメッセージが出た時には、何が起きたのか見当がつかなかった。調べると、Webからダウンロードは出来ていてファイルへの出力も正常に完了している。ファイルの中身を見ると、別段あやしい所もなく正常に見える。あれこれ考えながら、コードをステップで進めると確かに異常になっている。ファイルに書き出されたデータに異常はないのだが・・・しかし、このように勝手に異常がないと思い込んでしまうのが、一番の悪いところ。データに異常があるからこそベリファイで異常を検出しているのに、検査方法が悪いのかと疑って。自分で間違いないと思って作った検査なのに、それを疑いだしたらキリがない。エラーの原因を突き止めた。昨日が何の日か、4月1日である・・・なるほど、やっと判った。プログラムは、ロトのミニ、6、7の3つの当せん番号をみずほ銀行からダウンロードする仕様。昨日のエラーは、ロト6の当せん番号取得で発生した。他のミニと7のダウンロードは試していないが、明らかに6は異常が発生する原因があった。それは、日付であり曜日である。月の変わり目に、新たな月が始まってから抽選が行われていない日に発生する事が判った。昨日の4月1日は金曜日、ロト6の抽選は月曜と木曜で、4月になってからの抽選は行われていない。三段階のダウンロードである。去年分の扱いで先月分までのダウンロード。直近一ヶ月のダウンロードで全てが完了する。ここで、今回のように月初で直近の当せん番号が存在しないとどうなるか?その時にWebページに今月分は無いよとメッセージでもあれば良かったのだが・・・ところが、先月分の当せん番号が直近のページに表示されていた。これが直近の当せん番号ページで、下が先月のページである。見は同じだが一箇所の違いがある。直近のページには上の方に更新日が表示されているが、他は同じ内容である。先月分と直近の今月分が同じなら、ダウンロードしたデータは最後の一月分が重複する事になる。実際に今回は、1050回~1058回までの9回分を重複してダウンロードしていた。いい加減な気持ちで出力ファイルを眺めていたので、最後の9回分の重複に気づかなかった。数字ばかり並んでいるので、先頭からダァーっと眺めただけでは・・・ともかく、こうしたいい加減な人間が作った検査部分が、まともに働いて自分の過ちを見つけたからエライ。何がエライのか、誰がエライのかなんとも言えないようだが。自分で選ぶ数字ロト数字を自分で選ぶな事など、まったく考えていなかったのだが。なにかの気分次第で、そのような状況もあるかと思って・・・どのように数字を入力したら良いのか考えた末に、ボタン式にしてみた。昨日の試作では数字を打ち込む方式であったが、今日は数字ボタンを押す方式にした。http://yuz1.blog.shinobi.jp/Entry/1966/そして、またあたり前のように外観が変わっていく。この新たな押しボタン式は、ビジュアル的に分りやすいと思う。なによりも、数字キーを押さなくて良いので面倒がない。ニミ、6、7とそれぞれ一番大きな数字が異なる。(ミニは5と読み替えている)そのれについては、無効なボタンを淡色にして新たなセットが出来ないようにしてある。ロトの種類を変えると、最大数字やら他の設定値も自動で再設定されるので入力ミスがなくなる。これで入力フォームの粗方が出来たと思う。これから先が最重要なところで、推奨数字をどのようなアルゴリズムで選出するのかである。ロトのミニと7も対応ロトについては、初めはロト6しか知らなかった。このような事には興味がなかったし、今でも予想など出来る訳ないと思っているから。最近、と言ってもかなり経つのだろうが、ロト7も始まっている。プログラムの基本的なところはミニでも7でも同じだから。パラメータを変えて渡すだけで、すぐに対応できる。そこで、6だけでなくミニと7も扱えるように少し改造してみた。ミニというのは、ようするにロト5という事なんだな。なんで、ミニなどという呼び名にしたのだろうか。ミニロトの第一回が始まっている。ロト6の第一回が始まっている。これ、順序が逆ならミニという呼び名が理解できるのだが。何かがあって、それと比較してミニと言うのが普通だと思う。何もないところから、いきなりミニという命名をする発想が分からない。そんな事はどうでも良いとは思うが・・・これはミニの当せん番号を取得して、適当に組み合わせをしたところ。今度は、ロト7の組み合わせを試す。毎度の事であるが、いつも思いつきで機能の追加をするので画面がコロコロ変わる。モールス信号のプログラム記事を見ると、まったく笑えるほどに違った物になっている。昨日に続いて、ロト6のソフトに機能を付け足した。自分で好きな数字を選んで、その組み合わせを調べられる。試しに、適当に数字を選んだのだが。いうのは、あんがい悩んでしまう・・・ただ適当にやってみたら、1716の組み合わせになるようだ。これを調べたところ、1009回開催の当せん番号であった。何かと言うと、数字一致の排除で6を指定している。これは、6個の数字が一致したものを抜いたという事である。したがって、それは一等の当せん番号になる。そこで次に、数字排除を5にして試してみた。すると、不採用が130組になった。ここで、不採用130組のうち1組は一等で、残り129組は二等になる訳だ。?いやいや、そのような計算ではない、129回というのが間違いだ。ブログをご覧の皆さまへこのブログをご覧になって生じるいかなる問題に対しても、当方は一切の責任を負いません。PR忍者ブログ[PR]。