【问题标题】:Display a grid in html在 html 中显示网格
【发布时间】:2016-07-24 18:35:48
【问题描述】:

我现在有了生成网格的代码。例如,此任务将完成 10 分钟,参与者将被要求回答尽可能多的问题。每次他们输入网格中阴影方块数量的答案时,都会出现一个新网格。 我目前的问题是,给出答案后,程序需要评估答案是否正确,并加载新的网格。此过程应自行重复,直到 10 分钟结束,并且在程序验证答案是否正确后,需要更新正确答案的数量。 该任务是使用 PyCharm 编辑器编写的,我目前无法让这些序列自行重复,直到为任务设置的时间结束。

代码:

{% block styles %}
<style>

table, tr, td {
  border: 1px solid #000000;
}

.bg-black {
  background-color: #808080;}

</style>
{% endblock styles %}


{% block scripts %}

<script>



var effort_correct, effort_incorrect, effort_attempt, answer;
var matrix = [];



var height = Math.floor((Math.random() * 7) + 5);
var width = Math.floor((Math.random() * 7) + 5);
var gridSize = height * width;
var solution = 0;

    for (var i = 0; i < height; i++) {
        matrix[i] = [];
        for (var j = 0; j < width; j++) {
            if (Math.random() < 0.5) {
                matrix[i][j] = 1;
                solution++;

            } else {
                matrix[i][j] = 0;
            }
        }
    }



function render(grid) {


    var html = '<table><tbody>';
    for (var k = 0; k < height; k++) {
        html += '<tr>';
        for (var l = 0; l < width; l++) {
            html += grid[k][l] ? '<td class="bg-black">&nbsp;&nbsp;&nbsp;&nbsp;</td>' :
                    '<td>&nbsp;</td>';
        }
        html += '</tr>'
    }
    html += '</tbody></table>';
    return html;

}

    document.querySelector('#grid').innerHTML = render(matrix);



function score(answer) {
    if (answer == solution) {
        effort_correct++;
    } else {
        effort_incorrect++;
    }
    effort_attempt++;


}

</script>

{% endblock scripts %}

{% block title %}
Task 1: Stage 1
{% endblock %}

{% block content %}

<head>
<style>
    p.text-center {text-align: center;}
    p.thick {font-weight: bold;}
</style>
</head>

<p-class text-center>

     <div id="grid"></div>




    <br>
    <br>

    {% formfield player.answer with label="The number of shaded squares is:" %}

    <br>
    <br>

    Number of correct answers: {{score}}

</p-class>

<br>
<br>


<button onclick="score(player.answer)">Submit</button>

{% endblock %}

【问题讨论】:

  • 您尝试过任何事情吗?
  • 欢迎来到 Stack Overflow。 Read here 了解有关如何创建最小、完整和可验证问题的更多信息。

标签: javascript gridster


【解决方案1】:

我用示例创建了一个简单的小提琴,希望对您有所帮助: https://jsfiddle.net/ilya_sharonov/wxov81zs/

    var ar = [
      [0,1,0,1],
      [1,0,1,0],
      [0,0,1,1],
      [1,1,0,0],
    ];

function render(arr) {
  var html = '<table><tbody>';
  for (var i=0; i<arr.length; i++) {
    html += '<tr>';
    for (var j=0; j<arr[i].length; j++) {
      html += arr[i][j] ? '<td class="bg-black">&nbsp;&nbsp;&nbsp;&nbsp;</td>':
                          '<td>&nbsp;</td>';
    }
    html += '</tr>'
  }
  html += '</tbody></table>';
  return html;
}

document.querySelector('#grid').innerHTML = render(ar);

【讨论】:

  • Ilya,非常感谢您的电子邮件。我正在使用 Pycharm 对实验进行编程。根据您的示例,我调整了我的代码,但它似乎不起作用。我有以下内容:
  • 欢迎 :-) 你能编辑你的帖子吗?我在您的评论中看不到任何代码示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-17
  • 2011-04-01
  • 2014-04-14
  • 1970-01-01
  • 2012-01-20
相关资源
最近更新 更多