bool CheckFive(int user)

{

int i, j;

for (i = 0; i < 19; i++)

{

for (j = 0; j < 19; j++)

{

//가로범위 체크

if (Plate[i][j] == user)

{

if (Plate[i][j + 1] == user && Plate[i][j + 2] == user && Plate[i][j + 3] == user && Plate[i][j + 4] == user)

return true;

}

//세로범위 체크

else if (Plate[j][i] == user)

{

if (Plate[j + 1][i] == user && Plate[j + 2][i] == user && Plate[j + 3][i] == user && Plate[j + 4][i] == user)

return true;

}

//대각선(↘)범위 체크

else if (Plate[i][j] == user)

{

if (Plate[i + 1][j + 1] == user && Plate[i + 2][j + 2] == user && Plate[i + 3][j + 3] == user && Plate[i + 4][j + 4] == user)

return true;

}

//대각선(↙) 범위 체크

else if (Plate[i][j] == user)

{

if (Plate[i + 1][j - 1] == user && Plate[i + 2][j - 2] == user && Plate[i + 3][j - 3] == user && Plate[i + 4][j - 4] == user)

return true;

}

}

}

return false;

}


대충 int Plate[19][19] 라는 배열이있고 여기엔 다 0이 채워져있습니다.

그리고 플레이어 1,2가 자기차례에 x,y 좌표값을 입력합니다.


그럼 플레이어 1이 x,y 좌표값을 입력하면 그에 맞는 x,y좌표값 배열에 1을 저장하고 플레이어2가 입력하면 2를 저장합니다.


저 함수의 user 매개변수에는 1또는 2가전달됩니다.


오목이맞다면 true를 반환합니다


그런데 대각선은 인식을하지못하는데 이유가뭔지궁급합니다.