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

我们这里揭秘什么了,来揭秘一下.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

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