Site search
2008年11月15日土曜日
ロト6とかのスクリプト
ロト6は千円くらいのしか当たったことのない千尋ですw
今回は数字選択式宝くじの番号をランダムに生成するスクリプトを考えてみました^^
でもナンバーズだったらすごく簡単ですよねwww
llCeilは切り上げされた整数になります。 llCeil(1.3) だったら 2 って感じですね。
あと、切捨てするときはllFloorで、四捨五入はllRoundです。
ロト6は1~43の番号から6つを選びますので、リストに番号を登録しといて、当たった番号をリストから削除して6回抽選するようにしました。
今回は数字選択式宝くじの番号をランダムに生成するスクリプトを考えてみました^^
でもナンバーズだったらすごく簡単ですよねwww
// ナンバーズ4
default
{
touch_start(integer total_number)
{
integer i=llCeil(llFrand(9999)); // 1~9999までの乱数
llSay(0,(string)i); // チャットで乱数を表示
}
}
llCeilは切り上げされた整数になります。 llCeil(1.3) だったら 2 って感じですね。
あと、切捨てするときはllFloorで、四捨五入はllRoundです。
ロト6は1~43の番号から6つを選びますので、リストに番号を登録しといて、当たった番号をリストから削除して6回抽選するようにしました。
// ロト6
lot()
{
list num; // 番号用リスト
integer i;
for (i=0; i < 43; i++) { // 43回ループ
num+=[i+1]; // 番号を順に登録
}
list win; // 当選リスト
integer len;
integer rand;
for (i=0; i < 6; i++) { // 6回抽選
len=llGetListLength(num); // 番号リストの長さを調べて
rand=llFloor(llFrand(len)); // 乱数発生
win+=[llList2String(num,rand)]; // 当選リストに当たった番号を登録
num=llDeleteSubList(num,rand,rand); // 番号リストから当たった番号を削除
}
string str=llDumpList2String(win,", "); // 当選番号をカンマで区切った文字列
llSay(0,str); // チャットで当選番号を表示
}
default
{
touch_start(integer total_number)
{
lot(); // タッチでlotを実行
}
}
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿