2014-02-15 102 views
0

我試圖做一個擲骰子游戲的迷你版,只是爲了學習一些循環和if語句。這是我得到了多少。現在,我有種堅持,但因爲:如何隨機化每個骰子的不同數字?

1)當我點擊卷切成小方塊按鈕,它會顯示在所有6顆骰子相同的號碼。我如何做到這一點,以便爲每個骰子隨機分配一個不同的數字?

2)我只能點擊卷切成小方塊按鈕一次,如果我想滾其他時間我都重新加載頁面才能做到這一點。這是爲什麼?

這裏是我的HTML:

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 

<link rel="stylesheet" type="text/css" href="mycss.css"> 
<script src="myjavascript2.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

</head> 

<body> 


<button id="button" onclick="rolldices()">Roll dices</button> 

<span id="dice1">0</span> 
<span id="dice2">0</span> 
<span id="dice3">0</span> 
<span id="dice4">0</span> 
<span id="dice5">0</span> 
<span id="dice6">0</span> 


<br><br><br> 
<div id="container"> 
<div id="one">1</div>   <span>0</span> 
<div id="two">2</div>   <span>0</span> 
<div id="three">3</div>   <span>0</span> 
<div id="four">4</div>   <span>0</span> 
<div id="five">5</div>   <span>0</span> 
<div id="six">6</div>   <span>0</span> 
<div id="total">Total</div>  <span>0</span> 
</div> 


</body> 
</html> 

這裏是我的javascript:

var numbers = [ '1', '2', '3', '4', '5', '6' ]; 

var dices = [ 'dice1', 'dice2', 'dice3', 'dice4', 'dice5', 'dice6' ]; 

var dice_value = Math.floor((Math.random()*numbers.length)); 

function rolldices() { 

for (var diceindex=0; diceindex<dices.length; diceindex++) { 

document.getElementById("dice" + (diceindex + 1)).innerHTML=numbers[dice_value]; 

} 

} // end of rolldices() 

我在這裏創造一個小提琴:http://jsfiddle.net/h26DD/

+0

絕對無關,與編程,但「骰子」是「死」的複數;-) –

+0

這是我的第二語言,所以我一點也不在乎笑。 –

+0

@Grim ...此外,稱這是DICE使得它更易於閱讀如果烏拉圭回合沒有英語/美國TBH:http://jsfiddle.net/ZL4fN/:P –

回答

2

你需要把var dice_value = Math.floor((Math.random()*numbers.length));內環路,或者將始終如一。

+0

我甚至嘗試之前,我張貼,但它沒有工作,但是當我試了第二次它沒有..什麼的F ... –

+0

這就像當你嘗試插入一個分領先優勢,並且它不所以你把它翻過來,但它仍然不合適,所以你再把它翻過來,然後它適合:-S –