как на random расставить фигуры в шахматах javascript

96
02 июня 2021, 15:50

есть вот такой код и я хочу сделать так чтобы при нажатий на button фигуры расставлялись random, как это сделать ?

html:
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
    <div class="container"> 
        <div class="left">
            <div id="field"></div>
        </div>
        <button>run</button>
    </div> 
    <script src="js.js"></script>
</body>
</html>

javascript:
let chess = [
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0],
];
function Draw() {
    let out = '';
    let m = 0;
    for(let i = 0; i < chess.length; i++) {
        for(let k = 0; k < chess.length; k++) {
            if(m % 2 == 0) {
                out += `<div class="chess-block" data-x="${k}" data-y="${i}"></div>`;
            }else {
                out += `<div class="chess-block bg-black" data-x="${k}" data-y="${i}"></div>`;
            }
            m++;
        }
        m++;
    }
    document.querySelector('#field').innerHTML = out;
    document.querySelectorAll('.chess-block').forEach(function(element) {
        element.onclick = queen;
    });
}
Draw();
function queen() {
    let x = this.dataset.x;
    let y = this.dataset.y;
    console.log(x + " " + y);
}
READ ALSO
Выбрать первый и последний элемент родителя

Выбрать первый и последний элемент родителя

Пытаюсь найти подходящее решение, использую Slick SliderИмеется вот такое:

114
Объясните фрагмент кода

Объясните фрагмент кода

Создайте новый класс ExtendedClock, который будет наследоваться от Clock и добавьте параметр precision – количество миллисекунд между «тиками»Установите...

108
При нажатии на span должны удаляться другие елементы хэдера

При нажатии на span должны удаляться другие елементы хэдера

Есть логотип и контакты, а также меню-кнопкаПри нажатии на этот menu span должен исчезнуть логотип и контакты

309