FileMaker Proであたるクンつくってみた

roto
ロト6や7の番号をクイックピックするあたるクンのようなものをFileMaker Proで作ってみました。

スクリプトを利用して6、または7の数字を求める方法です。

ロト6で説明します。

6個それぞれの数字を登録するためのフィールド、枠1から枠6を用意。

1〜43までの数字をランダムに抽出するためには、Random関数を利用します。

Round(Random * 42; 0)+1

上記の計算式で1〜43までの数値をランダムに得ることができますね。

Random () 関数は、0 から 1 までの範囲内の乱数を生成するので、Random () 関数に42を掛けます。それを四捨五入して1をたすことで0から1までの数値から1から43までの数値を求めることができます。

上記の計算式を設定したスクリプトを使ってロト枠1フィールドに最初の数字を入れます。

ロト枠1用スクリプト:
フィールド設定[ロト枠1;Round(Random * 42; 0)+1]

このスクリプトを実行すると枠1に最初の数字が入ります。

ロト枠2にはロト枠1にすでに入っている数字以外の数字が入る必要があるのでロト枠2用スクリプトを作成

ロト枠2用スクリプト:
フィールド設定[ロト枠2;Round(Random * 42; 0)+1]
Loop
Exit Loop if[ロト枠::枠1 ≠ ロト枠::枠2]
フィールド設定[ロト枠2;Round(Random * 42; 0)+1]
End Loop

ロト枠2に入る数値を求めて、それがロト枠1と同じでないならループ処理を終了。そうでない場合は再度求めるという内容です。

この繰り返しでロト枠3フィールドからロト枠6フィールド用のスクリプトを作成します。
ループ抜ける条件は、ロト枠3フィールドならロト枠1とロト枠2のいずれとも同じでないように条件を先に入っている2つのフィールドと異なる場合のみにします。

ロト枠::枠1  ≠  ロト枠::枠3  and  ロト枠::枠2  ≠  ロト枠::枠3

あとは、この条件を増やしていくだけ。

枠1から枠2用のスクリプトを用意したら、あとは各スクリプトを順番に実行していくスクリプトステップを使ったスクリプトを用意。これを実行するだけです。

ロト7の場合は数字抽出の計算式を1から37を求めるために

Round(Random * 36; 0)+1

とするだけです。

FileMaker Proのファイルはこちらからダウンロードできます。
roto.zip