2019-10-17 19일차 get,set 몬스터와 몬스터데이터 get,set으로 만들고 접근하기

Console Programming/C# Console 2019. 10. 17. 11:33

                몬스터

----------------------------------

아이디

이름

체력

공격력

----------------------------------

 

get과 set 프로퍼티를 사용해서 데이터에 접근하는 연습

 

 

 

Program.cs

namespace Syntax02
{
    class Program
    {
        static void Main(string[] args)
        {
            new App();
        }
    }
}

App.cs

using System;
namespace Syntax02
{
    public class App
    {
        public App()
        {
            Monster monster1 = new Monster(100, "고블린");

            Console.WriteLine(monster1.MonsterData.Monster_id);

            monster1.MonsterData.MaxHp = 150;
            monster1.MonsterData.Hp = 90;

            Console.WriteLine($"{monster1.MonsterData.Hp}/{monster1.MonsterData.MaxHp}");


        }
    }
}

Monster.cs

namespace Syntax02
{
    public class Monster
    {
        private MonsterData monsterData;
        public MonsterData MonsterData
        {
            get
            {
                return monsterData;
            }

            set
            {
                this.monsterData = value;
            }

        }
        public Monster(int monster_id, string name)
        {
            MonsterData monsterData = new MonsterData(monster_id, name);

            this.monsterData = monsterData;
        }
    }
}

MonsterData.cs

namespace Syntax02
{
    public class MonsterData
    {
        private int monster_id;
        public int Monster_id
        {
            get
            {
                return monster_id;
            }          
        }
        private int maxHp;
        public int MaxHp
        {
            get
            {
                return maxHp;
            }
            set
            {
                this.maxHp = value;
            }
        }
        private int hp;
        public int Hp
        {
            get
            {
                return hp;
            }
            set
            {
                if(value>maxHp)
                {
                    this.hp = maxHp;
                    return;
                }
                this.hp = value;
            }
        }
        private string name;
        public string Name
        {
            get
            {
                return name;
            }           
        }
        private int damage;
        public int Damage
        {
            get
            {
                return damage;
            }
            set
            {
                this.damage = value;
            }
        }


        public MonsterData(int monster_id, string name)
        {
            this.monster_id = monster_id;
            this.name = name;
        }
    }
}

 

 

: