Как рандомизировать число, которое сообщает переменным - PullRequest
0 голосов
/ 16 мая 2018

У меня есть игра, в которой один объект из массива становится случайным невидимым. Это генератор случайных чисел, который определяет, какой объект извлекается из массива. Игрок угадывает, который исчез и побеждает.

Я хочу, чтобы при нажатии кнопки число снова было рандомизировано.

Я попытался сделать это в функции и смог успешно сгенерировать случайное число, но другие переменные не могут получить доступ к этому случайному числу.

<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, поэтому я знаю, что это может быть очень простым решением.

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете успешно сгенерировать новое случайное число.Исходный массив icons и другие переменные не должны обращаться к этой новой переменной.Скорее, эта функция должна быть в состоянии установить новый объект как невидимый.

Один из способов сделать это - изменить функцию showBack на аргумент, например:

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

Затем ваша новая функция генерирования случайных чисел может вызвать showBack со своим новым сгенерированным случайным числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...