Skip to content

[BE] 애플리케이션 설계

Bibi edited this page May 14, 2021 · 5 revisions

야구게임~

게임 진행

1. 로그인 (OAuth - GitHub)

  • OAuth를 구현하기 전까지 처음페이지(팀선택페이지) GET 요청시 파라미터로 user id를 전달한다. (ex userId=1)

2. 게임 및 팀 선택

  • GET / 팀선택페이지
    • 제공정보 : 게임번호 / 팀번호 / 팀이름
  • POST / 팀선택
    • 팀을 선택하면 해당 게임의 상대 팀은 Computer 플레이어가 된다. (ex - Captin vs Marvel 팀에서 Marvel 팀을 고르면 Captin 팀을 운영하는 Computer1 플레이어와 게임을 하게 된다)
    • 팀선택이 가능한지 여부가 boolean으로 제공된다.
  • Computer 플레이어의 내역도 DB에 저장된다.

3. GET / 게임진행사항

(1) 기본정보

  • User의 팀
  • 홈팀, 원정팀 점수
  • 회차 / 어떤팀이 공격, 수비

(2) 그라운드 정보

  • 1루, 2루, 3루에 각 어떤 선수 있는지
    • 각 주자들의 이력
  • 볼, 스트라이크, 아웃 수
  • 현재 투수(등번호), 현재 타자(타석, 안타 정보)

4. POST / pitch

(1) 결과

  • return 스트라이크/볼/안타

5. GET / 게임진행사항

  • 3.과 똑같은 정보를 반환한다. (1) 스트라이크
    • (1-1) 스트라이크 3개 일 때 -> 아웃추가 (4)
    • (1-2) 스트라이크가 3개가 안될 때 -> 같은 선수로 게임 진행 (2) 볼
    • (2-1) 볼4일 때 -> 주자가 1루로 이동
    • (2-2) 볼4이 아닐 때 -> 같은 선수로 게임 진행 (3) 안타
    • (3-1) 주자 이동 -> 주자가 1루로 이동 (4) 아웃
    • (4-1) 아웃이 3개일 때 공격/수비팀 변경 -> 다음 회차로 게임 진행

6. 점수판

  • 회차 (1~12), R (총 점수)
  • 팀 (나 vs 상대)
  • 점수

7. 선수 명단

  • 현재 타자, 현재 투수
  • 팀별 선수 목록
  • 선수 이력 (타자 - 타석 / 안타 / 아웃 / 평균)
  • 팀 총합 점수