- Main Page에는 ‘게임 시작’ 버튼, ‘글로벌 랭킹’ 버튼, ‘마이 페이지’ 버튼, ‘오답노트’ 버튼, 그리고 ‘게임 설정’ 버튼이 존재한다. 해당 버튼들을 터치하게 되면 해당 페이지로 이동한다.
- Setting에서는 게임의 난이도, 시간, 그리고 유형을 선택할 수 있다. 또한, 배경음악을 키고 끄는 기능과 로그아웃을 할 수 있도록 설정했다.
- 위 그림과 같이 인터넷에서 다양한 이미지를 찾아 저장했다. 이러한 이미지들을 활용하여 [그림 3.8]과 같이 JSONBIN.io에서 2개의 JSON을 생성했다.
- 점수 기록 화면은 위 그림과 같이 ‘글로벌 랭킹’과 ‘마이페이지’에서 확인할 수 있다. 게임이 종료될 때 마다 게임 기록은 Database에 저장된다. 저장된 기록을 읽어 ‘글로벌 랭킹’과 ‘마이페이지’에 표시된다.
- Firebase 활용 회원가입 및 로그인 화면은 위 그림과 같다.
- 좌측은 회원가입 오류 화면을, 우측은 회원가입 성공 화면을 나타낸다.
- 좌측은 로그인 오류 화면을, 우측은 로그인 성공 화면을 나타낸다.
- 각 게임이 종료되면 점수와 시간은 Database에 저장된다. 이에 대한 데이터를 바탕으로 위 그림과 같이 글로벌 랭킹을 나타낼 수 있다.
- Database는 Firebase의 Firestore Database를 활용했다.
- 기존의 객관식 Quiz 유형에서 위 그림과 같이 낱말 퀴즈의 유형도 추가했다.
- 각 게임이 종료되면 틀린 문제들은 Database에 저장된다. 이에 대한 데이터를 바탕으로 위 그림과 같이 오답노트를 나타낼 수 있다.
- 게임을 진행하는데 위 그림과 같이 총 3개의 목숨을 하트로 표시하고 선택한 답이 틀릴 경우, 하트가 빈 하트로 표시가 된다.
- 하트가 차감 될 때 마다 움직이는 모션을 주기 위해 anim 폴더를 생성한 후에 0.5초 안에 3번 양쪽으로 움직이게 하는 애니메이션을 생성했다.
- 배경음악은 '게임 설정'에서 크고 끌 수 있다.
- ‘My Page’에서는 위 그림과 같이 각 난이도 별로 최고 점수와 평균 점수를 나타낸다. 글로벌 랭킹과 마찬가지로 난이도별 점수를 나타내기 위해서 TabLayout과 ViewPager를 활용했다. 각각에 대한 정보를 나타내기 위해 글로벌 랭킹에서 사용된 Ranking의 Database를 활용했다. 사용자의 이메일과 게임 난이도를 비교하여 올바른 정보를 나타냈다.
- 게임에서 버튼을 누르면 각 상황에 맞는 효과음이 발생한다.
- SoundPool을 활용했다.
- 새로운 오류 및 버그 수정
- 새롭고 다양한 문제 세트 추가
- 실시간 대결 방식과 같은 새로운 게임 유형 추가
- Android(Java)
- Firebase