전체 글
-
230101 Trial Algorithm기록 2024. 1. 2. 15:30
검색 알고리즘으로 사용되는 Trail 알고리즘을 구현해보았다. #include #include #include #include class Trial { class Node; public: Trial() { Root = new Node(); } ~Trial() { if (nullptr != Root) { delete Root; Root = nullptr; } } void insert(std::string _word) { Node* curIter = Root; for (char _ch : _word) { if (curIter->child.end() == curIter->child.find(_ch)) { curIter->child[_ch] = new Node(); } curIter = curIter->chil..
-
231231 MFC기록 2023. 12. 31. 21:15
mfc( Microsoft Foundation Classes )를 접해보게 되었다. mfc는 winAPI, DirectX 사이에 처음 개발되었으며 현재는 업데이트 지원을 하지 않는다. 하지만 많은 win application이 mfc로 만들어졋다고 한다. mfc를 접하고 하게된 이유는 [2024 카카오 채용 연계형 겨울 인턴십] Tech직군 Programming - Windows에 서류+코테 합격을 받아 pc카카오톡을 만든 mfc가 뭔데??하는 생각으로 시작하였다. mfc에서 가장 특징적인것은 도구상자였다. 이 도구상자를 보며 Xcode 에서 swift 코딩과 비슷하다고 생각하였다. Windows API와 달리 기본적인 기능을 제공하는 class들이 만들어져 있다고 생각하면 된다. 또한 Windows A..
-
231229 list 자료구조 만들어보기기록 2023. 12. 29. 19:13
#include #include //template class list { private: class Node { public: Node() :Prev(nullptr), Next(nullptr), m_value(0) { } Node(Node* _Prev) { Prev = _Prev; Prev->Next = this; Next = nullptr; m_value = 0; } Node(Node* _Prev, Node* _Next) { Prev = _Prev; Prev->Next = this; Next = _Next; Next->Prev = this; m_value = 0; } ~Node() { if (nullptr != Next) { Next->Prev = nullptr; Next = nullptr; } if..
-
231220 Death's Door project 설명 영상 제작, vector 자료구조 만들어보기기록 2023. 12. 20. 15:22
데스도어 모작 팀 프로젝트 vector template class vector { public: // 생성자 vector(const int& temp = 10) { arr = new T[temp]; m_size = 0; m_capacity = temp; } // 소멸자 ~vector() { delete[] arr; arr = nullptr; } T& operator[](size_t index) { if (index >= m_size) { // 오류메세지 return nullptr; } return arr[index]; } void push_back(const T& num) { if (m_capacity
-
231011 이펙트 메쉬 적용, 몬스터 공격 액터 생성, 본 애니메이션 weight 변경, 그 외기록 2023. 10. 11. 22:37
1.이펙트 메쉬 적용 플레이어가 기본공격을 할 때 타격 범위에 이펙트가 생성되는데 리소스 안에 해당하는 메쉬가 존재하므로 이펙트 메쉬 랜더를 만들도록 하였다. 쉐이더를 통해 추가 효과를 줄 예정이다. 2. 몬스터 공격 액터 생성 몬스터는 플레이어 방향으로 공격 애니메이션을 반복하는데, 특정 프레임에 공격할 수 있는 액터를 생성하고 발사할 수 있도록 하였다. 문제발생) 플레이어에서 몬스터가 쏘는 오브젝트와 콜리전체크가 되지 않는 문제가 발생하였다. 실제 충돌하지 않아 발생하는 문제로 피직스 컴포넌트의 피봇 위치를 아래쪽으로 변경하여 해결 하였다. 3. 애니메이션 애니메이션 메쉬의 glass 위치가 이상함을 확인하였다. 3ds max의 본의 가중치(weight table)을 통해 문제를 해결하였다.
-
231010 플레이어 문제해결, 화살 매쉬 생성, 2D방향을 3D에 적용,기록 2023. 10. 10. 20:44
플레이어 문제점1 Player State가 Idle 혹은 Move일 때 CheckFalliing함수를 통해 땅과 플레이어 사이를 계산하고, 그 값이 일정이상 넘으면 falling state로 변경하게 하였다. void Player::CheckFalling() { // Falling Check float4 PlayerGroundPos = GetTransform()->GetWorldPosition(); // 플레이어의 위치 float4 CollPoint = float4::ZERO; // 충돌체크할 변수 if (true == m_pCapsuleComp->RayCast(PlayerGroundPos, float4::DOWN, CollPoint, 2000.0f)) // 플레이어 위치에서 float4::DOWN 방향..