第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

chessBoard[i][j] == 0 報(bào)Uncaught TypeError: Cannot read property 'NaN' of undefined

var chessBoard = [];

var me = true;

var over = false;


for (var i = 0; i < 15; i++) {

chessBoard[i] = [];

for (var j = 0; j < 15; j++) {

chessBoard[i][j] = 0;

}


}



// 贏法數(shù)組

var wins = [];


// 贏法的統(tǒng)計(jì)數(shù)組

var myWin = [];

var computerWin = [];


for (var i = 0; i < 15; i++) {

wins[i] = [];

for (var j = 0; j < 15; j++) {

wins[i][j] = [];

}

}


var count = 0;


// 橫線的贏法

for (var i = 0; i < 15; i++) {

for (var j = 0; j < 11; j++) {

// wins[0][0][0]=true;

// wins[0][1][0]=true;

// wins[0][2][0]=true;

// wins[0][3][0]=true;

// wins[0][4][0]=true;

for (var k = 0; k < 5; k++) {

wins[i][j + k][count] = true;

}

count++;

}

}


// 豎線的贏法

for (var i = 0; i < 15; i++) {

for (var j = 0; j < 11; j++) {

for (var k = 0; k < 5; k++) {

wins[j + k][i][count] = true;

}

count++;

}

}


// 斜線的贏法

for (var i = 0; i < 11; i++) {

for (var j = 0; j < 11; j++) {

for (var k = 0; k < 5; k++) {

wins[i + k][j + k][count] = true;

}

count++;

}

}


// 反斜線的贏法

for (var i = 0; i < 11; i++) {

for (var j = 14; j > 3; j--) {

for (var k = 0; k < 5; k++) {

wins[i + k][j - k][count] = true;

}

count++;

}

}


//console.log(count);


for (var i = 0; i < count; 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 = "img/2.jpg";


logo.onload = function() {

context.drawImage(logo, 0, 0, 450, 450);

drawChessBoard();


// oneStep(0,0,true);

// oneStep(1,1,false);

}


var drawChessBoard = function() {

for (var i = 0; i < 15; i++) {

context.moveTo(15 + i * 30, 15);

context.lineTo(15 + i * 30, 435);

context.stroke();

context.moveTo(15, 15 + i * 30);

context.lineTo(435, 15 + i * 30);

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 + 2, 15 + j * 30 - 2, 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;

// }

// me = !me;

for (var k = 0; k < count; k++) {

if (wins[i][j][k]) {

myWin[k]++;

computerWin[k] = 6;

if (myWin[k] == 5) {

window.alert("你贏了");

over = true;

}

}

}

if (!over) {

me = !me;

computerAI();

}

}

}


var computerAI = function() {

var myScore = [];

var computerScore = [];


var max = 0;

var u = 0, v = 0;

for (var i = 0; i < 15; i++) {

myScore[i] = 0;

computerScore[i] = 0;

for (var j = 0; j < 15; j++) {

myScore[i][j] = 0;

computerScore[i][j] = 0;

}

}

for (var i = 0; i < 15; i++) {

for (var j = 0; j < 15; j++) {

if (chessBoard[i][j] == 0) {

for (var k = 0; k < count; k++) {

if (wins[i][j][k]) {

if (myWin[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(myScore[i][j] > myScore[u][v]){

u=i;

v=j;

}

}

}

}

}

oneStep(u,v,false);

chessBoard[u][v]=2;

for (var k = 0; k < count; k++) {

if (wins[u][v][k]) {

computerWin[k]++;

myWin[k] = 6;

if (computerWin[k] == 5) {

window.alert("計(jì)算機(jī)贏了");

over = true;

}

}

}

if (!over) {

me = !me;

}

}


正在回答

1 回答

offsetX ?offsetY 不是?offSetX 和?offSetY

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

YYS、 提問(wèn)者

非常感謝!
2016-04-09 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

chessBoard[i][j] == 0 報(bào)Uncaught TypeError: Cannot read property 'NaN' of undefined

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)