ACK, 분반 수업, 과제 마무리



1. 문제를 해결은 하지만 O(N^2)라서 시간초과가 나는 문제가 있음
2. 부적절한 예외처리 (오히려 오답이 돼버림)
3. 약수는 쌍으로 존재하며 만약 주어진 수가 i^2 라면 약수가 홀수이므로 중간 값에 예외처리가 필요, 기존에 있던 대로 제한을 초과하면 추가 연산을 할 필요가 없으니 break; 해서 온전히 구조를 맞춘 형태



그 외 다른 사람의 답안지들.
==========
unique_ptr(UE에서 내부구조)
BP - 비주얼 적으로 특화된 클래스에 가깝다.
DDD - Data Derived Development
블루프린트 Virtual Machine -> 인터프리팅
static linking --정적 링킹(?) ---정적 라이브러리(static library)
include 함수 형을 알아내고 그 형대로 사용하는 것
*.lib
Reflection System
void* 를 통해서 객체에 접근하겠다.
UHT - Unreal Header Tool
HelloWorld1->ClassPrivate
이것이 생기면서 Reflection을 할 수 있게 된다.
문자열을 파싱한다.(분석한다)
Function Table
Function Table(함수 테이블)
문자열을 통해서 함수 리플렉터를 찾고
똑같이 UObject를 리플렉터에 넣어주면 호출된다.
Invoke
delegate
함수 포인터(지옥의 구렁텅이)
FunctionA(0xffffffff)
리플렉터가 주고받는 것(컴퓨터가 주고받는 것)
다음 시간 예시로 만드는 것을 보여주실 내용 솔로몬스
AddDynamic
===
숙제
만든 C++ 클래스들을 블루 프린트로 상속해오기
==========
새로 생성한 ItemSpawnRow.generated.h가 없는 문제가 발생.
모두 다시 빌드를 사용해서 generated.h를 생성하게 유도하니 생겨서 오류가 해결됬다.
UGamePlayStatics::ApplyDamage() -> 데미지를 입혔다(주체) - 어떤 엑터에
AActor::TakeDamage() ->대미지를 받았다.
virtual float TakeDamage ( float DamageAmount, struct FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser) override;
GameMode - 서버 전용 로직 - 클라이언트가 접근하지 못하는 경우가 생길 수 있음.
CoinItem에 회전 로직을 별개로 추가
이를 위해서 CoinItem 에서만 Tick을 별도로 켜고 회전에 사용하는 방식을 활용함.
IsTimerActive를 사용하여 이미 발동된 타이머를 리셋하지 못하게 제한할 수 있다.
(지뢰를 왕복하는 방법으로 폭파딜레이 리셋 방지)
!=timer같은 직접 비교는 좋지 않다.
if (GetWorldTimerManager().IsTimerActive(ExplosionTimerHandle))
{
return;
}
를 딜레이를 먹이는 함수 앞에 넣어주면 된다.


데이터 테이블을 생성하는 방법(각 레벨별 총 3개 생성)


도합 100이 되게 확률을 설정(추가변경사항이 조금 있음)









UI를 정상적으로 볼 수 있는 방법으로 디버깅을 할 수 있는 방법(두 번째 선택으로 팝업구동)
'TIL' 카테고리의 다른 글
| 26.02.04일자 - TIL (1) | 2026.02.04 |
|---|---|
| 26.02.03일자 - TIL (0) | 2026.02.03 |
| 26.01.30일자 - TIL (0) | 2026.01.30 |
| 26.01.29일자 - TIL (0) | 2026.01.29 |
| 26.01.28일자 - TIL (1) | 2026.01.28 |