let chessBoard = [];
let me = true;
let over = false;
let wins = [];
let myWin = [];
var computerWin = []
for (var i = 0; i
chessBoard[i] = []
for (var j = 0; j
chessBoard[i][j] = 0
}
}
for (var i = 0; i
wins[i] = []
for (var j = 0; j
wins[i][j] = []
}
}
var count = 0
for (var i = 0; i
for (var j = 0; j
for (k = 0; k
wins[i][j + k][count] = true
}
count++
}
}
for (var i = 0; i
for (var j = 0; j
for (k = 0; k
wins[j + k][i][count] = true
}
count++
}
}
for (var i = 0; i
for (var j = 0; j
for (k = 0; k
wins[i + k][j + k][count] = true
}
count++
}
}
for (var i = 0; i
for (var j = 14; j > 3; j--) {
for (k = 0; k
wins[i + k][j - k][count] = true
}
count++
}
}
console.log(count)
for (var i = 0; i
myWin[i] = 0
computerWin[i] = 0
}
var chess = document.getElementById('chess')
var context = chess.getContext('2d')
context.strokeStyle = '#BFBFBF'
var logo = new Image()
logo.src = " " //image path
window.onload = function () {
// context.drawImage(null, 0, 0, 450, 450)
drawChessBoard()
// oneStep(0, 0, true)
// oneStep(1, 1, false)
// context.beginPath()
// context.arc(200,200,100,0,2*Math.PI)
// context.closePath()
// var gradient = context.createRadialGradient(200,200,50,200,200,20)
// gradient.addColorStop(0,'#0A0A0A')
// gradient.addColorStop(1,'#636766')
// context.fillStyle = gradient
// context.fill()
}
var drawChessBoard = function () {
for (var i = 0; i
context.moveTo(15 + i * 30, 15) //15
context.lineTo(15 + i * 30, 435) //435
context.stroke()
context.moveTo(15, 15 + i * 30) //15
context.lineTo(435, 15 + i * 30) //435
context.stroke()
}
}
//
// context.moveTo(0,0)
// context.lineTo(450,450)
// context.stroke()
var oneStep = function (i, j, me) {
context.beginPath()
context.arc(15 + i * 30, 15 + j * 30, 13, 0, 2 * Math.PI)
context.closePath()
var gradient = context.createRadialGradient(15 + i * 30 + 2, 15 + j * 30 - 2, 13, 15 + i * 30, 15 + j * 30, 0)
if (me) {
gradient.addColorStop(0, '#0A0A0A')
gradient.addColorStop(1, '#636766')
} else {
gradient.addColorStop(0, '#D1D1D1')
gradient.addColorStop(1, '#F9F9F9')
}
context.fillStyle = gradient
context.fill()
}
chess.onclick = function (e) {
if (over) {
return
}
if (!me) {
return
}
var x = e.offsetX
var y = e.offsetY
var i = Math.floor(x / 30)
var j = Math.floor(y / 30)
if (chessBoard[i][j] === 0) {
oneStep(i, j, me)
// if (me) {
chessBoard[i][j] = 1
// } else {
// chessBoard[i][j] = 2
// }
for (var k = 0; k
if (wins[i][j][k]) {
myWin[k]++
computerWin[k] = 6
if (myWin[k] === 5) {
window.alert('你赢了')
over = true
}
}
}
if (!over) {
me = !me
computerAI()
}
}
// oneStep(i,j,me)
}
var computerAI = function () {
var myScore = []
var computerScore = []
var max = 0
var u = 0
var v = 0
for (var i = 0; i
myScore[i] = []
computerScore[i] = []
for (var j = 0; j
myScore[i][j] = 0
computerScore[i][j] = 0
}
}
for (var i = 0; i
for (var j = 0; j
if (chessBoard[i][j] === 0) {
for (var k = 0; k
if (wins[i][j][k]) {
if (wins[k] === 1) {
myScore[i][j] += 200
} else if (myWin[k] === 2) {
myScore[i][j] += 400
} else if (myWin[k] === 3) {
myScore[i][j] += 2000
} else if (myWin[k] === 4) {
myScore[i][j] += 10000
}
if (computerWin[k] === 1) {
computerScore[i][j] += 220
} else if (computerWin[k] === 2) {
computerScore[i][j] += 420
} else if (computerWin[k] === 3) {
computerScore[i][j] += 2100
} else if (computerWin[k] === 4) {
computerScore[i][j] += 20000
}
}
}
if (myScore[i][j] > max) {
max = myScore[i][j]
u = i
v = j
} else if (myScore[i][j] === max) {
if (computerScore[i][j] > computerScore[u][v]) {
u = i
v = j
}
}
if (computerScore[i][j] > max) {
max = computerScore[i][j]
u = i
v = j
} else if (computerScore[i][j] > max) {
if (computerScore[i][j] > computerScore[u][v]) {
u = i
v = j
}
}
}
}
}
oneStep(u, v, false)
chessBoard[u][v] = 2
for (var k = 0; k
if (wins[u][v][k]) {
computerWin[k]++
myWin[k] = 6
if (computerWin[k] === 5) {
window.alert('AI赢了')
over = true
}
}
}
if (!over) {
me = !me
// computerAI()
}
}