記事一覧

クイックピック

 このサイトのトップページの下の方にあるあれ。
 最初に作った時はこんな処理をしていた。

 1~43の間から乱数を拾う→2つ目の乱数も1~43の間から拾う→1つ目の乱数とかぶったら拾い直し→以下、乱数を6つ拾うまで同様の処理・・・以下略

 誰がどう考えたって効率が悪いでしょ。それは解ってるんだけど、知識がなければ知恵もないので、実際のロトの抽選方法と同様の処理がどうしても思い浮かばなかった。
 まあ、理屈の上ではこれでもどの値も均等に拾えるし、今のCPUにとっては一瞬で終わる処理だけど、永久に処理が終わらない事もまた理屈の上ではあり得る訳で、やっぱりこのままだと気持ちが悪い。
 という事で、ない知恵を絞ってもう一度考えてみた。
 要するに、乱数を1回拾う毎に、次の処理では前の処理で使った乱数の範囲を1つ狭めたそれを使えば、無駄に同じ処理を繰り返す必要がなくなる訳だ。
 で、その方向で考えていたのだが、単に拾った乱数をそのまま使う方法だと、乱数がかぶった時の処理がえらい煩雑になる。やって出来ない事はないが、無駄に長いコードは書きたくない。能力がないくせに理想は高いのである(笑)。
 うーむ、どうすればいいんだ?
 で、配列を使ったら何とかなるんじゃないかなぁと。
 イメージとしては、

 あらかじめ配列を用意する→乱数nを拾う→n番目の配列の要素を取り出す→残りの要素で配列を組み直す→以下繰り返し

 こんな感じ。
 問題は、配列をこんな風に操作出来るかって事。
 何かいい関数あるかなぁ・・・、あ、あるじゃん。無知とは恐ろしい(笑)。

 という事で現在のものが完成したのだが、こんな程度のものを作るのに、こんなに苦労していてはいかんなぁ。
 もっとも、JavaScriptを思うように使いこなせるようになったとして、一体何をするつもりなのか自分でも判らないんですけどね。

昨日の日記

 午前中、雨がぽつぽつ降る中、本屋に行き『将棋世界』を買い、本屋の近くのパチ屋さんを覗いてから帰途につく。
 途中にあるコンビニで弁当等を買い帰宅。
 弁当を食って、適当にブログを更新して、その後、布団にもぐって『将世』を読んでいたら眠ってしまった。
 日付が変わってから目が覚め、『きらきらアフロ』を観る。小腹が空いたので、昼間に買っておいたカップ麺を食べ、今これを書いている。

 客観的に一日の自分の行動を書いてみた。
 何だかなぁ。