[ 2024.10.01 TIL ] running-action-game

박지영·2024년 10월 1일
0

Today I Learned

목록 보기
54/88

running-action-game

스테이지 이동

우선 다음 스테이지의 목표 점수에 도달했을 경우 다음 스테이지로 스테이지가 변경되어야 한다.

점수에 도달하면 sendEvent로 이벤트 핸들러에 핸들러id와 페이로드를 보낸다.

현재 스테이지를 목표 스테이지로 변경하고 아이템 컨트롤러의 스테이지도 같이 변경해준다.

여기까지가 프론트 영역에서의 로직이고

서버의 이벤트 핸들러에서 스테이지를 변경하는 핸들러로 userId와 payload를 보내고

받은 데이터를 바탕으로 검증 과정을 거치고 스테이지를 설정한다.

  1. 유저의 현재 스테이지 정보가 존재하는지

  2. 전달받은 현재 스테이지와 목표 스테이지의 정보가 데이터 테이블에 존재하는지

  3. 클라이언트와 서버의 시간 차이가 너무 많이 나는지

  4. 경과 시간에 따른 점수와 아이템으로 획득한 점수가 목표 스테이지의 점수를 넘어섰는지

  5. 스테이지 설정

아이템 획득

  1. 아이템 생성
    아이템 데이터 테이블과 아이템 해금 데이터 테이블의 정보를 바탕으로

    스테이지별 아이템 생성 테이블을 구하고 테이블 중 하나의 아이템을

    일정 시간마다 생성시키는 로직이다.

  1. 아이템 획득
    아이템 획득은 플레이어 개체와 아이템의 충돌로 판정하고 충돌하면

    getItem 메소드로 충돌한 아이템의 id를 가져온 후 아이템 데이터 테이블에서

    충돌한 아이템의 id와 일치하는 데이터의 score를 구해서 점수에 반영하고

    sendEvent로 서버에 데이터를 보낸다.

  2. 아이템 핸들러 맵핑
    아이템 획득 핸들러를 맵핑하고 아이템에 대한 검증 로직을 수행할 아이템 핸들러와

    유저의 아이템 정보를 관리할 아이템 모델을 생성한다.

  3. 아이템 검증 및 유저의 아이템 정보 갱신

정보 표기

게임 화면에 현재 스테이지, 최고 점수 기록, 현재 점수 표기하도록 구현

profile
신입 개발자

0개의 댓글