C#/문제 해결
메서드 연습 1 고블린전투
Game Client Lee Hwanguk
2023. 1. 3. 17:55
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;
namespace Test01
{
class App
{
int heroMaxHp = 10; //맴버변수->값을 할당
int heroHp; //맴버변수 ->변수를 정의
string heroName = "홍길동";
public App()
{
Console.WriteLine("App");
heroHp = heroMaxHp; //1. 맴버변수 heroMaxHp의 값 10을 heroHp에 할당(변수 초기화) //지역변수다
HitHero(3); //7/10
HealHero(1); //8/10
HealHero(1); //9/10
HealHero(1); //10/10
HealHero(1); //치료불가
bool isDie = IsHeroDie();
Console.WriteLine(isDie); //false
HitHero(100);
isDie = IsHeroDie();
Console.WriteLine(isDie); //true
}
void HitHero(int damage)
{
heroHp = heroHp - damage; //2. 10으로 초기화된 heroHp를 heroHp-damage의 값으로 초기화
if (heroHp > 0)
{
Console.WriteLine("{0}이 피해 {1}를 입었습니다. {2}/{3}", heroName, damage, heroHp, heroMaxHp);
}
else
{
Console.WriteLine("{0}이 죽었습니다.", heroName);
}
}
void HealHero(int potion)
{
if (heroHp < 10)
{
heroHp = heroHp + potion;
Console.WriteLine("{0}이 치료 {1}를 받았습니다. {2}/{3}", heroName, potion, heroHp, heroMaxHp);
}
else if(heroHp>=10)
{
Console.WriteLine("더 이상 치료할수 없습니다");
}
}
bool IsHeroDie()
{
if (heroHp > 0)
{
return false;
}
else
{
return true;
}
}
//홍길동이 3 만큼 피해를 입었습니다. (7/10)
//홍길동이 1만큼 회복 되었습니다 (8/10)
//홍길동이 1만큼 회복 되었습니다 (9/10)
//홍길동이 1만큼 회복 되었습니다 (10/10)
//더이상 치유 할수 없습니다.
//홍길동이 100 만큼 피해를 입었습니다. (0/10)
//홍길동이 죽었습니다.
}
}

# 1/6 bool type이 빠져있어서 다시 풀어봤다
#bool IsHeroDie에서 true/false값을 반환(return)하지 않으면 작동하지않는다