항해99
[WIL] 8주차 항해 회고록
최종현(5)
2022. 3. 6. 22:27
728x90
실전 프로젝트를 시작하고 기능을 구현하고 있습니다..
기획이 예상 시간보다 적게 걸려서 일찍 기능 구현을 시도할 수 있었습니다.
현재 훈수가 가능한 오목 게임이라는 주제로 실전 프로젝트를 하고 있습니다.
이때 총 5개 페이지 중에서 2개 페이지를 맡았습니다.
로비페이지와 오목게임 페이지를 맡아 진행하고 있습니다.
로비 페이지는 기존의 axios를 사용하여 서버와 데이터를 주고 받을 수 있도록 기능을 넣어놓았고
리더보드에 유저의 정보를 가져오고 로그인한 모든 유저의 상태를 보여줍니다.
그리고 방만들기 기능과 다른방으로 들어가는 기능까지 프론트에서 만들어 놓았습니다.
게임 페이지는 오목 게임의 승리 조건과 채팅 기능 그리고 플레이어가 각각 5분이라는 제한 시간을 가지고
게임을 시작하도록 만들어 주었습니다.
하지만 가장 걱정인 부분은 socket.io를 사용하여 서버와 연결할 때 어려움이 많이 있습니다.
오목은 canvas로 그려서 useEffect으로 나타내고 있는데 useEffect으로 값을 가져오는 socket.io과 겹친다는 문제입니다.
그리고 타이머 기능 또한 useEffect으로 구현하고 있어서 useEffect를 각각 만들고 변화하는 값들은 useState로 지정해주어 바뀔 때마다 socket으로 바뀐 값을 보내고 받아야합니다.
현재 어떻게 끝날 지 너무 머리가 아프지만 재미있는 도전입니다.