오늘의 과제입니다.

블루프린트를 이용한 게임 만들기 : 텍스트 슈팅 게임

지금까지 배운 블루프린트의 기능을 이용하여 간단한 텍스트 슈팅 게임을 만들어보려고 합니다.

슈팅 게임의 주요한 특징 중 하나는 총알을 발사하고, 재장전하는 것이라고 할 수 있습니다.

블루프린트를 이용해 총알을 발사하고, 재장전하는 기능을 만들어보도록 하겠습니다.

기본적으로 해당 기능은 아래 조건을 만족한다고 가정해봅시다.

<aside> 🗒️

  • 총알은 기본적으로 30발이 주어집니다.
  • 마우스 좌클릭을 할 때마다 총알이 1발씩 발사됩니다.
  • 키보드 R을 누르면 총알 30발이 재장전됩니다. </aside>

이때 버그가 존재하는데요.

버그를 한번 고쳐봅시다.

1) 총알 발사 버그

<aside> 🐛

현재 구현 상 마우스 클릭을 30번 이상하는 경우에도 총알이 발사가 됩니다.

30발 이상 총알을 발사하려고 하는 경우, 발사가 불가능하도록 버그를 수정해봅시다.

</aside>

2) 총알 재장전 버그

<aside> 🪲

현재 구현 상 총알이 30발 가득차 있는 경우에도 총알이 재장전 됩니다.

총알이 가득차 있는 경우, 재전이 불가능하도록 버그를 수정해봅시다.

</aside>

 

블루프린트를 이용해 r키를 누르면 총알이 장전되는 것을 먼저 구현했습니다.

또한 if문을 사용하여 30발이상이면 r를 눌러도 장전하지않아도 된다는 문구를 넣었습니다.

또한 이렇게 demage 와 heal를 만들어 f키를 누르면 10씩 hp가 증가하도록 구현하였으며 총을 쏘기 위해 마우스를 클릭하면 총알이 하나씩 사라지고 마우스가 떼지면서 데미지를 입게됩니다.

 

 

두번째 과제입니다

While Loop를 이용해 구구단 구현하기

블루프린트 반복문에는 For Loop 이외에도 While Loop가 있다는 것을 배웠습니다.

이번에는 While Loop를 이용해 구구단을 구현해봅시다.

반복문은 Index를 이용해 구구단의 로직을 구현했었는데, While Loop는 Condition을 이용해 이를 구현해야 합니다.

앞서 학습한 내용을 복습해보고, While Loop를 이용한 구구단을 구현해봅시다.

 

자 이렇게 a와 b의 변수를 만들어 두개의 while 문을 사용하여 구구단을 출력해보았습니다.

결과값은 이렇게 나오는데요 보통 너무 빨리 사라져서 확인이 불가하시다면 durartion을 조절하여 길게 보시는것도 가능합니다.

 

세번째 과제입니다!

열거형을 이용해 가위바위보 구현하기

지금까지 학습한 내용을 바탕으로 가위바위보를 구현해봅시다.

주요하게 구현해야 하는 알고리즘은 다음과 같습니다.

<aside> ✊🏻

  1. 열거형으로 가위, 바위, 보를 지정한다.
  2. 플레이어의 값은 키보드 입력으로 결정한다.
  3. 컴퓨터의 값은 랜덤 함수로 결정한다.
  4. 플레이어의 승/무/패 결과를 출력한다. 

 

이번 과제는 좀 복잡한데요.

일단 1,2,3을 차례로 바위 가위 보 에 대응시켜주겠습니다.(ex. 1을 누르면 바위가 됩니다)

또한 랜덤값을 뽑아내어 컴퓨터의 값도 정해주어야합니다.

랜덤함수를 사용하여 랜덤값을 받아 to byte로 computer 값을 셋 해주겠습니다.

일단 무승부인지 판명을 하기위해 값이 같으면 무승부라는 문구를 띄워줍니다.

 

이제부터 모든 경우의 수를 출력해줘야하는데요.

이렇게 무승부가 아닌경우를 switch on 을 사용해줘서 모든 경우의 수를 나눠줍니다

 

자 이제 결과를 보겠습니다.

 

출력이 다양하게 되는걸 확인할 수 있습니다!