심화 주차 팀 프로젝트 마무리
심화 주차의 팀 프로젝트가 잘(?) 마무리됐다.
이번에 나는 랭킹 시스템을 맡아서 제작했다.
간단히 끝내고 다른 작업을 찾아서 할 생각이었지만 정렬과 데이터 저장 방식에 대해서 신경써야할 것이 많았고, 해결하는 과정에서 배운 것도 많았던 것 같다.
그리고 팀장으로서 일정 관리의 중요성을 뼈저리게 깨달았던 프로젝트..
결과물 (사진만)
메인 화면 (곡 리스트)
- 곡의 리스트를 출력한다.
오른쪽 리스트에는 곡 커버 사진과 제목, 아티스트가 출력된다.
- 곡을 한 번 클릭하면 노래가 나오고 왼편에 곡의 정보가 나온다.
- 한 번 더 클릭하면 플레이 씬으로 넘어간다.
랭킹 정보 출력 (내가 맡은)
- 곡을 선택하고 "Ranking"을 클릭하면 해당 곡의 랭킹이 출력된다.
- 이번에 정렬 함수를 직접 구현하고자 해서, 안정적이고 속도가 빠른 병합 정렬을 직접 구현하여 적용해보았다.
- 한 곡의 플레이가 끝 날 때마다 이름을 입력하면 아래처럼 랭킹보드에서 확인할 수 있다.
- 랭킹 정보는 Json 형식으로 저장된다.
좀 꾸밀걸 그랬나.. 밋밋..
플레이 씬
- 박자에 맞게 노트가 내려온다.
- 판정은 [Perfect], [Good], [bad] 3가지이다.
- 노트가 내려오는 속도를 조절할 수 있다. (우측 하단의 Speed)
채보 툴
노트를 직접 제작하는 채보 툴이다.
- 초록 선 부터 초록 선 까지가 4/4 한 마디이다.
- 노트는 1/4박자 위치부터 1/16박자의 위치까지 세분화해서 위, 아래로 이동하며 찍을 수 있다.
- 찍은 노트는 xml 파일로 저장되며, 저장한 것을 불러와서 수정할 수 있다.
프로젝트 깃허브 링크
https://github.com/cn7249/RhythmProject