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