v.0.2.0
-
테트리스 멀티 플레이 구현
-
방 입장 시
- 게임 방에 다른 플레이어 canvas 추가
- 다른 플레이어가 게임방 입장 시 이미 입장해 있던 플레이어들에게 입장한 플레이어의 정보 전송 (소켓)
- 다른 플레이어 입장 시 이미 입장해있던 플레이어들 정보 전송 (소켓)
- 다른 플레이어가 추가 되면 추가되는 순서대로 각 canvas 할당
- 한 플레이어 보드의 블록이 떨어질때마다 다른 플레이어에게 떨어지고 있는
- 블록 정보 전송 (소켓)
- 다른 플레이어의 블록 정보를 전송 받아 다른 플레이어의 canvas에 그리기
-
멀티 플레이 시작 시
- 게임 시작 정보 전송
- 블록이 떨어지는 정보 전송
- 보드 정보 전송
- 공격 정보 전송
- 공격 상대 결정 구현
- 게임 오버 전송
- 공격 블록의 생성 구현
- 공격 블록에 대한 제거 루트 제공
- 복수의 공격이 누적되어 나타난 공격 블록의 경우 구현
- 줄 완성에 따른 공격 이벤트 연결
- 자신의 보드 이미지 대신 캔버스로 그리게 수정
- 자신이 공격을 받은 경우, 자신의 보드 옆에 공격 받은 블록 수 만큼 칸 표시
- 다른 플레이어가 공격 받은 경우, 소켓으로 공격 받은 정보를 주고 받아 해당 플레이어의 보드에 공격 받은 블록 수 만큼 칸 표시
-
테트리스 버그 수정 및 구현 수정
- 블록을 심하게 움직일 경우 오류 발생 수정
- 게임 오버된 플레이어에게 공격 블록이 전달되던 현상 수정
- 다른 플레이어의 보드 이미지 대신 캔버스로 그리게 수정
- 테트리스 블록 조작감 개선
-
-
로비
- 접속자 목록 리스트 관리 및 소켓 정리
- 방 생성 / 접속 관련 로직 정리
- 친구 추가 위한 UI 작업 진행
- 채팅 기능 완성
- 테트리스 게임 내 멀티플레이 코드와 병합 진행
- 개발 환경 시 multi proxy 설정
-
로그인 구현 & 회원 가입
- 기존 코드 리팩토링 일부 진행 및 버그 분석
-
프로필
- 프로필 페이지 UI 구현
- 통계 기록을 가져오는 API를 작성함.
- 최근 경기 내역을 가져오는 API를 작성함.
- 상태메세지 수정 기능을 추가함.
-
랭킹
- 랭킹 페이지 UI 작업
- 등수, 아이디 등 정보 데이터 Api 코드 작성
- 조건에 맞는 랭킹 가져오는 쿼리 작성
- 분류, 모드 별 버튼 활성화
- 분류, 모드 버튼 누를 때 마다 fetch 요청
- 왼쪽 프로필 정보 보이기, 플레이어 닉네임 입력 후 검색 가능
- 스토어에서 유저 닉네임 정보를 가지고 fetch 요청. db 쿼리로 승리횟수와 공격횟수 받아온 후 랜더링
- 플레이어 닉네임 입력 후 검색 누르면 아래 표에 자신 밑으로의 사람들 랭킹 정보를 받아옴.
-
배포
- 소켓 사용을 위한 추가적인 nginx 설정 진행
-
디자인
- 전체적인 디자인 수정
-
데이터 베이스
- 스키마 변경사항 DB 서버에 적용 (필드명이 예약)