가위 바위 보 게임
2017 년 입사 당시
신입들에게 주어진 일종의 퀘스트 프로젝트
웹 사이트의 가위 바위 보 게임을 보고,
App으로 변경하는 미션이였으며,
미션 조건은 처음부터 끝까지 리소스 까지도 알아서
구해서 만들어야함.
처음에는 기능 구현을 목적으로 열심히 만들다가,
당시 해외에서 MVVM + UI Test 가 한창 유행이여서
그것도 적용했음.
규칙
게임 시작전
배팅할 포인트를 설정 하며,
패배시 해당 포인트 만큰 보유 포인트 차감.
무승부시 포인트 유지.
승리시 룰렛 숫자 배율 만큼 보인트 획득
기능
-
포인트별 당첨 확률 설정
-
포인트별 실패 확률 설정
-
배당별 당첨 확률 설정
-
기본 포인트 설정
-
가위 바위보 이미지 변경 시간 설정
-
가위 바위 보 사이클 횟수 설정
-
룰렛 사이클 횟수 설정
-
포인트 금액 설정
-
각 기능별 UI Test
후기
1. 처음에는 기능 구현에만 집중하다가
문득 폰을 만지니 뜨거운게 느껴졌다.
이는 Thread 가 끊임없이 CPU를 힘들게 하고 있다는 증거
CPU 사용량을 끊임 없이 확인 해가며, 게임이 실행하는 동안
불 필요한 Thread들을 전부 중지 시키고, 게임을 할 때에만
작동 시키니 발열 현상은 거의 나타나지 않았다.
2. 자주 빈번하게 UI 테스트가 진행 되어야 하는 부분은
확실히 테스트 코드를 작성하는게 맞는 듯 하다.
이걸 일일이 버튼 눌러가면서 테스트 했을 생각을 하면 아찔하다.
3. View 와 ViewModel의 분리는 귀찮은 작업이지만
테스트 하기 쉬운 코드가 된다.
* 소스코드는 도박 게임 생산 방지를 위해 공개하지 않습니다.