★★ Java の宿題ここで答えます Part 71 ★★
■ このスレッドは過去ログ倉庫に格納されています
0403デフォルトの名無しさん
2011/11/03(木) 22:15:35.03テストしてないけど
// 8 方向を探査
boolean flag = false;
for (int i:new int[]{-1,0,1}) {
for (int j:new int[]{-1,0,1}) {
if (i==0 && j==0) continue; // 方向なしは除外
if (board[nx+i][ny+j] == hand*(-1)) { // その方向に相手の石があれば挟めるか探査を行う
for (int k=1 ; k<8 ; k++) {
int ni = nx+i*k;
int nj = nx+j*k;
if (ni == 0 || ni == board.length-1) break;
if (nj == 0 || nj == board.length-1) break;
if (board[nx+i*k][ny+j*k] == hand) {
flag = true;
break
}
}
}
if (flag) break;
}
if (flag) break;
}
if (flag) {
nextmove[maxpoint++] = new Point(nx,ny);
}
■ このスレッドは過去ログ倉庫に格納されています