

javascriptとcookieを使って、1日1回だけ引けるおみくじを作りたいと考えています。
http://oshiete.goo.ne.jp/qa/6503255.html
調べてみてこちらのソースを参考にしましたが、
ここにさらに、大吉10%、吉50%、中吉30%、凶10%といったように、
表示される結果の確率を調整したいのですが、どのように書き換えればいいのかが分かりません・・・。
どなたか教えて頂けると助かります。
どうぞよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ひとつの案ですが・・・
指定した割合でくじが出てくる関数を作っておいて、くじを引くときはそれを呼び出すとかでは?
以下、そんな一例です
※ 割合は比率(重み)を示すだけなので、合計が100である必要はありません。
※ 後半のテスト部分は不要なので、前半のomikuji関数の定義部分だけですね。
var omikuji = (function(){
var kuji = [
["大吉", 10], ["吉", 50], ["中吉", 30], ["凶", 10]
];
var i, k = 0, n = kuji.length;
for(i=0; i<n; i++){ k += kuji[i][1], kuji[i][2] = k; }
return function(){
var r = Math.random() * k;
for(var j=0; j<n; j++) if(r<kuji[j][2]) break;
return kuji[j][0];
}
})();
//テスト(1000回おみくじを引いてみる)
var res = {}, result = "";
for(var i=0; i<1000; i++){
var r = omikuji();
if(res[r]) res[r]++; else res[r] = 1;
}
for(i in res) result += (result?" / ":"") + i + ":" + res[i];
alert(result);
// 結果例
//大吉:100、中吉:297、吉:504、凶:99
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで複数キーワード検...
-
C#で、ContextMenuStripに動的...
-
JavaScriptで日付を取得したいです
-
C#OpenCv V4にのエラーに関する...
-
IEでF12を押さないとjavascriptが…
-
ジェネレーターの作り方
-
【javascript】正規表現で括弧...
-
google apps scriptの終了のさせ方
-
ジャバスプリクトについて
-
idを使わずにonclickで自身の要...
-
jspからjavascriptの変数引継ぎ
-
「nullまたはオブジェクトでは...
-
Linux バイナリ実行できない "...
-
window.openでタイトル名の指定
-
VBAでIEのボタンを押してメッセ...
-
HTML:Tableタグに対し、JavaScr...
-
ActiveXobjectが作成できない
-
Boolean型配列中のTrueの有無を...
-
JavaScriptとHTMLの課題です
-
Latexに関する質問です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
食材の期限を管理するためにGAS...
-
javaScriptのコードの修正をお...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
JavaScriptでテーブル内?に矢...
-
ジェネレーターの作り方
-
HTMLで作った時報アプリが動き...
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
setTimeoutによる繰り返しが途...
-
イラレでナンバリングする方法
-
定積分の近似値を計算する関数c...
-
pdfに丸秘などのスタンプを...
-
【JavaScript】数当てゲームを...
-
シンプルなweb版スタンプラリー...
-
翌月を取得するGASが分かりません
おすすめ情報