基本上,我想构建一个随机发生器,它可以产生具有以下可能组合的输出:
.
. .
. . .
_
_ _
_ _ _
. _
_ .
. . _
_ . .
. _ _
_ _ .
_ . _
. _ .
最后,在开头随机添加字母 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>");