我们这里揭秘什么了,来揭秘一下.MoveResult,GoalPost ,Shot这几个类。
首先,这几个类都属于Moel层,这几个类都是主要用于存储相应的实体类的信息,具体为什么请听我一一娓娓道来。
①MoveResult——记录移动信息的类,就是记录运动员的移动的信息。他继承与Discoid这个类,物体的实体类。
而实现的伪代码如下:
相应的源代码如下:
/// <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这个类,物体的实体类。
他的伪代码如下:
注意球门的大小与位置用相应的等效向量标记。
相应源代码如下:
/// 球门的实体类
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——射门的类,记录每个射门的信息。
他的伪代码如下:
相应的源代码如下:
/// <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