// 5目ならべ // x,y座標にコマを打つときの処理 count0 = 0 ; // + + + + + for( let xx = x ; // + + + + + board[xx][y] != WALL // + + o o o && board[xx][y] == obj ; // + + + + + xx++ ) { // + + + + + count0++ ; } count1 = 0 ; // + + + + + for( let xx = x , yy = y ; // + + + + + board[xx][yy] != WALL // + + o + + && board[xx][yy] == obj ; // + + + o + xx++ , yy++ ) { // + + + + o count1++ ; } count2 = 0 ; // + + + + + for( let yy = y ; // + + + + + board[x][yy] != WALL // + + o + + && board[x][yy] == obj ; // + + o + + yy++ ) { // + + o + + count2++ ; } // このあと5つの方向で同じ処理書きたい? /////////////////////////////////////////////// const dir = [ // 8方向の考え方 [ 1 , 0 ] , // [ 1 , 1 ] , // 5 6 7 [ 0 , 1 ] , //  \↑/ [ -1 , 1 ] , // 4←〇→0 [ -1 , 0 ] , //  /↓\ [ -1 , -1 ] , // 3 2 1 [ 0 , -1 ] , [ 1 , -1 ] , ] ; let count = [0,0,0,0,0,0,0,0] ; for( let d = 0 ; d < 8 ; d++ ) { for( let xx = x , yy = y ; board[xx][yy] != WALL && board[xx][yy] == obj ; xx = xx + dir[d][0] , yy = yy + dir[d][1] ) { count[d]++ ; } }