이 프로젝트는 제가 올해 2, 3월달 즈음에 진행했던 토이 프로젝트입니다. 제가 초등학생일 때 친구들과 손을 맞대고 드래곤볼 제트라는 게임을 했었던 기억이 있습니다. 이 게임을 핸드폰 앱으로 구현한다면 재미있을 것 같아 저의 두 번째 프로젝트로 드래곤볼 제트 게임을 선정했습니다.
이 게임은 저작권 문제가 있을 것 같아 구글 플레이 스토어에는 올리지 않았습니다. 그리고 저의 개인적인 프로젝트이기에 앱의 주인공을 저의 친구로 하여 친구의 허락을 맡고 친구의 사진을 앱에 사용했습니다 ㅎㅎ. 그래서 오늘 포스팅에 친구 사진이 사용된 메인 화면은 올리지 않으려고 하니 이해해주시면 감사드리겠습니다!
약 반 년만에 이 앱을 다시 꺼내 살펴보니 디자인도 많이 부족하고 코딩에서도 비효율적인 부분이 많이 보여 부끄럽습니다만 좋게 봐주시면 감사드리겠습니다 :)
1. 개발 기간
시간이 오래 되어서 기억이 잘 나지 않지만, 2주에서 3주 정도 소요되었었던 것 같습니다.
2. 프로젝트 내용
1) 게임 구현
먼저 드래곤볼 제트 게임에 대해 설명을 드리면, 드래곤볼 제트에는 총 세 가지 선택지가 있습니다. 기, 파, 막기인데요, 기는 파를 쏘기 위한 충전입니다. 기를 하나 모으면 파를 하나 쏠 수 있습니다. 파는 상대를 공격하기 위한 수단인데요, 막기로 파 공격을 막을 수 있습니다. 한 명이 파를 내고 한 명이 기를 내면, 파를 쏜 사람이 이기게 됩니다. 둘 다 파를 쏘거나 막기로 파를 막으면 게임이 계속 진행됩니다.
이 앱은 사용자 VS 컴퓨터 입니다.동그라미로 된 버튼은 왼쪽부터 기, 파, 막기로 사용자의 선택입니다. 가운데 사진은 컴퓨터의 선택인데요, 사용자가 기, 파, 막기 세 가지 선택지 중 하나를 선택하면 컴퓨터는 자신의 선택을 가운데 이미지에 나타냅니다. 이 때 컴퓨터는 랜덤으로 선택을 할 수 있도록 설정했습니다. 오른쪽에 있는 주황색 물체는 사용자가 쌓은 기의 개수를 이미지화 한 것입니다. 기를 모으면 한 개씩 쌓여서 올라가고 파를 쓰면 한 개씩 사라집니다.
2) 설정
이 앱은 배경음악, 효과음, 진동을 조절할 수 있습니다.
3) 기록
기록에서 자신의 전적을 확인할 수 있습니다. 가운데 기록 초기화 버튼을 누르면 기록을 초기화할 수 있습니다.
3. 주요 기술
이 앱에서 처음 쓴 기술은 SharedPreferences였습니다. 이 때는 데이터베이스에 대한 개념이 잡혀 있지 않아 SharedPreferences를 이용해 설정에서 배경음악, 효과음, 진동의 On/Off와 기록 데이터거 앱이 종료되어도 저장되도록 했습니다.
배경음악을 재생할 때는 Service 클래스를 상속받아 활용했습니다. 여기서 MediaPlayer를 이용해 게임을 진행하면서 원활하게 배경음악을 즐길 수 있도록 설정하였습니다.
'개인 프로젝트 > 테크 케찰' 카테고리의 다른 글
[개인 프로젝트] Web Feed (1) | 2020.09.20 |
---|---|
[개인 프로젝트] 맞는 말만 하는 컴활 봇 (0) | 2020.07.17 |
[개인 프로젝트] 재수 없는 타이머 (0) | 2020.07.17 |
개인 프로젝트 - LOL Random Champions (0) | 2020.06.15 |