枚举类型 开发⼀个游戏,游戏⾓⾊有法师(Mage)、射⼿(Archer)、刺客(Assassin)、坦克 (Tank)、辅助(Support)、战⼠(Warrior),等不同类型。
如何存储游戏的⾓⾊?
1、使⽤int类型
c# //函数 - 定义 使用
1法师(Mage)、2射⼿(Archer)、3刺客(Assassin)、4坦克 (Tank)、5辅助(Support)、6战⼠(Warrior)
int roleType = 4;
roleType = 3;
2、使⽤枚举
c#enum RoleType //枚举类型的名字
{
Mage,Archer,Assassin,Tank,Support,Warrior //枚举类型的值
}
//主函数入口
static void Main(string[] args) {
RoleType roleType = RoleType.Tank;
if (roleType == RoleType.Archer) {
}
}
如何声明枚举类型?
c#enum <enum_name>
{
value1,
value2,
value3,
...
valuen
};
如何声明
c#<enum_name> varname;
如何赋值
c#varname = <enum_name>.<value>
❓使⽤枚举类型,表⽰游戏的状态。(菜单、游戏中、暂停、失败、成功)
c#enum GameState {
Menu,Running,Pause,Fail,Success
}
//主函数入口
static void Main(string[] args) {
GameState gameState = GameState.Menu;
gameState = GameState.Running;
if (gameState == GameState.Menu) {
}
Console.WriteLine(gameState);
}
❓使⽤枚举类型,表⽰周⼀到周⽇。
c#enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
Days day = Days.Mon;
day = Days.Tue;
注意:
枚举列表中的每个符号代表⼀个整数值,⼀个⽐它前⾯的符号⼤的整数值。默认情况下,第⼀个枚举符号的值是 0 ,可以修改默认的值
c#enum Days
{
Sun, Mon=10, Tue, Wed, Thu, Fri=100, Sat
// 0 10 11 12 13 100 101
}
// int i = 1;//0-6 1-7
int number = (int)day;
Console.WriteLine(day); //结果为 Tue
Console.WriteLine(number); //结果为 2
所以可以把枚举类型转成整数,来使⽤。
c#1:
int i = (int)enum;
2:
enum GameSate{
Pause = 100,
Failed = 101,
Start
}
3:
enum GameSate:byte{
Pause = 100,
Failed = 101,
Start
}
本文作者:千纸鹤
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!