基本的に、次の可能な組み合わせで出力を生成できるランダマイザーを構築したいと考えています。
.
. .
. . .
_
_ _
_ _ _
. _
_ .
. . _
_ . .
. _ _
_ _ .
_ . _
. _ .
最後に、文字 A と B を先頭にランダムに追加します。
例えば:
A . _
B _ _
A . . _
A _ .
B . _ _
A .
etc.
JavaScript でこれを達成する方法のアイデアはありますか?
基本的に、次の可能な組み合わせで出力を生成できるランダマイザーを構築したいと考えています。
.
. .
. . .
_
_ _
_ _ _
. _
_ .
. . _
_ . .
. _ _
_ _ .
_ . _
. _ .
最後に、文字 A と B を先頭にランダムに追加します。
例えば:
A . _
B _ _
A . . _
A _ .
B . _ _
A .
etc.
JavaScript でこれを達成する方法のアイデアはありますか?
var a = [
".",
". .",
". . .",
"_",
"_ _",
"_ _ _",
". _",
"_ .",
". . _",
"_ . .",
". _ _",
"_ _ .",
"_ . _",
". _ ."
],
b = ["A ", "B "];
function getRandom() {
return b[Math.random()*b.length|0] + a[Math.random()*a.length|0];
}
getRandom(); //"A ."
getRandom(); //"A _ _ _"
getRandom(); //"B . _ _"
ループあり:
var l = 20;
while(l--) console.log( getRandom() );
ここに別の方法があります:http://jsfiddle.net/8AHaw/
function makeid() {
var text = "";
var possibleChars = "._";
var possibleLetters = "AB";
text += possibleLetters.charAt(Math.floor(Math.random() * possibleLetters.length));
for( var i=0; i < Math.floor(Math.random() * 3)+1; i++ )
text += " " + possibleChars.charAt(Math.floor(Math.random() * possibleChars.length));
return text;
}
for (var i=0; i < 20; i++)
$("body").append("<div>" + makeid() + "</div>");