내일배움캠프/TIL

CH3 풋살 온라인 프로젝트 240919

leswing 2024. 9. 19. 22:01

팀 프로젝트의 게임 플레이 부분을 맡게 되었는데

 

현재 우리 프로젝트의 게임 플레이 방식은

 

1. 랭크 점수를 도입하여 해당 점수와 비슷한 상대를 만나고

2. 해당 플레이어와 자신의 팀의 선수 스텟을 비교하여 승패를 정한 뒤에

3. 자신이 승리하면 랭크점수를+, 졌을 경우 -하기로 하였다.

 

이후 게임 플레이 api를 작성하기 위한 순서를 먼저 작성하고.

// 게임 플레이 api
// 0. 플레이어의 덱 정보 확인
// 0-1. 플레이어의 덱이 완성되어 있는가
// 1. 플레이어 끼리 매칭(랭크 점수)
// 1-1. 매칭 레벨 안에 상대 가능한 플레이어가 있는가..?
// 2. 매칭 후 플레이
// 2-1 . 선수들의 정보 확인
// 2-2 . 선수 포지션 별 스텟 가중치 적용
// 2-3 . 적용된 가중치를 통한 플레이 진행
// 3. 플레이 후 승패에 따른 점수 변동

대략적인 플레이에 대한 주석은 전체적으로 작성했지만 현재 완성되어 있는 코드는 0-1. 까지 진행했다.

router.post('/play/:id', authMiddleware, async (req, res, next) => {
  const id = parseInt(req.params.id, 10);

  try {
    const userA = await gameDataClient.users.findFirst({
      where: {
        id: id
      },
    });

    const TeamA = await gameDataClient.player_deck.findFirst({
      where: {
        user_id: userA.id,
      },
    });

    if (!TeamA.player_id) {
      return res.status(409).json({ message: '덱을 작성하고 플레이 해주세요' });
    }

 

아무래도 개인과제를 완전히 학습하지 못해서 진행이 느려지고 있는데 이걸 팀원과 잘 상의하여

 

완성시간에 맞춰 잘 조율할 수 있도록 해야겠다.

'내일배움캠프 > TIL' 카테고리의 다른 글

Node.js 숙련주차 240911  (0) 2024.09.11
개인 과제 구현하기 240822  (0) 2024.08.22
오늘 대체 뭐한거지 240821  (0) 2024.08.21
JS 종합 문법 4주차 240819  (0) 2024.08.19
JS 문법 종합 3주차 240816  (0) 2024.08.16