본문 바로가기
프로젝트

[프로젝트] Whack-a-mole 기능구현 중 마주친 오류

by ye-jji 2023. 5. 23.

기능 구현을 한 뒤 게임을 해 보았다.

 

스타트 버튼을 누르면 두더지가 나오고

두더지를 클릭하면 두더지가 사라지면서 점수가 올라가고

300ms 뒤에 두더지가 다른 구멍에서 등장한다.

 

 

 

 

근데 여기서 문제가 생겼다..

10마리를 다 잡아도.. 점수가 90점밖에 안나온다..

(HOME 버튼은 css가 적용이 안된거 같다.. 하지만 이건 사소한 거니 나중에 대충 고치는걸로..ㅎㅎ)

 

 

 

 

 

그리고나서 곧바로 다른 오류도 발견했다..^^

 

클릭하지 않아도 일정 시간이 지나면 두더지가 사라지고 다른 구멍에서 두더지가 나와야 되는데....

클릭을 하지 않으면 그 두더지는 그대로 있고 새로운 두더지도 나오지 않는다..ㅋㅋㅋㅋㅋ큐ㅠㅠㅠ

 

 

로직 자체는 그렇게 복잡하다고 생각하지 않았는데..

컴퓨터의 사고방식에 좀 더 가까워져야겠다...

 

잡을 수 있겠지...?

오늘 일단 도전해보고 막히면 로직을 갈아 엎어야 하나..

 

일단 생각해본 해결 방법은 다음과 같다.

지금 내가 짠 코드에서 스타트 버튼을 클릭하면 첫번째 두더지가 뿅 하고 나오는데 그걸 잡을 때 스코어를 놓치는 것 같다.

스타트 버튼을 누르고 나서 두더지를 잡으면 스코어가 올라가도록 추가해봐야겠다.

 

클릭하지 않아도 일정 시간이 지나면 두더지가 사라지는 것을 구현하려면 어떻게 해야 할까?

 

머릿속에 두가지가 생각났는데 일단 첫번째는

클릭 이벤트가 일어나고 일정 시간이 지나면 다음 클릭 이벤트가 일어나지 않아도 해당 두더지가  사라지는 기능을 추가하는 것이다.

근데 이 방법은 다음 두더지가 나타나는 것을 클릭이벤트에 걸어두었기 때문에 다음 두더지가 나타나지 않을 가능성이 높아 보인다.

 

두번째는 다 갈아 엎는것이다..^^

일단 스타트 버튼 누름과 동시에 3초 간격으로 두더지가 나오게끔 이벤트를 걸고 두더지 클릭은 스코어만 확인하는 것이다.

왜 이걸 처음에 생각하지 못했는가...

첫번째 방법을 시도해도  결국 이런 저런 오류로 2번째로 가게 될거 같은.. 기분...^_ㅠ