Android용 미니게임 모음 앱으로, 카드 게임·랜덤 퀴즈·반응 속도 테스트 3종의 미니게임을 제공합니다.
사용자 닉네임·프로필 이미지 설정, 배경음·효과음 볼륨 조정, Firebase 연동 랭킹 저장, 외부 앱(갤러리·공유) 연동 등을 지원합니다.
- MainActivity
- 앱 시작, 설정 화면 진입
- 프로필 이미지 실시간 반영 (
fragmentResultListener)
- GameSelectActivity
- ViewPager2 +
GamePagerAdapter로 3종 게임 슬라이드 표시 - 게임 선택 시 BGM 끊김 없이 유지 재생
- ViewPager2 +
| 게임명 | Activity / Fragment | 설명 |
|---|---|---|
| 블랙 잭 | CardGameActivity |
Deck of Cards API 이용 21 최대 점수, 5회 기회, 22 이상 시 버스트 처리 및 0점 |
| 랜덤 퀴즈 | RandomQuizActivity |
Open Trivia DB API 이용 10문제 랜덤, 타이머(15초) 표정 인식 기반 난이도 조정 • 웃음: 오답 1개 제거 + 타이머 +15초 • 슬픔/화남: 타이머 +5초 |
| 반응 속도 테스트 | ReactionTestActivity |
5회 라운드 수행 기본 점수 200점, 반응 지연 0.01초당 1점 차감 너무 빨리 누르면 해당 라운드 점수 0점 처리 2초 이상 반응 시 음수 점수 허용 5회 라운드 합산이 최종 점수 |
- 닉네임/프로필 이미지 변경 (
SharedPrefManager) - 배경음·효과음 볼륨 실시간 조정 (
BgmManager,SoundEffectManager) - Machine Learning 모델 기반 얼굴 표정 인식 → 난이도 조정
GameResultFragment을 통한 점수 확인·재시도·랭킹 조회·공유RankingFragment에서 Firebase Firestore 연동 5위 랭킹 표- 점수 업로드:
FirebaseManager.uploadScore()
- Kotlin + AndroidX
- Jetpack ViewPager2, Fragment
- Coroutines (API 호출 & Firebase)
- Retrofit2 + Gson (Trivia & Deck of Cards API)
- Firebase Firestore (랭킹 저장)
- Glide (이미지 로딩)
- TensorFlow Lite (얼굴 표정 인식 모델)
- 이 저장소를 클론하고 Android Studio로 열기
app/build.gradle에서 필요한 종속성 확인- 디바이스 또는 에뮬레이터에서 실행
MIT License
Copyright (c) 2025 이천서, 김동현