모두가 좋아하는 보드게임 다빈치코드를 안드로이드스튜디오를 사용하여 개발
- 보드게임 ‘다빈치코드’를 진행하는 ‘다빈치코드게임시스템’을 계획 및 설계, 어플리케이션으로 구현한다.
- 메인화면에서는 시작하기와 튜토리얼 나가기를 누를 수 있다.
- 시작하기를 누르면 게임이 시작된다.
- 0부터 11까지의 숫자가 적힌 흑색 타일 12개, 백색 타일 12개 모두 보이지 않도록 엎어 놓는다.
- 플레이어와 컴퓨터는 검정색이나 흰색 타일을 선택해 각자 타일 4개씩 무작위로 가져온다. 본인은 타일의 숫자를 볼 수 있다.
- 각자 가져온 타일 4개를 상대방이 보이지 않게 차례대로 정렬한다. 동일한 숫자를 가져온 경우, 흑색 타일을 왼쪽에 세운다. 모든 플레이어의 타일 배열 방식이 모두 같다는 사실을 바탕으로 게임이 진행된다.
- 순서를 가위바위보로 정할 수 있다. 진 사람이 선 플레이어, 이긴 사람이 후 플레이어다.
- 선 플레이어가 엎어져 있는 검정색이나 흰색 타일 중 1개를 무작위로 가져와 정렬한다. 이때, 모든 타일이 소요되면 타일을 가져오지 못한다.
- 선 플레이어가 상대방의 타일 1개를 추측하고 맞힐 수 있다. 맞힐 경우, 맞힌 상대방의 타일을 엎고(숫자가 보이게) 다시 공격할 지 멈출 지 선택할 수 있다. 틀릴 경우, 이번 차례에 가져온 타일 1개를 엎어 놓는다(숫자가 보이게). 이때, 공격 시도에 상관 없이 틀릴 경우에는 가져온 1개를 엎어야 한다(숫자가 보이게). 엎어져 있는 타일이 없어 타일을 가져오지 못한 채로 틀리면 가지고 있는 타일 중 아무 타일 1개를 엎는다.
- 선 플레이어가 멈추거나 선 플레이어가 공격해서 실패해 타일이 엎어졌다면 순서가 끝난다. 후 플레이어에게 순서를 넘길 수 있다.
- 후 플레이어는 순서를 넘겨받는다.
- 본인이 소유한 타일이 다 엎어진 상태이면 게임을 종료한다. 이때, 타일 개수가 1개 이상인 경우 승리한다.
- 플레이어 : 타일 더미에서 각각 4개씩 고르기
- 플레이어가 4개 타일 고른 후, 봇(상대방)이 고르기
- 봇이 다 고르면 두 플레이어가 타일 정렬
- 플레이어 턴으로 시작, 타일 더미 중 1개 선택
- 플레이어 타일 정렬 후, 봇의 정렬된 타일 중 1개 선택
- 플레이어가 선택한 봇의 타일에 적힌 숫자 추측, textfield에 숫자 입력하고 누르기
- 정답 검사
- 맞으면 공격할 지, 멈출 지 선택
- 공격 : 4번으로 돌아감
- 멈추기 : 8번(봇 턴)으로 감
- 틀리면 : 8번(봇 턴)으로 감
- 맞으면 공격할 지, 멈출 지 선택
- 봇 턴 : 타일 더미 중 1개 선택 후 정렬
- 플레이어의 정렬된 타일 중 1개 선택, 숫자 추측
- 정답인지 검사
- 맞으면 공격할 지, 멈출 지 랜덤으로 선택
- 공격할 지 : 8번으로 감
- 멈출 지 : 4번(플레이어 턴)으로 돌아감
- 틀리면 : 4번(플레이어 턴)으로 돌아감 11). 계속 4~10번 반복 작업. 각 패널에 놓인 타일이 다 보여지거나, 13개의 타일이 다 들어오게 되면 종료
- JAVA
- Android Studio
- Operating System : Window10 64bit
- CPU : I5-8265U
- RAM : 8GB
- 유양우, 김민지, 전재경
- 턴이 바뀔 때 마다 소리를 넣어서 하지 못했다.
- 가끔 카드를 선택 할 때 에러가 나서 팅기는데 시간 부족으로 건들지 못했다.
- 사람과 1:1 매칭을 구현하지 못한점이 아쉽다.
- 게임은 애니메이션 효과가 있어야 게임인데 애니메이션까지 추가하지 못한점이 아쉽다.
- 게임 구현이 어려워 UI에 집중하지 못했다.
- 게임의 복잡도 때문에 조커카드를 항상 맨 오른쪽에 넣는다는 설정을 한 것이 아쉬웠다.
- 컴퓨터가 무조건 선 턴으로 고정되는 것이 아쉬웠다.
- 턴마다 제한시간을 설정했으면 좋았는데 아쉬웠다.