내일배움캠프 3일차 - DAY 3 블루프린트를 이용한 비주얼 스크립팅
과제 : 텍스트 슈팅 게임을 만들어 다음과 같이 만들어봅시다.
1) 좌클릭으로 발사, 온도증가, 탄환이 없으면 발사불가.
2) R키 재장전, 탄환이 가득찼으면 재장전 불가.
3) T키 냉각으로 온도감소, 온도의 수치의 따라 Normal(0~30), High(31~70), Over(71~) 표시
4) 숫자키 0,1,2을 누르면 각각 '라이플', '샷건', '피스톨'로 교체 가능
구현방법
우선 Weapon이라는 구조체를 생성해 그곳에 장탄수, 온도, 온도별 상태에 관한 변수를 추가해줍니다. 온도 별 상태의 경우 열거형(Enum) 변수로 생성합니다.
[1] 좌클릭 발사
좌클릭을 하면 아래와 같은 시퀀스를 거치게 된다.
1) 탄환이 0보다 높으면 다음으로 넘어가고 그렇지 않으면 'Out of Ammo'를 출력.
2) 탄환에 '증감연산자 --'를 넣어 1을 빼고 온도에 '증감연산자 ++'를 넣어 1을 더한다.
3) 온도가 70보다 높으면 열거형 값 'Over'를, 30보다 높으면 'High'를, 그렇지 않으면 'Normal'를 적용.
4)현재 무기이름과 장탄수, 온도와 온도별상태가 입력된 구조체를 출력.
[2] R키 재장전
1) 탄환이 최대 장탄수보다 적으면 다음으로 넘어가고 그렇지 않으면 'Already full'을 출력.
2) 탄환의 값을 구조체에 저장된 '최대 장탄수'로 대입.
3) 'Reloaded' 출력.
[3] T키 냉각
1) 구조체에 저장된 온도값에 '증감연산자 --'를 적용해 온도를 1 줄인다.
2) 온도가 70보다 높으면 열거형 값 'Over'를, 30보다 높으면 'High'를, 그렇지 않으면 'Normal'를 적용.
3) 'Cooling', 현재 온도값 및 상태 출력
[4] 0,1,2키 무기교체
0번키를 누르면 'Rifle', 1번키를 누르면 'Shotgun', 2번키를 누르면 'Pistol'로 교체되면서 현재 사용중인 무기구조체가 변경된다. 변경후에도 사용한 무기의 구조체정보는 유지되며, 재사용 시 값이 이어 변동한다.
초반 강의임에도 제법 난이도가 높은 과제가 나왔다. 배열이나 참조의 사용법은 강의에서 배우지 않았거나 덜 익힌 것들인데, 여기서 많이 고전하는 사람이 있을 것이라 생각된다.
댓글
댓글 쓰기