当前位置: 首页 > news >正文

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

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


相关文章:

  • linux下sed基本用法详解
  • [翻译] UPCardsCarousel
  • Java编程的逻辑 (1) - 数据和变量
  • ABP源码分析三十二:ABP.SignalR
  • office2003 安装步骤及注意事项
  • 我的屌丝giser成长记-研一篇(下)
  • 本周活动
  • MapReduce的过程(2)
  • Android 双卡双待识别
  • 房坑
  • 该不该用inline-block取代float? inline和float的区别?
  • hibernate--联合主键--XML
  • 动态素组(ArrayList)
  • cssReset - css初始化
  • KeyMob移动广告聚合平台 开发者赚钱平台
  • 【译】JS基础算法脚本:字符串结尾
  • 0基础学习移动端适配
  • flask接收请求并推入栈
  • Golang-长连接-状态推送
  • Intervention/image 图片处理扩展包的安装和使用
  • js算法-归并排序(merge_sort)
  • MobX
  • mockjs让前端开发独立于后端
  • Python_网络编程
  • python大佬养成计划----difflib模块
  • Sublime text 3 3103 注册码
  • 阿里云前端周刊 - 第 26 期
  • 编写高质量JavaScript代码之并发
  • 大数据与云计算学习:数据分析(二)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 来,膜拜下android roadmap,强大的执行力
  • 每天10道Java面试题,跟我走,offer有!
  • 浅谈web中前端模板引擎的使用
  • 如何进阶一名有竞争力的程序员?
  • 如何在GitHub上创建个人博客
  • 收藏好这篇,别再只说“数据劫持”了
  • 项目实战-Api的解决方案
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 云大使推广中的常见热门问题
  • 自定义函数
  • AI算硅基生命吗,为什么?
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​决定德拉瓦州地区版图的关键历史事件
  • # C++之functional库用法整理
  • ${ }的特别功能
  • (11)MATLAB PCA+SVM 人脸识别
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (3)选择元素——(17)练习(Exercises)
  • (4)STL算法之比较
  • (JS基础)String 类型
  • (Python第六天)文件处理
  • (八)Spring源码解析:Spring MVC
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552