我必须让用户选择
掷骰子按顺序排列,以便成为可能的最大数字。
每轮后,都会添加值。选定次数之后的最高分是获胜者。
我无法超越骰子的数量。
我可以获得所需的骰子数量,但不能得到正确的回合。
然后,持有得分的所有球员得分的计分板也按降序排列,直到你退出游戏。所以它有领导板类的东西。所以它可以选择新游戏。用户名输入等
到目前为止我的代码:
<html>
<head>
<script>
function roll() {
var result = 0;
var charcode = 0;
result = Math.ceil(Math.random() * 6);
charcode = String.fromCharCode(9856 + result);
return charcode;
}
function play() {
// create dice array
var humanDice = new Array();
var computerDice = new Array();
// totals
var humanTotal = 0;
var computerTotal = 0;
// score
var score = "";
// roll the dice
var i = "";
var j;
var z = prompt("Please enter number of turn you want", 2);
var n = prompt("Please enter number of die you want to play with", 2);
for (i = 0; i < n; i++) {
for (j = 0; j < z; j++) {
humanDice[i] = roll();
humanTotal += humanDice[i];
computerDice[i] = roll();
computerTotal += computerDice[i];
}
}
// display human dice
score = humanDice.sort(function (a, b) {
return b - a;
});
document.getElementById('humanDice').innerHTML = score;
// display computer dice
score = computerDice.sort(function (a, b) {
return b - a;
});
document.getElementById('computerDice').innerHTML = score;
document.getElementById('humanTotal').innerHTML = humanTotal;
document.getElementById('computerTotal').innerHTML = computerTotal;
}
</script>
</head>
<body>
<input type="button" onclick='play()'>
<h3>Human</h3>
<div id='humanDice' style="font-size: 64px; line-height: normal;"></div>
<p id='humanTotal' class='total'></p>
<div id='computer' class='playerArea'>
<h3>Computer</h3>
<div id='computerDice' style="font-size: 64px; line-height: normal;">
</div>
<p id='computerTotal' class='total'></p>
</div>
<div id='roll'></div>
</body>
</html>
答案 0 :(得分:0)
您应该将这些属性(roll,total等)组合在对象内部以保持清洁。然后你有playerH.total和playerC.rolls等等。 您的基本错误是骰子阵列中的索引。 在 i 和 j 上的两个循环应该会导致回合次数diceset 条目,您将覆盖第一个i结果! https://jsfiddle.net/csqmxxey/1/
重要的部分:
for(let i = 0; i < dieset; i++){
for(let j = 0; j < rounds; j++){
var idx = j * dieset + i;
humanDice[idx] = roll();
// ...
}
}