Javascript 由于某些原因,掷骰子游戏变量未定义
我创建了一个掷骰子游戏。一组图像用于骰子。页面上的两个骰子代表第1局和第2局。骰子值最高的游戏是赢家。显示在页面上的骰子应该以相同的骰子值开始,直到用户刷新页面。当用户刷新页面时,骰子将显示新的随机骰子值。骰子上方将显示一条消息,说明玩家一或二是赢家。然而,在比赛开始前,会出现一条消息,说明比赛是平局。为什么我的最高掷骰和赢家变量未定义Javascript 由于某些原因,掷骰子游戏变量未定义,javascript,Javascript,我创建了一个掷骰子游戏。一组图像用于骰子。页面上的两个骰子代表第1局和第2局。骰子值最高的游戏是赢家。显示在页面上的骰子应该以相同的骰子值开始,直到用户刷新页面。当用户刷新页面时,骰子将显示新的随机骰子值。骰子上方将显示一条消息,说明玩家一或二是赢家。然而,在比赛开始前,会出现一条消息,说明比赛是平局。为什么我的最高掷骰和赢家变量未定义 <script type="text/javascript"> var highestDiceRoll = 0; var winner; fun
<script type="text/javascript">
var highestDiceRoll = 0;
var winner;
function rollDice () {
player1 = ['<img src="images/dice1.png" alt="Italian Trulli">',
'<img src="images/dice2.png" alt="Italian Trulli">',
'<img src="images/dice3.png" alt="Italian Trulli">',
'<img src="images/dice4.png" alt="Italian Trulli">',
'<img src="images/dice5.png" alt="Italian Trulli">',
'<img src="images/dice6.png" alt="Italian Trulli">'];
player2 = ['<img src="images/dice1.png" alt="Italian Trulli">',
'<img src="images/dice2.png" alt="Italian Trulli">',
'<img src="images/dice3.png" alt="Italian Trulli">',
'<img src="images/dice4.png" alt="Italian Trulli">',
'<img src="images/dice5.png" alt="Italian Trulli">',
'<img src="images/dice6.png" alt="Italian Trulli">'];
var randPlayer1 = Math.floor(Math.random() * player1.length);
var randPlayer2 = Math.floor(Math.random() * player2.length);
var diceRolls = player1[randPlayer1] + " " + player2[randPlayer2];
if (player1 > player2) {
highestDiceRoll = player1;
winner = "Player 1";
} else if (player2 > player1) {
highestDiceRoll = player2;
winner = "Player 2";
} else {
winner = "GAME IS A DRAW";
}
document.write("The winner is " + winner + "<br />");
return diceRolls; //return to display dice on page
}
document.write(rollDice());
</script>
var highestDiceRoll=0;
var赢家;
函数rollDice(){
player1=['',
'',
'',
'',
'',
''];
player2=['',
'',
'',
'',
'',
''];
var randPlayer1=Math.floor(Math.random()*player1.length);
var randPlayer2=Math.floor(Math.random()*player2.length);
变量diceRolls=player1[randPlayer1]+“”+player2[randPlayer2];
如果(播放器1>播放器2){
最高掷骰子=玩家1;
获胜者=“玩家1”;
}else if(player2>player1){
最高掷骰子=玩家2;
获胜者=“玩家2”;
}否则{
winner=“比赛是平局”;
}
记录。填写(“获胜者为“+winner+”
);
return diceRolls;//返回到第页显示骰子
}
document.write(rollDice());
问题是您正在比较两个数组player1
和player2
。您应该比较随机值randPlayer1
和randPlayer2
var highestdicerll=0;
var赢家;
函数rollDice(){
让player1=['',
'',
'',
'',
'',
''];
让player2=['',
'',
'',
'',
'',
''];
var randPlayer1=Math.floor(Math.random()*player1.length);
var randPlayer2=Math.floor(Math.random()*player2.length);
变量diceRolls=player1[randPlayer1]+“”+player2[randPlayer2];
如果(随机播放者1>随机播放者2){
最高掷骰子=玩家1;
获胜者=“玩家1”;
}否则如果(randPlayer2>randPlayer1){
最高掷骰子=玩家2;
获胜者=“玩家2”;
}否则{
winner=“比赛是平局”;
}
记录。填写(“获胜者为“+winner+”
);
return diceRolls;//返回到第页显示骰子
}
document.write(rollDice())
player1>player2
毫无意义,因为这是两个图像数组。将if-else部分中的player1
和player2
替换为randPlayer1
和randPlayer2
在函数中声明变量。非常感谢。