チェス大戦
4334 ワード
まずhtml 5 で を します.
var chess = document.getElementById('chess');
var context = chess.getContext('2d');
var logo = new Image();
logo.src = 'img/2.png';
//
logo.onload = function(){
//
context.drawImage( logo, 0, 0, 450, 450);
//
goBang();
}
//
context.strokeStyle = '#AAA';
//
var goBang= function(){
context.strokeStyle = "#BFBFBF";
for (var i = 0; i < 15; i++) {
context.moveTo(15 + i*30, 15);
context.lineTo(15 + i*30, 435);
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,'#000');
gradient.addColorStop(1,'#666');
}else{
gradient.addColorStop(0,'#DDD');
gradient.addColorStop(1,'#FFF');
}
//
context.fillStyle = gradient;
// ( )
context.fill();
}
// true false
var me = true;
// ( )
var chessBoard = [];
for(var i=0; i<15; i++){
//
chessBoard[i] = [];
for(var j=0; j<15; j++){
// 0
chessBoard[i][j] = 0;
}
}
//
var wins = [];
for(var i=0; i<15; i++){
//
wins[i] = [];
for(var j=0; j<15; j++){
//
wins[i][j] = [];
}
}
//
var count = 0;
//15*15 165
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++;
}
}
//15*15 165
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++;
}
}
//15*15 121
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++;
}
}
//15*15 121
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++;
}
}
//
var myWin = [];
//
var computerWin = [];
//
var over = false;
for(var i=0; i max){
max = myScore[i][j];
maxX = i;
maxY = j;
}else if(myScore[i][j] == max){
if(computerScore[i][j] > computerScore[maxX][maxY]){
maxX = i;
maxY = j;
}
}
//
if(computerScore[i][j] > max){
max = computerScore[i][j];
maxX = i;
maxY = j;
}else if(computerScore[i][j] == max){
if(myScore[i][j] > myScore[maxX][maxY]){
maxX = i;
maxY = j;
}
}
}
}
}
//
oneStep(maxX, maxY, false);
chessBoard[maxX][maxY] = 2;
console.dir(chessBoard[maxX][maxY]);
//
for(var k=0; k
の が わっていないので、この を したり したりして を する はありません.
ケースは がアルゴリズム を しているときにあるサイトで たもので、 くて、 なときは で しんで をつぶすことができます.
:https://www.cnblogs.com/xzhan/p/9198944.html