분류 전체보기 254

백준 11052 c++ 카드 구매하기

https://www.acmicpc.net/problem/11052' 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카..

백준 15990 c++ 1, 2, 3 더하기 5

https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 3가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 단, 같은 수를 두 번 이상 연속해서 사용하면 안 된다. 1+2+1 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 10..

백준 11653 c++ 소인수분해

https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. #include using namespace std; int main() { unsigned long long int N;//입력받을 정수 cin >> N; //에라토스테네스의 체 bool prime[10000001]; for (int i = 0; i < 100000..

언리얼 몬스터 공격

몬스터 블루프린트에서 캐릭터와 몬스터와의 거리가 160이하가 되면 Monster State변수를 AttackChar로 바뀌도록 설정한다 그 다음 isAttacking 이라는 변수를 하나 만들어서 공격을 안하고 거리가 160보다 커지면 설정값을 다시 FollowChar로 바꾸어준다 커스텀 이벤트로 이벤트가 실행되면 isAttacking변수가 False가 되도록 새로운 이벤트를 생성한다 애니메이션에 OnAnimEnd_Attack이라는 새로운 노티파이를 생성하고 몬스터 블루프린트에서 애니메이션이 해당 노티파이에 닿으면 방금 생성한 이벤트를 발생시켜 isAttacking을 False로 만든다 다시 몬스터 블루프린트가서 거리가 180보다 크면 FollowChar로 상태를 바꾸어주고 아니라면 공격 애니메이션을 실행..

언리얼 캐릭터 AI 추가

먼저 몬스터 블루프린트로 들어가서 DistancePlayerChar라는 변수를 하나 만들어준다 이 때 기본값은 임의의 큰 값으로 초기화 해둔다. 그런 다음 캐릭터와 몬스터의 거리값의 차를 DistancePlayerChar로 저장하도록 변수에 연결해주고 그 값을 string으로 출력되도록 연결해보면 다음과 같이 출력된다 캐릭터를 향한 방향도 필요하기 때문에 방향 vector형 변수를 하나 추가한다. 캐릭터와 몬스터의 거리뿐만 아니라 방향도 필요하기 때문에 vector를 받아 온다 이 때 vector는 횡스크롤이기 때문에 Y축만 받아오면 된다. 이제 열거형 블루프린트를 하나 만들어준다 열거형 블루프린트 안의 변수는 다음과 같이 설정한다 몬스터 블루프린트에서 tick이벤트 자리에 새로운 이벤트로 SaveDis..

언리얼 몬스터 데미지 처리

캐릭터 블루프린트에서 먼저 Atk 변수를 만들고 35로 설정한다 캡슐 콜리전에 닿았을 때 Apply Damage 노드를 연결해준다 그리고 몬스터 블루프린트로 가서 hp변수를 100으로 설정해주고 노드를 다음과 같이 연결해서 hp가 0 밑으로 떨어지면 죽는 애니메이션 몽타주를 실행하도록 한다 몬스터가 죽는 애니메이션에서 새로운 몽타주 섹션 (Loop)을 만들어 loop의 다음 섹션을 loop으로 체크해 끝 부분이 무한 반복 되도록 한다. 그 다음 몬스터 매쉬를 찾아서 설정을 바꿔준다(맞았을 때 빨간색으로 히트 표시 하기 위함) 매쉬부분을 들어가면 다음과 같이 되어있는데 노드를 이런식으로 바꿔준다 그런 다음 머터리얼 인스턴스를 생성해서 다음과 같이 R에만 1, 나머지 G,B 에는 0 을 주어서 빨간색 머터리..

백준 11576 c++ Base Conversion

https://www.acmicpc.net/problem/11576 11576번: Base Conversion 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 www.acmicpc.net 문제 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 세계에서도 프로그래밍을 하고 싶었던 정이는 백준 사이트에 접속하여 문제를 풀기로 하였다. 그러나 미래세계는 A진법을 사용하고 있었고, B진법을 사용하던 정이는 문제를 풀 수가 없었다. ..

언리얼 몬스터 추가

먼저 블루프린트 폴더에 부모클래스가 Character인 블루프린트를 하나 생성한다 오른쪽 매쉬 부분에 고블린 매쉬를 찾아서 넣어주고 캡슐에 맞도록 크기를 설정해준다 이후 애니메이션 폴더에 애니메이션 몽타주를 하나 만들어주고 스켈레톤은 고블린으로 설정한다 New State Machine 을 추가하고 안에는 IDLE애니메이션을 추가한다 이제 위에 생성한 몬스터 블루프린트->매쉬 에서 애니메이션을 지정해준다 그리고 뷰포트에 몬스터를 추가하면...

언리얼 공격 콜리전 추가

캐릭터 블루프린트로 들어가서 애니메이션 모드를 use Animation Asset으로 바꿔준 뒤 캡슐 콜리전을 추가해서 Mesh에 상속되도록한다 이때 캡슐 콜리전의 디테일 패널에서 부모 메시에 따라다닐 소켓을 지정해주고 Shape를 칼에 맞게 지정해준다 콜리전 캡슐은 칼에 고정시켜주고 상세설정은 다음과같이 해논다 그리고 블루프린트에서 자신이 아닌 다른 콜리전이 있는 오브젝트와 닿았을 시 해당 오브젝트를 파괴하도록 코드를 짠다 공격 애니메이션 몽타주에서 공격에 콜리젼을 넣을 부분과 끝나는 부분을 각각 새 노티파이로 잡아준다 캐릭터 블루프린트에서 [커스텀 이벤트 추가] -> OnCollStartAttack과OnCollEndAttack을 만들어준다 이제 캐릭터 애니메이션 블루프린트에서 해당 노티파이가 실행되면..