// 1、創建武器類,包含字段:加攻擊力,加生命值,加防禦力,加速度值,類型(包括攻擊,防禦,法術,移動,打野
// 創建英雄類,包含字段:血量,攻擊力,名字,防禦力,移動速度,等級
// 英雄類當中包括的方法:
// (1)加裝裝備
// (2)卸載裝備
// (3)攻擊英雄
// (4)受到攻擊會掉血,舉例:攻擊力爲100的時候,掉血爲100。當血量小於等於0的時候英雄陣亡
// (5)每殺一個英雄等級+1,同時攻擊力增加200
// 模擬英雄互相傷害的場景
public class Weapon
{public enum WeaponType{
adType,
tdType,
apType,
spType,
juType
}
private int addATK;
private int addHP;
private int addDefense;
private int addSpeed;
private WeaponType equipment;
public int AddATK{
get{
return addATK;
}
}
public int AddHP{
get{
return addHP;
}
}
public int AddDefense{
get{
return addDefense;
}
}
public int AddSpeed{
get{
return addSpeed;
}
}
public WeaponType Equipment{
get{
return equipment;
}
}
public Weapon (int addATK,int addHP,int addDefense,int addSpeed,WeaponType equipment) //對已經初始化好的對象不能再次修改
{
this.addHP = AddHP;
this.addATK = AddATK;
this.addDefense = AddDefense;
this.addSpeed = AddSpeed;
this.equipment = equipment;
}
}
public class Heros
{
public string name;
public int HP;
public int ATK;
public int DF;
public int SP;
public int level = 0;
private Weapon m_weapon;
public Weapon M_weapon{
get{
return m_weapon;
}
set {
if (value == null) {
HP -= m_weapon.AddHP;
ATK -= m_weapon.AddATK;
DF -= m_weapon.AddDefense;
SP -= m_weapon.AddSpeed;
} else {
HP += value.AddHP;
ATK += value.AddATK;
DF += value.AddDefense;
SP += value.AddSpeed;
}
}
}
public Heros (string name,int HP,int ATK,int DF,int SP,Weapon m_weapon)
{
this.name = name;
this.HP = HP;
this.ATK = ATK;
this.DF = DF;
this.SP = SP;
this.m_weapon = m_weapon;
}
public void Loadweappon(Weapon weapon){
if(this.m_weapon != null) {
Unloadweapon();
}
this.M_weapon = weapon;
}
public void Unloadweapon(){
if (this.m_weapon != null) {
this.M_weapon = null;
}
}
//受傷掉血
public void Hurt(Heros enemy){
HP -= enemy.ATK;
if (HP > 0) {
Console.WriteLine ("英雄受傷!當前血量爲{0}", HP);
} else {
Dead (this);
enemy.level++;
}
}
//死亡
public void Dead (Heros hero){
Console.WriteLine ("英雄死亡!");
}
//攻擊英雄
public void Attack(Heros enemy){
enemy.Hurt(this);
}
}