2026-03-30 TIL (25일차)
2026-03-30 TIL (25일차)
팀프로젝트
보스 배틀씬 구현
일반 몬스터와 차별화되는 최종 보스 “취업” 전용 배틀씬과 엔딩 흐름을 완성했습니다.
- 로직 처리 분기
- 보스 일 경우 일반 텍스트 대신 보스 전용텍스트가 출력되도록 처리했습니다.
- 보스 처치 시 일반 승리 상태가 아닌 보스 전용 승리 상태로 전환됩니다.
- 승리 텍스트 확인 후
SceneManager를 통해 엔딩 씬(EndScene)으로 넘어가도록 설정했습니다.
- UI 연출 (컨셉 극대화)
- 플레이어 캐릭터와 몬스터 및 보스 아스키 아트를 교체 했습니다.
골드 및 몬스터 아이템 상호작용/출력 안정화
- 팀원이 구현한 몬스터와 플레이어의 상호작용 시스템을 BattleScene에 구현했습니다.
비전투 상태 아이템 사용 제한
- 구현 내용: 전투 중이 아닐 때 소비 아이템을 사용하지 못하도록 예외 처리를 추가했습니다.
- 로직 처리:
InventoryScene에서 아이템 선택 시, 플레이어의 현재 상태(player->bIsPlayerBattle())를 확인하여 전투 중인지 판별합니다. - UI 피드백 (UX 개선): 전투 상태가 아니라면 상태를 전환시켜 “전투 중에만 사용할 수 있습니다!”라는 경고 팝업창이 출력되도록 구현했습니다.
Scene 렌더링 리팩토링 및 최적화 (UI 개선)
화면이 깜빡거리는 현상 및 텍스트가 잔상이 남기는걸 없애고 개선했습니다.
- 화면 깜빡임 완벽 제거
- 매 프레임마다
system("cls")로 전체 화면을 지우던 방식을 변경했습니다. - 대신 변경된 팝업창이나 화살표 위치만 공백(
" ")으로 덮어씌워 지우는(Overwrite) 부분 렌더링 최적화를 적용했습니다.
- 매 프레임마다
- 렌더링 마지막 부분에 Console_gotoxy(0 , 0);
- 보이지 않는 커서가 마지막으로 출력한 글자 바로 뒤에 남아있게 되서 윈도우 콘솔 창이 마지막 커서 위치를 화면에 업데이트 할려다가 생기는 텍스트 잔상 현상을 Console_gotoxy(0 , 0)으로 옮겨서 잔상을 제거했습니다.
This post is licensed under CC BY 4.0 by the author.