2023. 9. 4. 15:38ㆍjava
개발 기간 : 2021.08 ~ 2021.10
java를 사용하여 Android 게임인 두더지 잡기를 개발하여 출시까지 해보았습니다
게임 로직 부분 :
private void enejwlmove() {
if (delaytimesw == true) {
enejwlm();
}
}
private void enejwlmove1() {
if (delaytime1sw == true) {
enejwlm();
}
}
private void enejwlmove2() {
if (delaytime2sw == true) {
enejwlm();
}
}
// ...
private void enejwlm() {
enejwl[rnum1] -= 70;
enejwl[rnum2] -= 70;
enejwl[rnum3] -= 70;
cnt0 = 0;
cnt1 = 0;
cnt2 = 0;
// ... (이하 생략)
}
private void enejwlmove1(int n) {
enejwl[n] += 70;
}
private void timecheck() {
time++;
}
private void countdown() {
ctime--;
if (stage == 1 || stage == 2 || stage == 3) {
if (X >= -400) {
X -= 0.2;
} else {
X = -400;
}
if (X <= 170) {
X -= 0.2;
} else {
X = 170;
}
}
}
private void pluscount() {
if (spe == 1) {
X += 30;
point += 30;
}
if (spe == 2) {
X += 40;
point += 40;
}
if (spe == 3) {
X += 40;
point += 60;
}
}
게임 UI 및 사용자 입력 처리:
@Override
public boolean onTouchEvent(MotionEvent event) {
// ... (터치 이벤트 처리 코드)
return true;
}
백그라운드 스레드 관련 코드:
class BackThread extends Thread {
public void run() {
while (retry) {
try {
Handler1.sendEmptyMessage(0);
Thread.sleep(5);
} catch (InterruptedException e) {
// ...
}
}
}
}
Handler Handler1 = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 0) {
// 게임 상태 업데이트 및 화면 다시 그리기
invalidate();
}
}
};
해당 게임을 개발할때 가장 어려웠던 부분은 코드 부분이 아닌 이미지를 구하는 것이 가장 어려웠다고 생각합니다 왜냐하면 이미지를 구할때 해당 이미지 및 배경 음악에 대한 저작권이 가장 고려해야하는 부분이었기 때문에 이부분에서 자유로우면서 제가 생각하는 두더지에 맞는 이미지를 구하는 것이 많은 시간이 걸렸습니다
따라서 이 프로젝트를 하면서 제가 예전에 생각했던 두더지 게임이 작은 프로젝트임에도 불구하고 혼자서 하기에는 고려해야하는 상황이 적지 않게 발생하였기 때문에 다음에 다른 프로젝트를 할 때에도 이런 상황을 미리 생각하고 보완을 할 수 있을것같습니다