• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Как сделать проверку на неповторение элементов?

4SV
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
14 Дек 2018
Сообщения
180
Реакции
29
В общем сделал такой сайт, нужно добавить проверку чтобы элементы по вертикали не повторялись, думал как-то через массив реализовать, но слишком много циклов будет, как-то по говнокодски будет выглядеть, есть более оптимизированный вариант? И проверка на победу, тоже как-то костыльно выглядит...
JavaScript:
Expand Collapse Copy
    let attempt_element = document.getElementById("attempt");
    let username_element = document.getElementById("username");
    function getRandomInt(max) {
        return Math.floor(Math.random() * max);
    }

    let username = prompt("Enter your name: ");
    if (username == "" || username == null){
        username = "Player";
    }
    username_element.innerHTML = username;

    let attempts = 0;
    let arr = new Array();
    function generate(){
        attempts++;
        if (attempts <=3){
            attempt_element.innerHTML = "Attempt " + (attempts) + " of 3";
            for(let i = 1; i < 10; i++)
            {
                let random = getRandomInt(8)+1;
                arr[i] = random;
                let slot_element = document.getElementById("slot" + i);            
                slot_element.src = "img/" + random + ".png";
            }
            if (arr[0] == arr[3] && arr[0] == arr[6] || arr[1] == arr[4] && arr[1] == arr[7] || arr[2] == arr[5] && arr[2] == arr[8])
            {
                alert(username + ", you win!");
                attempts = 0;
                attempt_element.innerHTML = "Attempt " + (attempts) + " of 3";
               
            }
        }
        else if (attempts == 4){
            attempts = 0;
            alert(username + ", you lose!");
            attempt_element.innerHTML = "Attempt " + (attempts) + " of 3";
        }
    }
1663770797607.png
 
Ничего не понял(
 
Нужно чтобы в столбце не было одинаковых элементов.
Так у тебя должен же быть массив первой колонкой и так далее почему ты не можешь сравнить элементы? если одинаковые, то меняешь один из них
 
Так у тебя должен же быть массив первой колонкой и так далее почему ты не можешь сравнить элементы? если одинаковые, то меняешь один из них
мой код работает, просто не самым эффективным способом
для каждой колонки массив, это точно будет лучше?)
можно и двумерный, ну кода от этого я не думаю что уменьшится
 
Назад
Сверху Снизу