【发布时间】:2019-01-05 06:09:32
【问题描述】:
我使用画布构建了一个 10*10 的表格。每个单元格随机着色为绿色、蓝色或红色。现在我想检查表格中的每个单元格的颜色,如果它与其邻居相同,则更改它。 如何检查每个单元格的颜色?
var color;
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
function drawBoard() {
for (let i = 0; i < 440; i += 40) {
context.beginPath();
context.moveTo(i, 0);
context.lineTo(i, 400);
context.stroke();
}
for (let i = 0; i < 440; i += 40) {
context.beginPath();
context.moveTo(0, i);
context.lineTo(400, i);
context.stroke();
}
for (let i = 0; i < 440; i += 40) {//row
for (let j = 0; j < 440; j += 40) {//column
let color = randomColor();
context.fillStyle = color;
context.fillRect(j , i , 40, 40);
}
}
}
drawBoard();
function randomColor() {
let colorOptions = ["RED", "BLUE", "GREEN"];
let index = Math.floor(Math.random() * colorOptions.length);
return colorOptions[index];
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<canvas id="canvas" height="600" width="600"></canvas>
<script src="script.js"></script>
</body>
</html>
【问题讨论】:
-
是的,任何想法。但首先,告诉我们你的想法?你有没有尝试过?
-
我想使用 document.getElementById 但不确定如何执行因为我是 javascript 新手。我已经在 CANVAS 中构建了电路板并随机着色了所有单元格,但现在不知道如何检查单元格单元格,因为它不是像 JAVA 中那样的二维数组
-
搜索 SO 或网络非常简单,例如查找:stackoverflow.com/questions/6735470/…
-
对 100 个单元格使用 document.getElementById 当然是可能的,但是给它们一个类名,如“cell”并使用 document.getElementsByClassName("cell") 会更简洁。现在你得到一个节点列表,你可以循环检查每个项目 style.background
-
我添加了我的代码,但是我如何将类名添加到每个单元格?
标签: javascript html canvas