我試圖建立對唯一編號的超過x次一個療程在對隨機生成唯一的號碼多次
例如,如果x = 8我想產生類似:
(5,3) (1,4) (7,2) (8,6)
目前我有:
var playerArray = [0,1,2,3,4,5,6,7];
var loopLength = playerArray.length;
var player1 = 0;
var player2 = 0;
for(var i = 1; i <= loopLength;i++){
var num = Math.floor(Math.random() * playerArray.length);
if(player1 == 0){
player1 = num+1;
playerArray.splice(num, 1);
}else if(player2 == 0){
player2 = num+1;
playerArray.splice(num, 1);
}
if((player1 != 0) && player2 != 0){
alert(player1 + ' vs ' + player2);
player1 = 0;
player2 = 0;
}
}
的問題,我想,是我使用的指標分配編號,當我它們接起來它重置索引,這樣我就可以1比2,1比結束3,2和3等等。
任何幫助,將不勝感激。謝謝!
爲什麼不只是洗牌數組,讓循環運行直到'i
@LeeMeador:如果你洗牌並且總是拿走剩下的前兩名球員並與之匹配,那麼這有什麼問題? –
@JeroenVannevel也許我誤解了你。您可以發佈代碼作爲答案。但是......它必須允許在陣列的後半部分有5個和6個。你不能讓上半場的某個人與下半場的某個人相匹配。 –