所以我这里有一些代码: 首先简单随机#发电机和阵列选择功能:如何在JavaScript中定义多个阵列
function Rand(min, max) {
return parseFloat(Math.floor(Math.random() * max - min + 1))) + parseFloat(min);
}
function Choose(arr) {
//Returns an element from an array at random.
return arr[Math.floor(Math.random() * arr.length)];
}
和第二卡片洗牌:
function CardDeck() {
var Cd = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"];
var H = [];
var S = [];
var D = [];
var C = [];
var Result = [];
var Dk = document.getElementById("Deck Count").value;
for (i = 0; i < Cd.length; i++) {
S[i] = Cd[i] + " of Spades";
H[i] = Cd[i] + " of Hearts";
C[i] = Cd[i] + " of Clubs";
D[i] = Cd[i] + " of Diamonds";
}
if (Dk == "4") {
P = S.concat(C, D, H);
} else if (Dk == "5") {
var St = [];
for (i = 0; i < Cd.length; i++) {
St[i] = Cd[i] + " of Stars";
}
P = S.concat(C, D, H, St);
} else if (Dk == "6") {
var Rk = [];
var Wh = [];
for (i = 0; i < Cd.length; i++) {
Rk[i] = Cd[i] + " of Rackets";
Wh[i] = Cd[i] + " of Wheels";
}
P = S.concat(C, D, H, Rk, Wh);
}
for (i = 0; i < Dk * Cd.length; i++) {
var Q = Choose(P);
R = P.indexOf(Q);
Result[i] = (i + 1) + ": " + Q;
P = P.slice(0, R).concat(P.slice(R + 1));
}
document.getElementById("Cards").innerHTML = Result.join("\n");
}
有没有一种简单的方法可以让这个过程更快,或者至少可以更快地声明数组,而不是仅仅为每个数组执行a = [],b = [] ...,因为这可能很费时费力。
此外,有没有办法让在基地JS较长时间的更好的RNG(无库,因为这是建立在基础JS)
它不一定更快,但将这些数组用作属性或使用数组数组可能会更方便。 –