gpt4 book ai didi

javascript - 在javascript中删除矩阵中的随机数字

转载 作者:行者123 更新时间:2023-11-30 19:23:46 25 4
gpt4 key购买 nike

我正在尝试用 javascript 制作一个小型数独游戏。

我的函数执行以下操作:

  • 根据所选级别计算要隐藏的数字量。
  • 遍历矩阵并将每个单元格绑定(bind)到其对应的 HTML 输入。

    let initTable = (board, level) => {
    let table = document.getElementById('table');
    let amountToHide = calcAmountToHide(level);

    // populate HTML table
    for (let r = 0; r < 9; r++) {
    for (let c = 0; c < 9; c++) {
    let input = table.rows[r].cells[c].getElementsByTagName('input')[0];
    input.value = board[r][c];
    }
    }}

随机选择 amountToHide 单元格并隐藏它们的最有效方法是什么?隐藏只是指将单元格的值重置为空字符串。

附言我假设每个矩阵都有一个唯一的解决方案,因此我不需要在隐藏单元格时检查解决方案。

最佳答案

只选择随机值应该相当快,如果还没有清空,清空它并减少总值以隐藏计数器,但您可能希望将清空的版本存储在您自己的数据结构中,所以您不需要不必进行大量额外的 DOM 搜索。

假设您将板复制到 emptiedBoard

for ( let i = 0; i < amountToHide; ) {
let randomX = Math.floor( Math.random() * 10 );
let randomY = Math.floor( Math.random() * 10 );
if ( emptiedBoard[randomX][randomY] != '' ) {
emptiedBoard[randomX][randomY] = '';
table.rows[randomY].cells[randomX].getElementsByTagName( 'input' )[0].value( '' );
i++;
}
}

关于javascript - 在javascript中删除矩阵中的随机数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57150792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com