반응형
public void Rest() // 휴식하기
{
Console.WriteLine($"현재 체력은{GameManager.player.hp} 입니다.");
Console.WriteLine($"현재 마나는{GameManager.player.mp} 입니다.");
GameManager.player.hp += GameManager.player.maxHp / 2; // 플레이어 최대체력 50퍼센트 체력 회복
GameManager.player.mp += (int)Math.Round(GameManager.player.maxMp * 0.7); // 플레이어 마나 반올림
if (GameManager.player.hp > GameManager.player.maxHp)
{
GameManager.player.hp = GameManager.player.maxHp; // 최대체력보다 체력이 높으면 최대체력으로 보정
}
if (GameManager.player.mp > GameManager.player.maxMp) // 최대 마나보다 마나가 높으면 최대마나로 보정
{
GameManager.player.mp = GameManager.player.maxMp;
}
Text.TextingLine($"휴식후 현재 체력은{GameManager.player.hp} 입니다.",ConsoleColor.DarkYellow);
Text.TextingLine($"휴식후 현재 마나는{GameManager.player.mp} 입니다.", ConsoleColor.DarkYellow);
Console.ReadLine();
}
체력이 최대체력을 넘으면 최대체력으로 보정하고
mp는 double형식이고
Math.Round()는 소수점 반올림 하는 함수이다.
int로 형변환 해준다.
반응형
'Language > C#' 카테고리의 다른 글
| [C#] delegate (0) | 2025.02.28 |
|---|---|
| [C#] TextRPG (0) | 2025.02.13 |
| [C#] TextRPG 상점 구현 (0) | 2025.02.11 |
| [C#] 얕은 복사 (0) | 2025.02.10 |
| [C#] DeepCopy (0) | 2025.02.10 |