英雄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(); } }