게임 개발자를 위한 C++ 문법 팀프로젝트 1
팀프로젝트 진행하느라 바빠서 TIL 쓸 시간도 없네요,,

오늘의 진행 상황
오늘 맡은 일 - 아스키 / 배틀매니저 / 발표 준비 / 몬스터
- Attack(), TakeDamage() 로직 변경
플레이어가 많아짐에 따라 '공격 > 피해' 로직 수정!!!! (반대 상황도 동일)
기존: 플레이어.어택 호출 > 공격량 계산 > 어택 내에서 몬스터.데미지 호출
변경: 플레이어.어택 호출 > 공격명,공격량 반환 > BM에서 몬스터.데미지 호출
- 공격 회피 공식
회피율 = 5% + (피해자_DEX − 공격자_DEX) × 1.5%
ㄴ최소 2%, 최대 35%으로 측정
int NormalMonster::TakeDamage(ICharacter* Target, int Amount)
{
// 데미지 받음
//회피율 = 5% + (피해자_DEX − 공격자_DEX) × 1.5%
int Evasion = 5 + (Target->GetDex() - this->GetDex()) * 15 / 10;
if (Evasion > 95) Evasion = 95; // 최대 회피율 95%
if (std::uniform_int_distribution<>(1, 100)(gen) <= Evasion)
{
// 회피 성공
Amount = 0;
return Amount;
}
_Stats._CurrentHP -= Amount;
if (_Stats._CurrentHP < 0)
{
_Stats._CurrentHP = 0;
}
return Amount;
}
- 배틀매니저 흐름
StartBattle / ProcessBattleTurn -> 플레이어 ProcessTurn -> ProcessAttack -> 몬스터 ProcessAttack / EndBattle -> CalculateReward
- 아스키 아트 작업
GIF를 ASCII ART로 변환 (콘솔 애니메이션 효과)
사용법!
1. 파이썬 패키지 설치
pip install opencv-python pillow numpy
2. GIF -> ASCII JSON 생성
python videotoascii.py [gif/mp4 파일명]
3. JSON 재생
python videotoascii.py --play ascii_frames.json'내배캠Unreal_TIL > 팀프로젝트' 카테고리의 다른 글
| [TIL] 2026-01-07 | [텍스트 콘솔 RPG] '에레보스타워' 프로젝트 회고 (0) | 2026.01.07 |
|---|---|
| [TIL] 2026-01-06 | [텍스트 콘솔 RPG] BM → BS 콜백 작업, 디버깅 (0) | 2026.01.06 |
| [TIL] 2026-01-02 | [텍스트 콘솔 RPG] 텍스트 로그 기반 진행 → 실시간 UI 렌더링 방식으로 전환 (0) | 2026.01.02 |
| [TIL] 2026-01-01 | [텍스트 콘솔 RPG] 아스키 아트 작업 (0) | 2026.01.02 |
| [TIL] 2025-12-31 | [텍스트 콘솔 RPG] BattleManager, NormalMonster, IMonster 구현 (0) | 2025.12.31 |