
사용자 지정 플레이어 컨트롤러 우리는 인풋 비활성화 및 마우스 커서 설정 등 플레이어 컨트롤러에 대해 다루었다. 이를 따로 클래스로 생성하여 직접 기능을 추가해 커스텀하는 것 또한 가능하다. 이어서 블루프린트 클래스 또한 생성해주자. 이제 게임 모드로 가서 방금 만든 컨트롤러를 기본 컨트롤러로 할당해주자. 기본적인 생성 및 할당은 끝났으니, 구현을 해줄 차례이다. 우리가 구현해줄 내용은 플레이어 인풋에 대한 처리와, 마우스 커서에 대한 내용이다. 이를 처리하기 위해 우선 함수를 선언해주자. 해당 불 타입 변수를 토대로 인풋 활성화/비활성화를 체크하고, 이어서 마우스 커서에 대한 것도 할당하게 된다. 인풋에 대한 함수는 EnableInput과 DisableInput 함수를 사용한다. 해당 함수들은 폰에 속..

Pawn 죽음 다루기 Pawn의 죽음을 다루기 위해서는 몇가지 함수가 추가적으로 필요하다. 먼저 죽음을 다루기 위한 함수가 필요하다. 죽음은 폰인 탱크 뿐만이 아니라, 타워도 죽음이 존재하므로 우선 베이스폰에서 해당 함수를 구현해준다. 구체적인 죽음에 대해서는 각 타워 및 탱크에서 다루게 된다. 여기서는 공통적인 부분으로 사운드와 이펙트를 다루게 되는데, 지금은 하지 않으므로 빈 칸으로 냅두고 넘어간다. 이어서 우선 타워에서 해당 함수를 구현해주자. 타워의 경우 간단하게 Destroy를 통해 파괴를 해주면 된다. 이때 베이스폰에서의 사운드와 이펙트 기능을 상속 받기 위해 Super를 사용해준다. 하지만 탱크의 경우는 다소 복잡하다. 우리는 탱크가 죽더라도 탱크의 뷰를 가지고 있는 것을 원한다. 따라서 인..

Game Mode 클래스 대략적인 게임의 형태를 만들었으니, 이제 게임과 관련된 규칙을 만들어 주자. 이를 위해서 Game Mode 클래스를 사용하며, 폰 죽음 및 죽음으로 인한 게임 승패 여부와 같은 것도 해당 클래스를 통해 구현하게 된다. 먼저 C++ 클래스를 통해 생성해주자. C++에서 일단 생성됐으니, 이를 바탕으로 블루프린트 클래스 또한 만들어주자. 기존에 우리가 플레이어 자동 빙의 기능을 이용하여 폰을 세팅했지만, 이제 게임 모드가 존재하기 때문에 여기서 디폴트 폰 클래스를 탱크로 지정해줄 수 있다. 우선 프로젝트 세팅에서 하는 방법이 존재한다. 하지만 우리는 블루 프린트에서 이를 조정하도록 할 것이다. 직전에 만들었던 블루프린트 클래스를 이용하여 디폴트 폰 크래스를 조정할 것이다. 이제 월드..
문제링크 : https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, arr[100001]; ll result = 0; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=1..