// Main.cpp
#include <iostream>
using namespace std;
void setPotion(int count, int* p_HPPotion, int* p_MPPotin);
int HPPotion = 5;
int MPPotion = 5;
int main()
{
int status[8] = { 0, };
int Level = 1;
status[4] = 10;
status[5] = 10;
status[6] = 10;
status[7] = 10;
cout << "HP/MP를 입력해 주세요" << endl;
cin >> status[0];
cin >> status[1];
while (status[0] <= 50)
{
cout << "50 이하는 적용이 되지 않습니다. 다시 입력해주세요" << endl;
cin >> status[0];
}
while (status[1] <= 50)
{
cout << "50이하는 적용이 되지 않습니다. 다시 입력해주세요" << endl;
cin >> status[1];
}
cout << "ATK/DEF를 입력해 주세요" << endl;
cin >> status[2];
cin >> status[3];
while (status[2] <= 0)
{
cout << "0보다 큰 수를 입력해 주세요" << endl;
cin >> status[2];
}
while (status[3] <= 0)
{
cout << "0보다 큰 수를 입력해 주세요" << endl;
cin >> status[3];
}
cout << "HP : " << status[0] << "\nMP : " << status[1] << endl;
cout << "ATK : " << status[2] << "\nDEF : " << status[3] << endl;
int player = 1;
while (player != 0)
{
cout << endl;
cout << "1.HP UP / 2.MP UP / 3.공격력 UP / 4.방어력 UP / 5.현재 능력치 / 6.Level Up / 7.포션 추가 / 0.나가기" << endl;
cout << "번호를 선택해주세요 : " << endl;
cout << endl;
cin >> player;
if (player < 0)
{
cout << endl;
cout << "표시된 번호 이외의 것을 누르지 마세요" << endl;
cout << endl;
}
else if (player > 7)
{
cout << endl;
cout << "표시된 번호 이외의 것을 누르지 마세요" << endl;
cout << endl;
}
else if (player == 1)
{
if (HPPotion > 0)
{
--HPPotion;
status[0] += 20;
cout << endl;
cout << "포션을 1개 사용하여 HP가 20 증가되었습니다." << endl;
cout << "\n현재 HP : " << status[0] << endl;
cout << "남은 포션 수 : " << HPPotion << endl;
cout << endl;
}
else
{
cout << endl;
cout << "HP 포션이 없습니다." << endl;
cout << endl;
}
}
else if (player == 2)
{
if (MPPotion > 0)
{
--MPPotion;
status[1] += 20;
cout << endl;
cout << "포션을 1개 사용하여 MP가 20 증가되었습니다" << endl;
cout << "\n현재 MP : " << status[1] << endl;
cout << "남은 포션 수 : " << MPPotion << endl;
cout << endl;
}
else
{
cout << endl;
cout << "MP 포션이 없습니다." << endl;
cout << endl;
}
}
else if (player == 3)
{
status[2] *= 2;
cout << endl;
cout << "ATK가 2배 상승합니다" << endl;
cout << "현재 ATK : " << status[2] << endl;
cout << endl;
}
else if (player == 4)
{
status[3] *= 2;
cout << endl;
cout << "DEF가 2배 상승합니다" << endl;
cout << "현재 DEF : " << status[3] << endl;
cout << endl;
}
else if (player == 5)
{
cout << endl;
cout << "레벨 : " << Level << endl;
cout << "HP : " << status[0] << endl;
cout << "MP : " << status[1] << endl;
cout << "ATK : " << status[2] << endl;
cout << "DEF : " << status[3] << endl;
cout << "STR : " << status[4] << endl;
cout << "DEX : " << status[5] << endl;
cout << "INT : " << status[6] << endl;
cout << "LUK : " << status[7] << endl;
cout << "HP/MP 포션 수 : " << HPPotion << "/" << MPPotion;
cout << endl;
}
else if (player == 6)
{
++Level;
status[0] += 5;
status[1] += 5;
status[2] += 5;
status[3] += 5;
status[4] += 5;
status[5] += 5;
status[6] += 5;
status[7] += 5;
setPotion(1, &HPPotion, &MPPotion);
cout << endl;
cout << "레벨이 올랏습니다.모든 능력치가 5 상승합니다." << endl;
cout << "포션이 지급되었습니다." << endl;
cout << "HP/MP 포션 개수 : " << HPPotion << "/" << MPPotion;
cout << endl;
}
else if (player == 7)
{
setPotion(1, &HPPotion, &MPPotion);
cout << endl;
cout << "포션이 지급됩니다." << endl;
cout << "HP/MP 포션 개수 : " << HPPotion << "/" << MPPotion;
cout << endl;
}
}
return 0;
}
void setPotion(int count, int* p_HPPotion, int* p_MPPotion)
{
*p_HPPotion += count;
*p_MPPotion += count;
}
2026-03-06 08:00 기준 추가사항
- 배열을 추가하여 str, dex, int ,luk 를 추가하였습니다.
- 레벨업 시 모든 능력치가 5씩 증가하게 하였습니다.
'학습일지 > C와 C++' 카테고리의 다른 글
| C++ Console IO (0) | 2026.03.08 |
|---|---|
| C/C++ 지금까지 배운 C 문법 활용해보기! (0) | 2026.03.06 |
| C/C++ 함수 (0) | 2026.03.05 |
| C/C++ 배열 (0) | 2026.03.05 |
| C/C++ 반복문 (0) | 2026.03.04 |