Skip to content

KrTeaparty/LoL_match_history_searcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RIOT PROJECT(전적 검색기)

목적

  1. 원하는 소환사의 전적을 검색할 수 있다.
  2. 해당 게임의 상세 정보를 확인할 수 있다.
  3. 승률을 시각화한다.
  4. 여러 게임을 같이 플레이한 소환사와의 승률을 표시한다.
  5. 게임의 최고의 소환사와 최악의 소환사를 선정한다.

목적 상세

  1. 원하는 소환사의 전적을 검색할 수 있다.
  • LineEdit 위젯으로 소환사명을 입력 받고 해당 입력을 API로 소환사 정보를 가져온다.
  • 가져온 소환사 정보를 바탕으로 최근 경기 정보를 취득한다.
  • 가져온 경기 정보를 요약하여 TableWidget에 Item으로 추가하여 보여준다.
  1. 해당 게임의 상세 정보를 확인할 수 있다.
  • TableWidget에 Item으로 추가된 경기를 클릭하면 클릭한 Row 정보를 받는다.
  • 받은 Row 정보로 몇 번째 경기인지 match_list로 게임 Id를 알아낸다.
  • 게임 Id를 이용해서 미리 정리해둔 게임 데이터를 사용하여 해당 게임에 참가한 모든 소환사의 게임 데이터를 별도의 TableWidget에 Item으로 추가하여 보여준다.
  1. 승률을 시각화한다.
  • 가져온 게임들의 승률을 계산한다.
  • 계산한 승률을 canvas에 원 그래프로 시각화한다.
  1. 여러 게임을 같이 플레이한 소환사와의 승률을 표시한다.
  • 게임 정보에서 해당 닉네임이 같은 팀원으로 몇번이나 나왔는가에 대해 수집한다.
  • 2번 이상 같은 게임에서 팀원이었다면 승률을 표시한다.
  1. 게임의 최고의 소환사와 최악의 소환사를 선정한다.
  • 선정하는 지표로 KDA를 기반으로 한다.
  • KDA를 기반으로 한 이유는 데스 당 데미지는 서포터, 탱커 같은 데미지를 뽑기 힘든 역할군이 있기 때문이고, 포탑에 가한 피해량은 다른 것을 무시하고 타워만 깬 경우를 제외하기 위해서이고, KDA가 어느 역할군이던 그나마 공평하게 나온다고 생각했기 때문이다.
  • 최고와 최악의 표시는 게임 상세 테이블에서 표시한다.

UI 구성 계획

전적검색기_UI_계획

결과

전적검색기_완성형

마무리

처음으로 API를 만져본 것이어서 반성할 점이 상당히 많았다.

  1. 데이터를 적절히 다루지 못했다.
  • 데이터를 전처리할 것이라면 필요한 데이터를 한번에 볼 수 있도록 전처리를 했어야 한다고 생각한다. 또한 데이터를 기반으로 최고, 최악의 소환사를 정하는 등 데이터를 활용할 때 조금 더 다듬고, 조건을 구체화할 수도 있었을 텐데 이 부분이 아쉽다.
  1. UI가 불친절하다.
  • UI를 보면 기본적으로 텍스트 정렬도 되어있지 않고, 텍스트가 너무 길어 아래로 내려가서 가시성을 떨어뜨리는 부분도 있었다. 이는 pyqt를 제대로 다루지 못해서 일어난 일로 좀 더 관심을 가졌어야 했다.
  1. 불필요한 부분이 상당히 있었다.
  • 일단 데이터가 여러모로 복잡하게 되어 있어서 반복문도 많이 사용되고 쓸데 없이 추가된 부분이 몇 번 포착되었고 지금도 있을 것이다. 이 부분은 계속 다른 것도 만들어 보면서 이론적인 부분의 추가 공부가 필요하다.
  1. 계획을 제대로 짜지 않았다.
  • 처음으로 해보는 프로젝트이다 보니 계획의 중요성을 늦게 알아차렸다. Readme로 한 번 정리하고 목적이 무엇인지 명확히 한 후에는 코딩이 한결 수월했다. 계획 없이 하던 프로젝트 초반에는 쓸데없이 늘리다 보니까 정작 필요한 기능이 무엇인지 모르고, GUI를 고려하지 않은 부분도 많이 보였다.

About

Using Riot API to create desktop application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages