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

游戏的原貌到底是怎么样的了,这节我们给你来揭秘吧。 

我们这里遵从先外向里的原则,先局部后整体的原则吧。首先看看他的整体的结构吧!如图所示:

这里没有用分层的概念,而是一个文件夹代表了一个层。层确实蛮多的,但是与这个有关的核心的文件夹只有这几个Images文件夹,Sound文件夹,Controls文件夹,Common文件夹,View文件夹。

Images文件夹包含了这个游戏中所有的资源的图片。

Sounds文件夹包含了这个游戏中所有的声音文件。

而Controls包含了其中控制器,控制相应页面上控件的业务逻辑。如下图所示:

BallFace——控制有关球运动的相应的逻辑。

GameHelper——游戏中相应的帮助类。

GreenButton——重写绿色按钮的类。

PlayFace——运动员的玩家的类。

ScoreControl——得分控件的类,控制相应得分的逻辑。

Teams——控制页面上队伍的类。

Core——游戏的核心类,相应的实体类。如图所示:

Ball——球的实体类。传递球的信息。

BallEnteredGoal——判断球是否进球的类。

Discoid——所有的球与球员的继承的类,实体类。

FoulType——犯规的类型枚举类型。

Game——游戏的实体类。

GameConfig——游戏的配置的类。

GameState——游戏的状态的枚举类型。

GhostBall——鬼球的类。

Goal——球门的类。

GoalPost——球杆的类。

Group——分组的情况的类。

IGoalObserver——检测的球的观察类。

MoveResult——最终的移动的结果。

PlayerPosition——运动员的坐标位置的类。

Player——运动员的类。

PlayerMoveResult——运动员的移动结果的类。

PlayerConfig——运动员的配置的类。

PlayerState——运动员的状态枚举类型。

PlayerToBallContract——运动员的踢球的类。

PlayerToPlayerContract——运动员撞运动员的类。

RectangleCollison——矩形的碰撞检测的类。

Shot——射门的类。

Team——球队的实体类。

TeamPlayer——球员的类。

Turn——射门的类。

TurnEvent——射门的结果的类。

DiscoidPosition——子控件的坐标位置的类。

Vector2D——射门二维向量的类。

View——控件的UI层。如图所示:

IntroMenu.xaml——开始的子菜单信息用户控件。

UserControlContainer.xaml——用户控件的容器的类。

吧这些控件的放在MainPage上面,这就是所有用户控件的容器类。

由于MainPage是 用户控件,吧他放在MainPage1上面才能使用。具体情况,如图所示:

这就是,这个游戏的基本简介,具体情况,我们后来再说。

原文地址:https://www.cnblogs.com/manuosex/p/2773758.html