Java
이기는 경우의 수 프린트 하기 질문이에요!

안녕하세요! 자바로 틱택토(Tic Tac Toe)라는 게임을 하고 있는데 메소드 중에서 X플레이어와 O플레이어가 각자 이길 수 있는 경우의 수를 프린트 하는 int countAllWinningBoards(String board, char player)라는 메소드를 구현 중이에요. (이기는 조건은 아래에 나와요)

여기서 파라미터로 board와 player를 받고 있는데 board의 예로는 XOX------(첫번째 세개는 가장 윗줄, 두번째 ---는 두번째 줄이지만 빈줄, 마지막 ---는 가장 아랫줄 그리고 이것도 빈줄이에요. 보드는 꽉 찰수도 아니면 빈곳이 있을수도 있어요!) player는 X와 O 둘 중 하나가 와요.

이기는 보드의 예시는 XOXOXO--X 이거예요. 밑에 있는거랑 똑같지만 한줄로 표시해야해요!

X O X
O X O
- - X

작성자가 보드와 플레이어를 입력 했을때 그 플레이어가 주어진 보드에서 이길 가능성이 얼마인지 int로 반환해야하는데 예로 들어서

X O X
O X O
- X -

이것처럼 XOXOXO-X- 와 X를 입력했을 경우에 리턴값은 2예요. 왜냐하면 X가 1)왼쪽 아래 빈칸과 2) 오른쪽 아래 빈칸에 들어가도 이기게 되니까요 (대각선으로 XXX을 완성시킴)

이기는 조건: 가로 or 세로 or 대각선으로 XXX가 되면 X의 승, OOO가 되면 O의 승

댓글 0