javascript - 骰子、可变函数、数组切片、新按钮、不同函数

标签 javascript arrays function variables dice

我是 JavaScript 新手,我需要一些想法/帮助来了解如何使我的脚本正常工作。 所以我们的想法是,你掷两个骰子,通过按下“掷骰子”按钮然后按下重置按钮来重置整个 HTML 中的所有内容。

所以事情是这样的,假设两只眼睛都显示“5”,所以“5”应该从数组/函数中删除,如果再次按下“滚动”按钮,两个骰子应该只能落在 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 按钮,因此它将运行的函数将取决于删除的数字。

最佳答案

类似这样的事情吗?您可以在控制台中查看数组,因为它变得更小,因为 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>

关于javascript - 骰子、可变函数、数组切片、新按钮、不同函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28414398/

相关文章:

javascript - 单击 Java 警告框和 ASPX 页面后字体大小增加

javascript - 注入(inject)动态内容 react

javascript - OpenLayer 坐标系

javascript - 对对象内的多个数组进行计数和循环

c++ - 为什么这段代码不起作用? (原型(prototype)中的 &array)

javascript - 如何将选定价格和输入复选框价格Jquery结合起来?

c# - 在 C# 中对数组进行切片的正确形式

java - Java中数组的使用方法

c - 在函数中传递指向 SOCKADDR_IN 和 SOCKET 的指针

function - StructScan 未知结构 slice [GO]