首页 > 代码库 > 英雄pk理解面向对象中的this指针概念

英雄pk理解面向对象中的this指针概念

class Hero    {        public int ATN { get; set; }        public int DEF { get; set; }        public int HP { get; set; }        public string Name { get; set; }        public bool Attack(Hero target)        {            bool hasDead = false;            Random r = new Random();            int damage = r.Next(this.ATN - target.DEF);             target.HP -= damage;            Console.WriteLine("{0}向{1}发动攻击,造成{2}点伤害!", this.Name, target.Name, damage, target.HP);            if (target.HP <= 0)            {                Console.WriteLine("{0}已经死亡!", target.Name);                target.HP = 0;                hasDead = true;            }            Console.WriteLine("{0}生命值变为{1}", target.Name, target.HP);            return hasDead;        }        static void Main()        {            Hero A = new Hero() { Name = "卡特琳娜", ATN = 100, DEF = 50, HP = 300 },                B = new Hero() { HP = 300, Name = "盖伦", ATN = 100, DEF = 50 };            Console.WriteLine("---------------------\n      英雄联盟\n---------------------");            while (A.HP >= 0 && B.HP >= 0)            {                if (B.Attack(A))                {                    Console.WriteLine("{0}获取胜利", B.Name);                    break;                }                System.Threading.Thread.Sleep(500);                if (A.Attack(B))                {                    Console.WriteLine("{0}获取胜利", A.Name);                    break;                }                System.Threading.Thread.Sleep(500);            }            Console.WriteLine("请按任意键继续。。。");            Console.ReadKey();        }    }

 

英雄pk理解面向对象中的this指针概念