1.枚举
枚举类型是自定义类型,
enum EquipType
{
Weapon, //武器
Armor, //护甲
Shoes, //鞋子
Ring=5, //戒指
Necklace //项链 ->值为6
}
枚举是一个值类型,枚举值可以标记一个整形数字予以匹配,默认从0开始。
可以显示转换位数字或者文字
int a=(int)Weapon 结果位0
Enum或EquipType 变量名=(EquipType)0; 结果是武器
2.结构体
结构体是自定义类型
struct Equip
{
public EquipType type; //装备类型
public string name; //装备名字
public string des; //装备描述
public int hp; //血量
public int atk; //攻击力
public int speed; //速度
//构造函数
public Equip(EquipType type, string name, string des, int hp, int atk, int speed, int crit, int dodge,int bmoney)
{
this.type = type;
this.name = name;
this.des = des;
this.hp = hp;
this.atk = atk;
this.speed = speed;
}
};
声明结构体内容以及构造函数
ps:构造函数可以通过快速操作一键创建
3.枚举和结构结合应用
static void Log(string text)
{
Console.WriteLine(text);
Thread.Sleep(1000); //程序休眠,单位毫秒 1000=1s
}
//装备结构体
static Equip Weapons; //武器结构体
static Equip Armor; //护甲结构体
static Equip Shoes; //鞋子结构体
static void EquipItem(Equip equip)
{
switch (equip.type)
{
case EquipType.Weapon:
Log(name + "装备了武器:" + equip.name + ",攻击力+" + equip.atk);
weapon_atk = equip.atk;
Weapons = equip;
break;
case EquipType.Armor:
Log(name + "装备了护甲:" + equip.name + ",生命值+" + equip.hp);
armor_hp = equip.hp;
Armor = equip;
break;
case EquipType.Shoes:
Log(name + "装备了鞋子:" + equip.name + ",速度+" + equip.speed);
shoes_speed = equip.speed;
shoes = equip;
break;
}
}
//应用
EquipItem(new Equip(EquipType.Weapon, "长剑", "新人必备", 0, 10, 0));