js五子棋的实现

html 



	
		
		五子棋
		
	
	
		
		
	

css

canvas{
	display: block;
	margin: 50px auto;
	box-shadow: -2px -2px 2px #EFEFEF,5px 5px 5px #B9B9B9;
}

js 

var me = true;
var over = false;
var chessBox = [];
var wins = [];         //定义三维数组
//赢法统计数组
var myWin = [];
var computerWin = [];
for(i=0;i<15;i++){
	chessBox[i]=[];
	for(j=0;j<15;j++){
		chessBox[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++){
		//执行1次
		// 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;
		//执行2次
		// wins[0][1][1]=true;
		// wins[0][2][1]=true;
		// wins[0][3][1]=true;
		// wins[0][4][1]=true;
		// wins[0][5][1]=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;imax){
	 				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);
	 chessBox[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;		
		}
}
js五子棋的实现_第1张图片

你可能感兴趣的:(HTML/CSS,JS,数据结构及算法)