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)하지 않으면 작동하지않는다