2023-07-03
自我提升
00

枚举类型 开发⼀个游戏,游戏⾓⾊有法师(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 许可协议。转载请注明出处!

正在翻译,请稍后...