[Unreal 3/4기] CH 2 텍스트 기반 RPG 게임 제작 프로젝트
기존 구조 | 리뉴얼 구조 |
---|---|
“체력 회복” 버튼 → 바로 회복 | “두피 치료 키트 구매” → 인벤토리에 추가 |
골드 차감 + 체력 회복 즉시 적용 | 골드 차감 + 아이템 지급 (사용은 나중에) |
리뉴얼 예시 코드
void GameManager::VisitShop()
{
std::cout << "\\n[■] 탈모 전문 상점 [모근의 기적] 에 입장했다.\\n";
std::cout << "1. [💊] 싸구려 탈모약 구매 (20골드)\\n";
std::cout << "2. [📦] 그냥 나온다\\n";
std::cout << "입력 >> ";
int Input;
std::cin >> Input;
std::cin.ignore();
if (Input == 1)
{
if (Player->GetGold() >= 20)
{
Item Tonic("싸구려 탈모약", "Heal", 20);
Player->AddItem(Tonic);
Player->SetGold(Player->GetGold() - 20);
AddLog("상점에서 싸구려 탈모약을 구매했다.");
std::cout << "[+] 싸구려 탈모약이 인벤토리에 추가되었다.\\n";
}
else
{
AddLog("골드가 부족하여 아이템을 구매하지 못했다.");
std::cout << "[-] 자금 부족. 두피는 더 말라간다...\\n";
}
}
else
{
AddLog("상점을 그냥 나왔다.");
std::cout << "[=] 당신은 눈을 감고 반사광 진열장을 지나쳤다.\\n";
}
}
Player
클래스에 AddItem(Item)
함수 있어야 함Inventory
리스트는 std::vector<Item>
형태로 되어 있어야 함UseItem()
선택지로 처리 가능