0
현재 Windows 용 고모 쿠 게임을하고 있으며 MFC를 사용 중입니다. 현재 대각선 알고리즘에서 우승 중입니다. 수평과 수직으로 잘 작동합니다. 내 논리가 잘못된 부분을 누군가가 밝힐 수 있기를 바랍니다. 코드는 다음과 같습니다.대각선 승리 조건
bool CMainFrame::isWinner(int player){
for (int row = 0; row < data.size(); row++) {
for (int col = 0; col < data.size(); col++) {
if (data[row][col].color == player && data[row + 1][col + 1].color == player && data[row + 2][col + 2].color == player && data[row + 3][col + 3].color == player && data[row + 4][col + 4].color == player) {
CheckForGameOver(player); //function that simply shows message box of winning piece
return true;
}
}
}
}
왼쪽 위 모서리에 연결된 대각선에서만 작동합니다. 프로그래밍에 익숙하지 않으므로 도움이 될 것입니다.
루프에 숫자 15를 사용하거나, 이름이 지정된 상수를 사용하거나, 데이터 크기에서 값을 파생시키지 마십시오. Go 보드는 19 x 19 크기이므로 테스트가 끝나지 않았는지 확실하지 않습니다. 응답을 위해 – stark
고마워. 내 보드는 15 X 15입니다. 오. 방금 내 data.size()를 편집했습니다. 내 코드에서 사용하지만 여전히 변경되지 않는 것 같습니다. – Elijah
그럼 분명히 한계를 벗어나고 있습니다. – stark