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

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

有一個(gè)小小的bug

http://img1.sycdn.imooc.com//5805d64d000142a113750860.jpg為什么不管我在哪點(diǎn),白棋統(tǒng)統(tǒng)都只在棋盤(pán)頂上顯示,而且有時(shí)候走兩步白棋才走一步,是代碼有問(wèn)題嗎?

var?chessBoard?=?[];
var?me?=?true;
var?over?=false;


//贏法數(shù)組
var?wins?=?[];

//贏法統(tǒng)計(jì)數(shù)組
var?myWin?=?[];
var?computerWin?=?[];

for?(var?i?=0;i<15;i++)?{
	chessBoard[i]?=?[];
	for?(var?j?=?0;?j<15;?j++)?{
		chessBoard[i][j]?=?0;
	}
}

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++)?{
		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++;
	}
}

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/logo.png";
logo.onload?=?function(){
	context.drawImage(logo,?0,?0,?450,?450);
	drawChessBard();
}

var?drawChessBard?=?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);
		chessBoard[i][j]?=?1;

		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]?=?[];
		computerScore[i]?=?[];
		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;	
		}
}

而且有時(shí)候一點(diǎn)還會(huì)點(diǎn)出白子來(lái),有沒(méi)有大神幫忙解決一下

正在回答

4 回答




var me = true;

var chessBoard = [];

var over = false;




var wins = [];



var myWin = [];

var computerWin = [];


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

chessBoard[i] = [];

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

chessBoard[i][j] = 0;

}

}


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

wins[i] = [];

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

wins[i][j] = [];

}

}


var count = 0;

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

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

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

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

}

count++;

}

}


for(var i=0; i<17; 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++;

}

}


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/logo.png';

logo.onload = function (){

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

drawChessBoard();

}


var drawChessBoard = function (){

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

context.moveTo(17 + i*20, 17);

context.lineTo(17 + i*20, 337);

context.stroke();

context.moveTo(17, 17 + i*20);

context.lineTo(337, 17 + i*20);

context.stroke();

}

}


var oneStep = function(i, j, me){

context.beginPath();

context.arc(17 + i*20, 17 + j*20, 9, 0, 2 * Math.PI);

context.closePath();

var gradient = context.createRadialGradient(17 + i*20 +2, 17 + j*20 - 2, 9, 17 + i*20 + 2, 17 + j*20 - 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 / 20);

var j = Math.floor(y / 20);

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

oneStep(i , j, me);

chessBoard[i][j] = 1;

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<17; i++){

myScore[i] = [];

computerScore[i] = [];

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

myScore[i][j] = 0;

computerScore[i][j] = 0;

}

}

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

for(var j=0; j<17; 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] += 2200;

}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('你輸了!');

over = true;

}

}

}

if(!over){

me = !me;

}

}



這是我的,里面的布局我改了一下,整體沒(méi)變,你看一下

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

李占山 提問(wèn)者

非常感謝!
2016-10-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

李占山 提問(wèn)者

還就是布局上的問(wèn)題
2016-10-25 回復(fù) 有任何疑惑可以回復(fù)我~

183行 ?v?-?j;

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

呵呵,不用謝


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

js 部分沒(méi)問(wèn)題啊,可能你css有問(wèn)題吧

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

李占山 提問(wèn)者

不會(huì)吧! #chess{ display: block; margin: 50px auto; box-shadow:-2px -2px 2px #EFEFEF,5px 5px 5px #B9B9B9 ; } 就這么點(diǎn)能有啥問(wèn)題?
2016-10-23 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

有一個(gè)小小的bug

我要回答 關(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)