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

时间: 2024-10-02 18:43:14

win8 开发之旅(17) --足球游戏揭秘3的相关文章

win8 开发之旅(15) --足球游戏揭秘(1)

  足球游戏是一种喜闻乐见的游戏,当然了足球游戏,可以有难有易.难得可以做成像实况足球,fifa那样大型的3d游戏,简单的也只能模拟踢球的画面,球员用  圆圈,图形代表了.那我的足球游戏,也是这样的.具体情况,如图所示: 这是一个进行选择球队的界面,我的队伍是依据fifa2010世界杯分组的情况,也是一个splashgren window,缓冲界面,当你选择了那支球队以后,就跳到他与另外本组的另外的球队的比赛的情况去了,这也是严格按照世界杯的赛程走的. 譬如,我选择的是巴西队,他的第一场是对北朝

win8 开发之旅(19) --足球游戏揭秘5

今天,我们揭秘一下Group,GameConfig,PlayersConfig这几个类. 这几个虽然是添头类,但缺少了他,游戏,嗨,真的运行不了.那,请掀起盖头来吧! ①Group--有足球知识的基础的人,都明白这是干嘛的,这是一个分组情况的类.这是中国球迷最避讳一个词,每次大赛小赛一出来,总是看到国足被分入了死亡之组,哎怎么总被分入死亡之组了,这个类在游戏中的作用如图所示: 相应源代码如下所示: /// <summary> /// 当前的组别 A组 B组 C组 /// </summar

win8 开发之旅(18) --足球游戏揭秘4

这节,我们介绍一下DiscoidPosition,TableBorder,Vector2D  这三个类吧.你别开只有这三个类,对这个项目有着至关重要的作用. ①DiscoidPosition--物体的位置的坐标,标记物体的x,y坐标的位置.源代码如下所示: 1 ///<summary> 2 /// 物体的位置 3 /// </summary> 4 public class DiscoidPosition 5 { 6 /// <summary> 7 /// x坐标 8 /

win8 开发之旅(16)---------足球游戏揭秘(2)

游戏的原貌到底是怎么样的了,这节我们给你来揭秘吧.  我们这里遵从先外向里的原则,先局部后整体的原则吧.首先看看他的整体的结构吧!如图所示: 这里没有用分层的概念,而是一个文件夹代表了一个层.层确实蛮多的,但是与这个有关的核心的文件夹只有这几个Images文件夹,Sound文件夹,Controls文件夹,Common文件夹,View文件夹. Images文件夹包含了这个游戏中所有的资源的图片. Sounds文件夹包含了这个游戏中所有的声音文件. 而Controls包含了其中控制器,控制相应页面上

win8 开发之旅(19) --足球游戏揭秘6

我们这里揭秘什么了,来揭秘一下.MoveResult,GoalPost ,Shot这几个类. 首先,这几个类都属于Moel层,这几个类都是主要用于存储相应的实体类的信息,具体为什么请听我一一娓娓道来.   ①MoveResult--记录移动信息的类,就是记录运动员的移动的信息.他继承与Discoid这个类,物体的实体类. 而实现的伪代码如下: 相应的源代码如下: /// <summary> /// 移动的结果 /// </summary> public class MoveResu

win8 开发之旅(14) --飞机游戏制作揭秘

先看看这个游戏的类结构的介绍 类结构  公共类层: 子弹帮助类. BulletHepler,公共帮助类. CommonHelper,图片帮助类.ImageHelper,精灵工厂类.SpriteFactory. 游戏元素层:  公有元素有精灵类.Sprite,精灵实体类.ModelSprite,英雄实体类.HeroSprite,游戏结束类.GameOver; 旗下又包括了Bullet层,Daoju层,Effect层,Enemy层. Bullet层有一个基类BulletSprite,子弹精灵类.其他

win8 开发之旅(1) --连连看游戏开发 前奏

   两天没写博客了,手痒痒了,你问我干吗去了,学习win8开发去了,    发现metro UI 风格就是  给人耳目一新的感觉,而微软的技术真的是介入牛a与牛b之间.如果您有xam与.net开发基础,很快能够上手吧!    我想微软既然让开发人员学习成本如此之低,那我岂不是能很快完成我的第一个小的项目--连连看(因为,以前在wp7上做过类似的应用).    可任何事情都是--说时容易做时难.一个小东西竟然花去了我两天的宝贵的休息时间.虽然可惜,但确实说收获颇丰.    首先, 我们要开始老生

win8 开发之旅(3) --五子棋游戏开发 前奏

     真的是好久.好久没有写博客了,手都生了.我有在国庆这七天的时间更进一步的学习了xaml语言,熟悉了win8的开发的过程.      因此我会把我这些天开发的一些心得陆陆续续的分享给大家.       经过前几次我写相应的开发的历程,我就发现写自己开发的历程,要么直说自己的想法,要么只贴源代码,使读者摸不着头脑.在这里,  我争取综合两者长处,深入浅出的剖析开发历程,争取使大家有所获益.       在这节中,我们要主要搞清楚以下几个问题.       什么是五子棋       编程实现

win8 开发之旅(4) --五子棋游戏开发 面向对象的分析

  上节说到剖析五子棋的任务从这节开始,那确实.      其实,这节的任务很简单,就是 以完全面向对象的思想来分析这个小游戏.        对于面向对象,对于开发人员,一定不再陌生,这里就不再赘述.       那他需要哪些类了.          一个黑棋子,一个白棋子,他是不是有许多的属性 是一样的,因此我们这里抽象出一个piece 包含位置,类型等等属性         这些棋子在哪玩,是不是棋盘上.因此,我们需要棋盘类(pieceboard)类来体现所谓的棋盘.         怎么