**一,定义一个Animal类,拥有Name、MaxAge(最大寿命)、NowAge(当前的年龄,生成对象时随机设置)、Sex,
一个Dog类,继承自Animal类,拥有Speak方法,发出汪汪汪的声音 ,一个Cat类,继承自Animal类,拥有Speak方法,发出喵喵喵的声音**
代码实现:
namespace Zy
{
internal class Program
{
static void Main(string[] args)
{
Animal a1 = new Animal();
a1.Name = "余伟";
a1.NowAge = 20;
Console.WriteLine(a1.Name+a1.NowAge);
Dog d1 = new Dog();
d1.Name = "哮天犬";
d1.NowAge = 20;
d1.MaxAge = 30;
d1.Sex = "公";
Console.WriteLine(d1.Name+" "+d1.NowAge+" "+d1.MaxAge+" "+d1.Sex);
d1.Speak();
Cat c1 = new Cat();
c1.Name = "小猫咪";
c1.NowAge = 10;
c1.Sex = "母";
c1.MaxAge = 30;
Console.WriteLine(c1.Name+ " " + c1.NowAge+ " " + c1.MaxAge+ " " + c1.Sex);
c1.Speak1();
Console.ReadKey();
}
}
class Animal
{
public string Name { get; set; }
public int MaxAge { get; set; }
public int NowAge { get; set; }
public string Sex { get; set; }
public Animal()
{
}
}
class Dog : Animal
{
public void Speak()
{
Console.WriteLine("发出汪汪汪的声音 ");
}
}
class Cat : Animal
{
public void Speak1()
{
Console.WriteLine("发出喵喵的声音 ");
}
}
}
二, 一个怪物类,拥有HP血量、name名字、防御力,发动攻击的方法、被攻击的方法(接收被攻击的数值,减去自身血量)
一个Boos类,继承怪物类,拥有发大招的能力
namespace Yv
{
internal class Program
{
static void Main(string[] args)
{
//创建俩个怪物对象
Monster m1 = new Monster(100, "阿萨拉小兵", 10, 20);
Monster m2 = new Monster(200, "阿萨拉盾兵", 20, 50);
//怪物发动攻击
m1.发动攻击(); // 攻击力20
m2.发动攻击();// 50
//m1被m2揍了 传递m2的攻击力 50
m1.被揍(m2.Att);
m1.被揍(m2.Att);
m1.被揍(m2.Att);
m1.被揍(m2.Att);
Boss SYD = new Boss(5000, "赛伊德", 100, 100);
SYD.发动攻击();
m2.被揍(SYD.Att);
m2.被揍(SYD.Att);
m2.被揍(SYD.Att);
SYD.被揍(m1.Att);
SYD.Skil();
Console.ReadKey();
}
}
class Monster
{
public int HP { get; set; } //血量
public string Name { get; set; } // 名称
public int Def { get; set; } //防御
public int Att { get; set; }// 攻击力
public Monster()
{
}
public Monster(int h, string n, int d, int a) //血量 名称 防御 攻击力
{
HP = h;
Name = n;
Def = d;
Att = a;
}
public void 发动攻击()
{
Console.WriteLine(this.Name + "发动了攻击,攻击力是:" + this.Att);
}
public void 被揍(int a)//传递一个攻击力
{
//if (HP < 0) // 怪物的血量0
//{
// return;
//}
if (a - Def < 0) //伤害小于0
{
Console.WriteLine("Miss");
return;
}
//当前剩余血量
//a - Def 攻击力-减去防御力 = 实际伤害
HP -= (a - Def);
if (HP < 0) // 剩余的血量为0
{
Console.WriteLine("血量为0 已经嘎了 不要在鞭尸了");
}
else
{
Console.WriteLine("造成伤害{0},剩余{1}血量", a - Def, HP);
}
}
}
class Boss : Monster
{
public Boss(int h, string n, int d, int a) : base(h, n, d, a)//血量 名称 防御 攻击力
{
}
public void Skil()
{
Console.WriteLine(this.Name + "发出一个技能: 龙卷风摧毁停车场");
}
}
}
运行结果:
