본문 바로가기

App Inventor 2

무당벌레 추적게임

 

 

 

" 무당벌레가 개구리에게 잡혀 먹지 않고 오랫동안 버티는 게임 "

- 무당벌레가 개구리에게 잡혀 먹거나 에너지 레벨이 0인 경우 게임 끝

- 진딧물을 먹었을 경우 에너지 레벨 증가

 

 

 

 

 

 

 

1.  Designer 부분

 

 

2.  Blocks 부분

 

pictureList_index = 1, timeCount(무당벌레가 버틴 시간) = 0, energy(에너지 레벨) = 300으로 초기화 시킨 후, picturelistaphid.png(진딧물), frog.png(개구리), ladybug_01_T.png(무당벌레) 을 추가한다.

 

 

Clock은 아래 그림 [Properites]을 확인하면 1초단위로 동작하는 것을 알 수 있다. 여기에 계속해서 1초씩 더해 무당벌레가 버티는 시간을 센다. UpdateLadybug(무당벌레 행동), UpdateAphid(진딧물 행동), UpdtaeFrog 행동을 설정하고, 무당벌레가 버티는 시간을 화면에 띄워준다.

 

 

 

UpdateLadybug는 무당벌레의 행동을 설정해주는 부분으로, 무당벌레의 에너지 레벨이 1초당 10씩 줄어들게 하고, 에너지 레벨이 0이 되면 게임을 종료시킨다. 무당벌레의 속도를 방향센서 크기 값에 100을 곱한 값으로 변경해주고, 무당벌레의 방향을 방향센서(OrientationSensor) 각도로 지정해준다.

 

 

UpdateAphid는 진딧물의 행동을 설정해주는 부분으로, 진딧물 방향을 0º~360º까지 임의로 변경되게 해준다. 진딧물이 보이는 상태라면 20%의 확률로 진딧물의 방향을 바꾸게 설졍하고, 보이지 않는 상태라면 40%의 확률로 진딧물을 출몰하게 설정해준다.

 

 

UpdateFrog는 개구리의 행동을 설정해주는 부분으로, 30%의 확률로 x좌표와 y좌표를 설정해준 각도로 바꾸게 설정한다.

 

 

이 부분은 무당벌레가 진딧물을 잡아먹거나 개구리에게 잡아 먹혔을 때 처리해주는 부분이다. 무당벌레가 진딧물에 부딪히면 "EatAphid" 함수를 불러와 처리해주고, 무당벌레가 개구리와 부딪히면 에너지 레벨이 0으로 변하고 경고음이 들리면서 게임이 종료된다.

 

 

이 부분은 무당벌레가 진딧물을 먹었을 경우를 설정해주는 부분이다. 무당벌레가 진딧물에 부딪히면 에너지 레벨이 50 증가하고, 진딧물이 사라졌다가 게임 필드 내에서 임의의 좌표로 이동한다.

 

 

"DisplayEnergy""DrawEnergyLine" 함수는 에너지 레벨을 빨간색 바가 줄어드는 형대로 만들어, 에너지 레벨이 30 이하로 줄어들면 경고 사운드를 울리게 해준다.

 

 

게임이 종료되면 무당벌레와 진딧물, 개구리, 타이머를 멈추게 하고, 무당벌레 사진은 죽은 사진으로 바뀌게 설정해주는 부분이다.

 

 

[newGame] 버튼을 누르면 에너지 레벨과 무당벌레가 버틴 시간 등의 설정들이 초기화되게 설정해준다.

 

 

사진 고르기 버튼으로 리스트 안에 있는 무당벌레의 먹이가 되는 이미지를 진딧물 말고도 다른 이미지로 선택할 수 있게 설정해주는 부분들이다.

 

 

 

※ 참고 URL

꾸숑의 ICT 월드, 무당벌레 추적하기, 2017.10.02., https://kusson.tistory.com/238?category=635753

'App Inventor 2' 카테고리의 다른 글

Ladybug Game 만들기  (0) 2019.05.09
슈팅 게임  (0) 2019.05.09
Ladybug Game 설계  (0) 2019.05.09