본문 바로가기
반응형

전체 글63

디자인 패턴 - 컴포넌트 패턴 (Component) 컴포넌트 패턴이란? 각각의 기능을 가지고 있는 부품(Component)들을 추가하며 붙여 조립식으로 사용하는 패턴. 자식-부모 관계의 상속과는 달리, 각각의 부품들끼리 서로 영향을 주지 않아 결합도(커플링)가 없다. 때문에 확장성이 좋아 컴포넌트를 추가/제거하기 편리하다. Ex) 상속 - 그녀가.. 젤나가다 컴포넌트 - 그녀는 젤나가 속성를 가지고 있다. 구현 CreateCom을 통하여 컴포넌트를 생성하면, 일반적으로 오브젝트List에 추가하고, Actor(몸통)을 this로 변경하여 표시한다. 이후 해당 컴포넌트는 Actor의 위치 좌표를 변경하거나, Actor를 삭제하거나 하는 등, Actor를 기준으로 영향을 미치며 작동한다. 사용 예시 내 오토체스 포트폴리오에 사용된 컴포넌트 패턴에 대한 예시이다.. 2022. 6. 26.
디자인 패턴 - 싱글톤(Singleton) 싱글톤(Singleton) 이란? 자기 자신을 static 형식으로 보유하고 있는 클래스로, 객체의 인스턴스가 오직 하나만 생성되는 디자인 패턴이다. 싱글톤의 기본 구조 - C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } Colored by Color Scripter cs 템플릿을 활용한 싱글톤 - Unity(C#) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .. 2022. 6. 26.
내적 내적 점곱(점들의 곱)이라고 불리기도 하는 내적은 스칼라값을 내는 벡터 곱셈의 일종이다. 결과가 스칼라 값이라 스칼라 곱이라고 부르기도 한다. 벡터 A = (Ax, Ay, Az)일때, 두 벡터의 곱은 AxBx+AyBy+AzBz이다. 이는 A*B = ||A|| ||B|| cosC 가 되며 C를 통하여 AB사이의 각도를 구할 수 있다. (||A|| = A벡터의 크기 = √(x^+y^+^))) 그 증명은 A = (1, 2, 3)이고 B = (-4,0, -1)이라고 할 때, A*B = (1,2,3) * (-4,0,-1) = -4-3 = -7 ||A|| = √(1^+2^+3^) = √14 ||B|| = √17 cosC = A*B/||A||||B|| = -7/√14√17 C = acos(-7/√14√17) = 약1.. 2022. 1. 5.
[DirectX 9 2D] Slay the Spire 모작 Slay the Spire 모작 게임 소개 : 보스전 중심의 덱 빌딩 턴제 카드게임. 작업 기간 : 2019/04~2019/05 (1개월) 인원 : 1인개발 개발 환경 : Visual Studio 2019 개발 도구 : Microsoft DirectX 9, FMOD 포트폴리오 영상 주소 : .https://youtu.be/nqXjS3Sz6MQ 원작 게임 주소 : https://store.steampowered.com/app/646570/Slay_the_Spire/ 2년전에 만든 게임의 영상을 이제와서 다시 부활시켜보니 충격적이게도 배경음만 있고 효과음이 없다. 이유를 모르겠음... 2021. 11. 30.
백준 10282번 - 해킹 (C++) 문제 해결 방법 우선순위 큐(priority_queue)에 현재 감염된 컴퓨터와 연결된 컴퓨터들을 감염시간과 함께 pair 형식으로 넣어주었다. 큐에서 이를 반복하였다. 또한, 소요 시간이 초기값이 아니라면, 이미 한번 이 컴퓨터가 해킹당했고, 우선순위 큐에서 이전에 탐색되었다는 의미는 이미 더 짧은 소요 시간으로 도달할 수 있다는 의미이기 때문에 continue해주었다. 아쉬웠던 점 없음 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 6.. 2021. 11. 3.
백준 13460번 - 구슬 탈출 2 (C++) 문제 해결 방법 DFS를 사용해서 해결했다... (덕분에 해결 시간은 매우 높다) 실행 방식은 그냥 평범한 DFS... 라서 더 설명할 것이 없다. 구슬의 이동은 따로 구슬의 좌표들을 미리 저장해 구슬을 매번 찾는 손해는 없도록 하였으며, 구현은 그냥 반복을 통하여 이동/탐색하며 빈칸이 아닌 공간을 찾고, 막혀있는 공간을 만난다면 그 바로 이전 칸으로 이동하게끔 하였다. 예외적으로 구멍인 O는 만나면 이동이 아니라 구슬이 삭제되게끔 하였다. 아쉬웠던 점 보자마자 감이 와서 바로 푼 문제인데, BFS로 풀어야 하는데 아무 생각없이 브루트포스(전체탐색)이니 간단한 DFS로 해야겠다~ 라는 안일한 생각을 했다. 사실 최단거리 구하는거면 당연히 BFS를 생각했어야 했는데 수련이 부족한듯 ㅜㅠㅠ 코드 1 2 3 .. 2021. 10. 26.
반응형