游戏的原貌到底是怎么样的了,这节我们给你来揭秘吧。
我们这里遵从先外向里的原则,先局部后整体的原则吧。首先看看他的整体的结构吧!如图所示:
这里没有用分层的概念,而是一个文件夹代表了一个层。层确实蛮多的,但是与这个有关的核心的文件夹只有这几个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上面才能使用。具体情况,如图所示:
这就是,这个游戏的基本简介,具体情况,我们后来再说。