骰子,可变函数,数组切片,新按钮,不同功能

时间:2015-02-09 16:23:43

标签: javascript arrays function variables dice

我是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按钮,那么它将运行的函数将取决于删除的数字。

1 个答案:

答案 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>