인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이승표님의 프로필 이미지
이승표

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘

샘플 문제 : TIC-TAE-TOE

TIC-TAC-TOE 문제 질문드립니다.

작성

·

335

0

안녕하세요.

아래 코드에서 'o' + 'x' - turn을 인자로 넘겨주는 이유가 궁금합니다. 어떤 의미가 있는 것인가요?

minValue = min(minValue, CanWin(board, 'o' + 'x' - turn));

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

'o' + 'x' - turn은 turn이 'o'이면 'x'를, 'x'면 'o'를 반환합니다.
'o' 'x' 'o' 'x'를 왔다 갔다 하는 일종의 토글 기능인 것이죠.

0

int CanWin(vector<vector<char>>& board, char turn)

이 함수보면 turn 은 내가 둔 수 입니다.
board[y][x] = turn; 내가 둔수를 셋팅 햇으면
상대방이 둔 수의 결과를 봐야합니다.
minValue = min(minValue, CanWin(board, 'o' + 'x' - turn));

그게 위 코드 입니다.

이승표님의 프로필 이미지
이승표

작성한 질문수

질문하기