【问题标题】:How to randomize a number that informs variables如何随机化通知变量的数字
【发布时间】:2018-10-27 00:24:23
【问题描述】:

我有一个游戏,随机使数组中的一个对象不可见。它是一个随机数生成器,指示从数组中取出哪个对象。玩家猜测哪个消失并获胜。

我想要它,所以只需按一下按钮,数字就会再次随机化。

我尝试在函数中执行此操作,并且能够成功生成随机数,但其他变量无法访问该随机数。

<script>    
function sortByOrder (x, y)
    {
        x = Math.random();
        if (x <0.5) return 1; else return -1;

        if (x.order < y.order) return -9;
        if (x.order == y.order) return 0;
        if (x.order > y.order) return 9;
    }

    var icons = new Array ();

        icons [0] = {img: "Animals/Ape.png", name: "APE", id: "p1"};
        icons [1] = {img: "Animals/Bat.png", name: "BAT", id: "p2"};
        icons [2] = {img: "Animals/Cat.png", name: "CAT", id: "p3"};
        icons [3] = {img: "Animals/Emu.png", name: "EMU", id: "p4"};
        icons [4] = {img: "Animals/Yak.png", name: "YAK", id: "p5"};
        icons [5] = {img: "Animals/Dog.png", name: "DOG", id: "p6"};
        icons [6] = {img: "Animals/Cow.png", name: "COW", id: "p7"};
        icons [7] = {img: "Animals/Rat.png", name: "RAT", id: "p8"};
        icons [8] = {img: "Animals/Pig.png", name: "PIG", id: "p9"};


    var rnd = Math.floor(Math.random() * 9);

    var target = icons[rnd].name;

    var id = icons[rnd].id;

    icons.sort(sortByOrder);

    function randomize()
    {
        rnd = Math.floor(Math.random() * 9);    
    }
function showBack()
    {
    document.getElementById(id).style.visibility = "hidden";
    }
    </script>

我是 Javascript 新手,所以我知道这可能有一个非常简单的解决方案。

【问题讨论】:

  • if (x &lt;0.5) return 1; else return -1; 在任何情况下都会结束函数。
  • 您能否更具体地说明“但其他变量无法达到”的含义?你的意思是你能够成功生成一个随机数,但其他变量无法访问该随机数?

标签: javascript math random


【解决方案1】:

您可以成功生成一个新的随机数。初始的icons 数组和其他变量不需要访问这个新变量。相反,此函数需要能够将新对象设置为不可见。

解决此问题的一种方法可能是更改您的 showBack 函数以获取参数,例如:

function showBack(idArg)
    {
    document.getElementById(idArg).style.visibility = "hidden";
    }

然后,您的新随机数生成函数可以使用其新生成的随机数调用showBack

【讨论】:

    猜你喜欢
    • 2020-01-13
    • 1970-01-01
    • 2020-09-06
    • 2022-01-23
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多