黑白棋,棋盘要求50乘50,用原生js书写
时间: 2024-03-12 19:49:55 浏览: 146
好的,下面是一个用原生JavaScript实现的黑白棋游戏的代码示例:
HTML部分:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>黑白棋</title>
<style>
.board {
width: 500px;
height: 500px;
display: flex;
flex-wrap: wrap;
border: 2px solid black;
box-sizing: border-box;
}
.cell {
width: 10px;
height: 10px;
border: 1px solid black;
box-sizing: border-box;
}
</style>
</head>
<body>
<div class="board"></div>
<script src="script.js"></script>
</body>
</html>
```
CSS部分:
首先定义了一个名为“board”的样式,将其宽高设为500px,使用flex布局,并设置了边框。接着定义了一个名为“cell”的样式,将其宽高设为10px,并设置了边框。
JavaScript部分:
```javascript
// 获取棋盘元素
const board = document.querySelector('.board');
// 创建二维数组
const matrix = [];
for (let i = 0; i < 50; i++) {
matrix[i] = [];
for (let j = 0; j < 50; j++) {
matrix[i][j] = 0;
}
}
// 渲染棋盘
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
// 创建一个格子元素
const cell = document.createElement('div');
cell.classList.add('cell');
// 给格子元素添加事件监听器
cell.addEventListener('click', () => {
// 如果当前格子是白色,则变为黑色,反之亦然
if (matrix[i][j] === 0) {
matrix[i][j] = 1;
cell.style.backgroundColor = 'black';
} else {
matrix[i][j] = 0;
cell.style.backgroundColor = 'white';
}
});
// 将格子元素添加到棋盘中
board.appendChild(cell);
}
}
```
首先获取了棋盘元素,然后创建了一个50x50的二维数组,并将其所有元素初始化为0,表示白色。接着使用两个for循环遍历二维数组,创建了一个个格子元素,并给每个格子元素添加了一个click事件监听器。当点击格子时,如果当前格子是白色,则变为黑色,反之亦然。最后将格子元素添加到棋盘中。
阅读全文