[UE5 TIL] Day 24 - C++ 팀프로젝트

JungHoon Eum·2026년 3월 30일

오늘의 교훈

  • 생각보다 커밋-푸시-머지에서 충돌은 잘 나지 않는다. 새 파일 추가하거나 삭제할 때마다 vcxproj 충돌이 날 확률이 높은 것에는 주의
  • 자손 클래스를 제대로 활용(업캐스팅 하면서) 하기 위헤선 필연적으로 포인터를 써야 하는데...데이터 안전을 위해 std::unique_pointer<Enemy>를 쓰게 되면 뭔가뭔가 너무너무 길어진다.
    • 하지만 어쩔 수 없는 것인가...
    • 복사가 안되는 데이터이다 보니 const & 형태를 많이 쓰게 된다.
  • 클래스 설계를 할 때 입력값과 반환값 설정이 제일 중요한 것 같다.
    협업 과정에서 파일을 넘나드는 수정이 제일 두려운데 이것을 해야 할 가장 큰 이유가 이 매개변수랑 반환자료형
    • 비효율적이고 필요없을 수도 있어도 get함수와 set 함수를 만들어 두는 게 중요한 이유기도 하다.
  • state machine 은 게임을 관리함에 있어서 가장 편리한 방법. enum class 와 같이 쓰면 가독성이 최고다.
  • Dummy 를 설계해 두는 건 정말 중요. 어쨌든 프로그램 내에서 돌아가는 구조만 짜 두면 변수 찾아서 변경하기는 생각보다 쉽다.

코드 뭉치

  • UI를 규격화, 파편화 한 후 StateMachine 에 넣고 돌리기 -> 통일성 있는 UI 출력 가능
    • \n 도 딴 데 집어넣을걸...
  • 랜덤 써서 원하는 범위 뽑아내는 방법
std::random_device rd; //랜덤 시드 생성기
std::mt19937 gen(rd());//랜덤 시드 rd 받아서 랜덤 난수 계속 뽑아내기
std::uniform_int_distribution<int> normalDist(0, 8);//normaldist는 사실 그냥 함수이름. 
//여기선 uniformDist가 사실 맞다.
//여기서 int i = normalDist(gen); 하면 i에 0~8까지 난수 들어간다.
profile
개발지망생

0개의 댓글