我是JavaScript的新手,我需要一些想法/帮助,以及如何使我的脚本工作。 所以我的想法是,你滚动两个骰子,按下一个" roll"按钮,然后是一个重置按钮,在整个HTML中重置所有内容。
所以这是交易,让我们说两只眼睛都显示出来" 5"所以" 5"应该从数组/函数中删除,如果" roll"按钮按下agian,两个骰子应该只能在1,2,3,4和6上着陆,然后如果两个骰子显示相同的数字,它将继续从数组/功能中删除数字。
其余按钮,完全重置所有内容。
function rollDice() {
//var points = new Array(1,2,3,4,5,6);
var a = new Array(1,2,3,4,5,6);
var die1 = document.getElementById("die1");
var die2 = document.getElementById("die2");
var status = document.getElementById("status");
var d1 = a[Math.floor(a.length * Math.random())];
var d2 = a[Math.floor(a.length * Math.random())];
var diceTotal = d1 + d2;
die1.innerHTML = d1;
die2.innerHTML = d2;
if(d1 == d2){
function nyroll() {
var b = new Array(1,2,3);
var die1 = document.getElementById("die1");
var die2 = document.getElementById("die2");
var status = document.getElementById("status");
var d1 = b[Math.floor(b.length * Math.random())];
var d2 = b[Math.floor(b.length * Math.random())];
var diceTotal = d1 + d2;
die1.innerHTML = d1;
die2.innerHTML = d2;
}
这就是我的功能。我想知道,如果我可以使用某种变量函数,对于onClick按钮,那么它将运行的函数将取决于删除的数字。
答案 0 :(得分:1)
d1 == d2
值会从可用数字数组中删除。
var a = [1, 2, 3, 4, 5, 6];
var die1 = document.getElementById("die1");
var die2 = document.getElementById("die2");
var numbersLeft = document.getElementById("numbersLeft");
function rollDice() {
console.log(a);
if (a.length > 0) {
var d1 = a[Math.floor(a.length * Math.random())];
var d2 = a[Math.floor(a.length * Math.random())];
die1.innerHTML = d1;
die2.innerHTML = d2;
if (d1==d2) {
console.log(d1);
var index = a.indexOf(d1);
if (index > -1) {
a.splice(index, 1);
}
}
}
else { alert('all numbers have been used.'); }
}
function reset() {
a = [1, 2, 3, 4, 5, 6];
die1.innerHTML = '';
die2.innerHTML = '';
}
.die {
border: 1px solid black;
width: 30px;
height: 30px;
display:inline-block;
margin:10px;
padding:10px;
text-align: center;
vertical-align: middle;
background-color:lightgray;
}
<a href="#" onclick="rollDice()">Roll Dice</a><br/><br/>
<a href="#" onclick="reset()">Reset</a><br/><br/>
<div class="die" id="die1"></div>
<div class="die" id= "die2"></div>