개발 TIL

과제하고 쓰는 TIL

yun-wj1126 2025. 1. 28. 22:37

내일배움캠프 강의를 들어놓고 남겨두었던 과제를 했는데

틱택토 게임 만들기를 했다. 하면서 헷갈렸던 것들을 적어본다.

 

 

이런식으로 4개의 메서드를 사용해서 틱택토 게임을 만들어 보았다.

하는중 이런저런 난관이 조금씩 있었지만 제일 어려웠던건 중복자리에 대한 예외처리였다.

배열을 숫자로 해서 1,2,3,4,5,6,7,8,9를 2차원 배열로 할당해 주었고 

for 문으로 돌면서 하나씩 확인해서 내가 입력한 숫자 자리에 해당 플레이어의 표식이 남게 두었다. 

그러나 문제가 생겼는데 중복자리에 "놓을수 없습니다." 이런 문구를 적는데 for문으로 하다보니 입력하는 if문을 넘어가도 다시 for문으로 검사를 하니까 예외처리로 빠져서 계속해서 "놓을 수 없습니다." 라는 문구를 뱉었다. 

이걸 어떻게 할까 계속해서 생각하다가 차라리 입력한 숫자를 다른 새로운 배열에 넣고 다음에 다시 입력한 값이 그 배열에 값들이랑 같은지 검사를 해서 같다면 아래 Playing함수를 실행하지 않고 바로 return으로 빠져나오는 방식으로 했는데 이렇게 하니까 해결되었다.

위처럼 예외처리를 했다. 뿌듯!

 

그리고 하던 중에 Playing에 return하고 싶은 변수가 2개가 있었는데 어떻게 해야할지 몰라서 검색을 해보니

튜플(Tuple) 기능이란게 있었다. 

사용 방법은

return 타입에 (int,int) 이렇게 적으면 return 2 가능하다. 그리고 return 변수1, 변수2; 이렇게 적고

리턴 값을 호출하는 방법은

(int,int) num = 함수이름

Num.item1; 하면 변수1

Num.item2; 하면 변수2 가져온다.

이런식으로 사용해서 리턴값을 2개를 가져와서 사용했다.