축구 게임 로직 제작

김민재·2024년 9월 16일
0
post-custom-banner

축구 게임 로직

  1. 나의 계정을 불러와서 나의 계정이 아닌 것에 대한 계정 정보들을 가져온다.
  2. 이렇게 가져온 계정 정보들에서 랜덤으로 하나를 고른다.
  3. 나의 팀과 상대 팀의 전투력을 구하여
  4. 이를 if문으로 처리한다.

1. 계정 정보 처리


여기서 나의 계정은 인증을 통해서 얻어온 헤더값으로 처리를 했고
해당 리스트에서 Not을 이용해서 자신의 계정에 속하지 않은 모든 계정을 찾는다.

2. 상대 팀 선택

처음 시작과 끝의 계정 아이디들을 얻어와서 랜덤으로 하나를 고른 후에 해당 팀의 정보를 가져온다.

3. 전투력 측정


고작 5인가?..

각각 팀의 전투력을 받아오는데, 여기서 for문을 반복하며 각각의 플레이어의 전투력을 가져와서 처리한다.

4. 전투력 비교

한쪽 팀이 전투력이 매우 높다고해서 한 쪽팀만 이길 수는 없기 때문에, 해당 로직에서는 random 값을 통해서 처리를 했다.

피드백

  1. 상대가 계정 리스트에 존재한다고 해서 무조건 그 상대와 매칭을 잡아주는 것이 맞을까? => 매칭 테이블이 하나 있었다면 매칭을 돌리는 순간 해당 테이블에 계정 정보와 랭킹 점수를 저장하여 랭킹 점수대로 불러올 수 있는게 아닐까?

  2. 만약 상대가 없으면 그냥 아예 게임을 못하는게 아닐까? => 강제로 매칭을 잡아주게끔 계정 하나를 생성하는 방식은 어떨까?

  3. 현재 랭킹 점수를 고려하지 못하고 있다. => GameRankings 테이블을 계정 생성시에 같이 생성해서 값을 추가하고 그 값을 비교해야만 하는 것이 아닐까?

  4. 어떻게 해서 Ranking 테이블에 게임 결과와 승률을 기록할까?

=> 게임 결과는 그냥 기록을 하면 되는데 승률은 Json 테이블에 저장해놓은 playRecords에서 값을 읽어와서 처리를 한다고 치더라도 기록이 누적이 많이 쌓여버린다면 처리가 힘들지 않을까?
승률을 읽어와서 처리를 했을 때 읽어온 전적들을 최대한 통합 해두면 어떨까?
전체 전적이 필요하지는 않을까?

profile
ㅇㅇ
post-custom-banner

0개의 댓글