분류 전체보기
2023년 하고 싶은 게임들..
1. 데드스페이스 리메이크 (1) 데드 스페이스 리메이크 - 데모 게임 플레이 영상 - YouTube 출시는 2023년 1월 27일 개인적으로 최고의 기대작입니다. 원래 데드스페이스를 해보고 2~3를 출시하자마자 구매할 만큼 좋아하던 작품이었는데.. 근본 넘치는 1편이 리메이크 된다니 너무 기대가 됩니다. 2. 젤다의 전설 야숨2 (1) 『젤다의 전설 브레스 오브 더 와일드』 속편 [Nintendo Direct | E3 2021] - YouTube 출시일은 2023년 5월 12일이네요. 야숨을 아직도 다 못 깻지만.. 야숨2는 무조건 사야할 것 같습니다. 야숨도 스위치를 방구석에 쳐박아놔서 중간에 못한거지 사실 매우 재밌었어요. 이번에는 사놓고 쳐박아놓지 않기를 바랍니다.. 3. 바이오하자드 4 리메이크..
C++의 기초 - 4
* const - const가 붙은 변수는 상수로 처리됩니다. 1. const * #include int main() { int i = 6; const int *A = &i; (*A)++;//불가능, 컴파일 에러 printf("%d", *A); return 0; } - const *는 포인터 접근을 통한 값의 수정을 막습니다. - 즉, A의 포인터 값은 변경 가능하지만, A가 가리키는 데이터를 바꿀 수 없습니다. #include int main() { const int *A = new int(5); printf("%d\n", *A);//5 A = new int(7); printf("%d", *A); //7 return 0; } - 예를 들어, 위와 같은 코드는 멀쩡히 동작합니다. 왜냐하면, 주소는 A가 ..
[C++] 백준 - 1202번 문제
1202번: 보석 도둑 (acmicpc.net) 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 1202번 : 보석 도둑 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로..
UC++ 프로젝트 - 6
* 무기 교체 구현 · Popolit/MyActionGame@c8c1197 (github.com) * 무기 교체 구현 · Popolit/MyActionGame@c8c1197 - 무기 교체 시 BlendSpace 애니메이션 교체 구현 - 무기 교체 완료 시 Delegation 구현 * 무기 Asset 제작 Plugin Toolbar 구현 - 클릭 시 창 레이아웃이 나타나도록 구현 - 새 WeaponAsset 객체가 생성되도록 구현 github.com * 무기 교체 구현 - 무기 교체 시 BlendSpace 애니메이션 교체 구현 - 무기 교체 완료 시 Delegation 구현 * 무기 Asset 제작 Plugin Toolbar 구현 - 클릭 시 창 레이아웃이 나타나도록 구현 - 새 WeaponAsset 객체..
[C++] 백준 - 9935번 문제
9935번: 문자열 폭발 (acmicpc.net) 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 9935번 : 문자열 폭발 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. ..
GOF 프로그래밍 패턴 - 경량 패턴
* 인스턴싱과 관련이 있는 패턴입니다. 예시) 위와 같이 똑같은 나무를 잔뜩 심을 거라고 가정해 봅시다. 나무 객체 데이터 수십, 수백개를 저장한다면 메모리가 터져버리고 말겁니다. class Tree { private: Mesh mesh; Texture leaves; //.... Vector position; }; 위는 일반적인 트리 클래스의 정의입니다. 그러나, 우리는 메시부터 텍스쳐 등의 내용은 모두 동일하고 나무의 위치, 회전 각도 정도만 차이가 있다는 사실을 알 수 있습니다. 이번에는 경량 패턴을 적용해보겠습니다. class Tree { private: Mesh *mesh;//공통 내용은 주소화 Texture *leaves; //.... Vector position; }; 공통 내용이 주소로 변하..
GOF 프로그래밍 패턴 - 명령 패턴
* 예를 들어, 어떤 키를 입력받았을 때 위와 같은 명령을 수행한다고 가정합니다. void InputHandler::handleInput() { if(isPressed(BUTTON_X) jump(); else if(isPressed(BUTTON_Y) fireGun(); else if(isPressed(BUTTON_A) swap_weapon(); else if(isPressed(BUTTON_B) lurch(); } 아주 단순하게 코드를 짜면 위와 같이 짤 수 있을 것입니다. 하지만, 사용자가 키설정 바꿀 수 있는 게임이라면 이렇게 코딩하면 안될 것입니다. 따라서, 다음처럼 코드를 바꿔봅시다. class Command { public: virtual void execute() = 0; }; //상속 clas..
[C++] 백준 - 25682번 문제
25682번: 체스판 다시 칠하기 2 (acmicpc.net) 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 25682번 : 체스판 다시 칠하기 2 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 K×K 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져..