本文共 2030 字,大约阅读时间需要 6 分钟。
我们继续我们的足球的揭秘之旅了,在解密的过程中,我牢牢遵守了由易到难的原则,今天是解密FoulTypes,GameState,PlayerState这三个枚举类型。
FoulType——犯规的枚举类型,相应的源代码如下所示:
1 ///2 /// 犯规的类型的枚举类型 3 /// 4 public enum FoulTypes 5 { 6 ///7 /// 直接任意球 8 /// 9 DirectFreeKick = 1,10 ///11 /// 间接任意球12 /// 13 IndirectFreeKick = 2,14 ///15 /// 点球16 /// 17 PenaltyKick = 318 }
懂得足球的规则的人都非常的明白,犯规后的惩罚无非是涉及这几种,点球,间接任意球,直接任意球等等。
GameState——当前游戏进行到了何种状态。相应的源代码:
1 ///2 /// 当前游戏的状态 3 /// 4 public enum GameState 5 { 6 ///7 /// 没有状态 8 /// 9 None,10 ///11 /// 选择球员的状态12 /// 13 SignIn,14 ///15 /// 加载球队的状态16 /// 17 Setup,18 ///19 /// 展示对手的状态20 /// 21 ShowOpponents,22 ///23 /// 玩的状态24 /// 25 Play,26 ///27 /// 进行射门的状态28 /// 29 TestShot,30 ///31 /// 游戏结束的状态32 /// 33 GameOver34 }
None——没有状态。游戏没有开始。
SignIn——选择球队的状态,如图所示:
ShowOppent——展示对手的状态,如图所示:
SetUp——加载球队的状态,介于这两个状态之间。
Play——运动员玩的状态。如图所示:
TestShot——进行射门的状态。
GameOver——游戏结束的状态。
PlayerState——玩家的状态的枚举类型。相应源代码如下:
1 ///2 /// 对运动员的操作的状态 3 /// 4 public enum PlayerState 5 { 6 ///7 /// 没有任何的操作的状态 8 /// 9 None,10 ///11 /// 选择球员的状态12 /// 13 SelectingNumberOfPlayers,14 ///15 /// 选择移动体的最终的目标的状态16 /// 17 SelectingHost,18 ///19 /// 链接的状态20 /// 21 Connecting,22 ///23 /// 接球的状态24 /// 25 ReceivingInvitation,26 ///27 /// 运动的状态28 /// 29 Aiming,30 31 ///32 /// 调用运动员的状态33 /// 34 Calling35 }
None——运动员没有任何的操作的状态,如图所示:
SelectingNumberOfPlayers——选择球员的状态,如图所示:
ReceivingInvitation——接球的状态,如图所示:
以上,就是我对三个类的详细说明。后面介绍下几个类。游戏的开源地址:
转载地址:http://sqkum.baihongyu.com/