Giter VIP home page Giter VIP logo

proj-lol-team-maker's Introduction

롤 팀 메이커


내전용 팀 매칭 서비스

  • 롤 5:5 내전 시 팀을 나누는 데 불필요한 공수 발생
  • 현재 레이팅 + 주 포지션 합산한 점수를 토대로 팀 분배

규칙

티어

티어 별 유저 분포도 통계 참고하여 점수 설정

  • 아이언 : 0점
  • 브론즈 : 10점
  • 실버 : 20점
  • 골드 (1티어당 5점)
    • 4 : 25점
    • 3 : 27점
    • 2 : 29점
    • 1 : 31점
  • 플래티넘 (1티어당 7점)
    • 4 : 38점
    • 3 : 45점
    • 2 : 53점
    • 1 : 60점
  • 다이아몬드 (1티어당 10점)
    • 4 : 70점
    • 3 : 80점
    • 2 : 90점
    • 1 : 100점
  • 마스터 이상 천상계는 추후 논의

포지션

현 시점(2023.01) 랭킹 1 - 100 내 유저 포지션 분석 %로 점수 부여

2인 1라인을 가는 바텀은 각각 60점씩 부여

  • 탑 (20 / 100) : 80점
  • 정글 (27 / 100): 100점
  • 미드 (15 / 100): 70점
  • 원딜 (19 / 100): 60점
  • 서폿 (17 / 100): 60점

그룹 분류

  • 포지션 포인트 + 티어 포인트 조합 결과 포인트 범위 60 - 200

  • 최상위권: 통합 포인트 170점 이상

  • 상위원: 통합 포인트 125점 이상 170점 미만

  • 중위원: 통합 포인트 90점 이상 125점 미만

  • 하위권: 통합 포인트 90점 미만


isssues

  1. [#1] 환경설정
  2. [#2] 디렉토리 구성
  3. [#3] 플레이어 객체 생성 및 등록 조회 구현
  4. [#4] 팀 분배 방식 상세화, 기존 정렬 후 순차적으로 팀 할당에서 플레이어 포지션을 고려한 분배 방식으로 변경
  5. [#5] 플레이어중 듀오 그룹이 있는 경우 플레이어 분배 방신 변경

proj-lol-team-maker's People

Contributors

jk-kim4 avatar kim-jongwan avatar

Stargazers

 avatar

Watchers

 avatar

proj-lol-team-maker's Issues

#2 MVC 구성

MVC 구성

  • 10명 플레이어 정보 입력
  • 입력 정보 메모리 저장 및 확인

#4 팀 분배 방법

선행 개발 사항

  • Player 주포지션, 부포지션 등록

팀 분배 방법

  1. 선행
    0.0 선택된 10명의 플레이어의 평가점수의 중간값 계산

  2. 포지션 검증
    1.1 플레이어의 '주 포지션'만 고려하여 2개의 팀을 생성할 수 있는가 [ 2번 과정 수행 ]
    1.2 플레이어의 '주 포지션'과 '부 포지션'을 모두 고려하여 2개의 팀을 생성할 수 있는가. [ 3번 과정 수행 ]

  3. 팀 분배 - 주 포지션
    2.1 각 포지션 별 플레이어 그룹 생성 (각 2명 포함 5개 그룹 생성)

  4. 팀 분배 - 주 포지션 + 부 포지션
    3.1 주 포지션 별 플레이어 그룹 생성
    3.2 그룹 포함 인원이 2명 이상 일 경우 전체 인원 중 2명 선택 (그룹 생성 순서는 포지션 접수가 높은 포지션 순으로 진행한다.)
    3.2.1 (2023.02.02 기준) 정글 -> 탑 -> 미드 -> 원딜 -> 서폿 순으로 진행
    3.3 선택되지 않은 인원은 부 포지션으로 재 배치
    3.4 포지션 별 그룹 생성 종료 (각 2명 포함 5개 그룹 생성)

  5. 팀 분배
    4.1 포지션 그룹 내 각 플레이어에 팀 할당
    4.2 두 플레이어 중 총합 점수가 높은 인원이 포함된 팀 +1, 낮은 멤버가 포함된 팀 -1, 동률인 경우 0 점 할당

  6. 팀 평가
    5.1 팀 분배가 완료 된 후 양 팀 평가 점수가 동률인 경우 팀 분배 종료
    5.2 평가 점수가 동률이지 않을 경우 높은 팀의 우세 포지션 플레이어를 서로 교환 (평가점수 동률 될 때까지 반복)

  7. 검증 및 종료
    6.1 각 팀의 플레이어 총합 점수의 합을 비교 후 과정 종료

#1 환경설정

개발 환경 설정

  • web, java, spring boot
  • 별도 RDB 사용하지 않고 메모리 내 정보 저장

#12 legacy 분리

feature#4 이후 새로운 도메인 위주 개발 진행되어
이전 도메인 관련 legacy 코드 분리 예정

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.