JavaScriptとActionScriptでロト6のクイックピックを書いてみた

|

まだActionScript3(以降AS3)に慣れていないので小さいプログラムを書いてみたりして練習としています。


それでもいきなりAS3脳がまだできていないのでJavascriptからまず書いて動作テストなどをします。

 

 

プログラムの教科書などに載っている重複しないn個の数を取るを考えていて、なんとなくロト6のクイックピックを作ってみま

 

した。クイックピックとはロト6を買うときに数字を選ぶのが面倒な時に勝手に数字を選んでくれる買い方です。

 

ちょっと考えただけなので考え方自体ちょっと怪しいですが以下サンプルになります。

Javascript版


サンプルページ

<script> var mn,mt,d,br,m,mr,ar,qp,st; mn = 60; mt = 6; ar = [mn]; qp = [mt]; d = document; br = "<br / / / />"; m = Math; mr = m.random; st = new Date().getTime(); for(var i=0; i<mn; i++) ar[i] = i; for(var j=0; j<mt; j++){ var r=0; for(;;){ r = m.floor(mr()*mn+1); if(ar[r]!=undefined) break; } qp[j] = ar[r]; delete ar[r]; } d.write('<b>Loto6 quick pick</b>'); d.write(br) d.write(qp); d.write(br); var et = (new Date().getTime() - st)/1000; d.write(et); </script>

AS3


サンプルページ

package { import flash.display.*; import flash.text.*; public class quickpick extends Sprite{ public function quickpick():void{ var mn,mt,ar,qp,br,st,et,t; st = new Date().getMilliseconds(); mn = 60; mt = 6; ar = []; qp = []; br = "\n"; t = new TextField(); t.text = ""; for(var i=0; i<mn+1; i++) ar[i] = i; for(var j=0; j<mt; j++){ var r=0; for(;;){ r = Math.floor(Math.random()*mn); if(ar[r]!= undefined) break; } qp[j] = ar[r]; ar[r] = undefined; } t.width = 200; t.appendText("Loto6 quick pick"); t.appendText(br) t.appendText(qp.join(",")); t.appendText(br); et = (new Date().getMilliseconds() - st)/1000; t.appendText(et); addChild(t); } } }

どちらもベンチマークをつけてみましたが、早すぎて0秒と表示されることがほとんどで
たまに時間表示が出ても、Javascript、AS3と同じくらいの時間しかかかっていないようです。

ご意見、ご感想をお待ちしております。

link

このブログ記事について

このページは、exspiderが2007年11月 4日 13:13に書いたブログ記事です。

ひとつ前のブログ記事は「FlexSDK2のActionScript編集にEclipse(エクリプス)でASDTを使う」です。

次のブログ記事は「JavaScriptとActionScriptでBig Clockを作ってみた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01