HTML页面
注释都很明确了大家好好学习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
<title>五子棋</title>
<style>
* {
margin: 0px;
padding: 0px;
}
.box {
border-spacing: 0px;
border: 1px solid #3c3c3c;
background-color: #e1e1e2;
margin: auto;
}
.piece {
border-spacing: 0px;
border: 1px solid;
}
</style>
</head>
<body>
<script type="text/javascript" src="./Gobang.js"></script>
</body>
</html>
Javascript
var ScreenWidth = {
documentWidth: 500,
containerWidth: 400, // 容器默认宽度
cellWidth: 20 // 单元格宽度
}
if (document.documentElement.clientWidth < 500) {
ScreenWidth.documentWidth = document.documentElement.clientWidth;
ScreenWidth.containerWidth = ScreenWidth.documentWidth * 0.8;
ScreenWidth.cellWidth = ScreenWidth.containerWidth * 0.05;
}
//常量
var reg = /\d{1,2}/g;
var white = []; // 放白子
var black = []; // 放黑子
var tempKey = false; // 判断是走黑子还是白子
var notOver = true; // 判断游戏是否结束
var tips = "白棋走"; // 提示走棋
var count = 0;//相连的个数
var bv = false; // 黑棋胜利
var wv = false; // 白棋胜利
var yCanWin = [];// 同一竖元素存放的数组
var xCanWin = [];// 同一横元素存放的数组
var xyCanWin = [];// 同一正斜存放的数组
var yxCanWin = [];// 同一反斜存放的数组
// 用计时器监听是否胜利
var time = setInterval(function () {
if (bv) {
tips = "黑棋胜利";
document.getElementsByTagName("span")[0].innerText = tips;
for (var i = 0; i < document.getElemen