我们这里揭秘什么了,来揭秘一下.MoveResult,GoalPost ,Shot这几个类。
首先,这几个类都属于Moel层,这几个类都是主要用于存储相应的实体类的信息,具体为什么请听我一一娓娓道来。
①MoveResult——记录移动信息的类,就是记录运动员的移动的信息。他继承与Discoid这个类,物体的实体类。
而实现的伪代码如下:
相应的源代码如下:
View Code
/// <summary> /// 移动的结果 /// </summary> public class MoveResult { /// <summary> /// 构造函数 进行 数据初始化 /// </summary> public MoveResult() { } /// <summary> /// 各种传递位置 /// </summary> public List<DiscoidPosition> DiscoidPositions { get; set; } /// <summary> /// 是不是控球双方易手了 /// </summary> public bool IsTurnOver { get; set; } }
②GoalPost——球门柱的类,标记球门柱的具体的位置。他继承与Discoid这个类,物体的实体类。
他的伪代码如下:
注意球门的大小与位置用相应的等效向量标记。
相应源代码如下:
View Code
/// 球门的实体类 public class GoalPost : Discoid { /// <summary> /// 构造函数 进行数据赋值 /// </summary> /// <param name="position">当前位置</param> /// <param name="size">尺寸</param> /// <param name="id">当前id</param> public GoalPost(Vector2D position, Vector2D size, string id) : base(5, 0.3, false) { } }
③Shot——射门的类,记录每个射门的信息。
他的伪代码如下:
相应的源代码如下:
View Code
/// <summary> /// 射门的类 /// 用于记录射门的球 /// </summary> public class Shot { /// <summary> /// 构造函数 用于 数据的初始化 /// </summary> /// <param name="player">玩家</param> /// <param name="target">目标</param> /// <param name="strength">力量</param> /// <param name="value">相应的值</param> public Shot(Player player, Point target, double strength, int value) { //玩家赋值 this.Player = player; //什么的目标 this.Target = target; //力量 this.Strength = strength; //摩擦系数 this.Value = value; } //玩家属性 public Player Player { get; set; } /// <summary> /// 目标的值 /// </summary> public Point Target { get; set; } /// <summary> /// 力量 /// </summary> public double Strength { get; set; } /// <summary> ///摩擦系数 /// </summary> public int Value { get; set; } }
这就是今天的内容,以后我们在介绍另外的内容,反正好戏在后面,项目的开源地址是http://51aspx.com/Code/ZCWWorldCupV10