摘要: 1.1 定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。1.2 类图1.3 代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using Syste... 阅读全文
posted @ 2014-12-02 23:22 AfreadHuang 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1. 单一职责原则 定义:就一个类而言,应该仅有一个引起他变化的原因。 如果一个类的职责太多,就等于把这些职责耦合到一起。一个职责的变化,可能会消弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容就是发现职责并把... 阅读全文
posted @ 2014-12-01 22:25 AfreadHuang 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1.1 需求 设计一个商场打折计费的软件,可以实现打折,满300送100等优惠功能。1.2 类图 1.3 实现 我们先把4个计算的类写出来。 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 ... 阅读全文
posted @ 2014-12-01 21:32 AfreadHuang 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 今天需要做一个功能,倒计时5s关闭页面,或者直接点击按钮直接关闭页面。开始以为是一个很简单的功能,做的时候还是遇到问题了。 1.1 关闭页面的方法 问题是这样的:开始用的 window.close()方法关闭页面,在IE中测试没有问题。 到了谷歌发现页面并没有关闭,F12打开提示:Scrip... 阅读全文
posted @ 2014-12-01 15:59 AfreadHuang 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: 如果想成为一名更优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀设计本身更有价值。1.1 面向对象的好处 通过封装、继承多态把程序的耦合度降低,使用设计模式使得程序更加灵活,容易修改,易于复用。1.2 类图1.3 代码几个运算类; 1 using System; 2 using Syst... 阅读全文
posted @ 2014-11-30 22:38 AfreadHuang 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 我们现在还差一个重要的功能,没错,敌人坦克的创建以及子弹击中敌人坦克时的碰撞检测功能。5. 创建敌人坦克完成炮弹碰撞检测5.1 创建敌人坦克对象 敌人坦克和玩家坦克一样,同样继承自我们的坦克对象。所以我们在Tank.js中写入以下代码: 1 // 敌人坦克对象 2 EnimyTank = fu... 阅读全文
posted @ 2014-11-28 22:07 AfreadHuang 阅读(1744) 评论(0) 推荐(1) 编辑
摘要: 之前,我们完成了坦克的移动和地图的绘制,这次我们来完成碰撞检测和炮弹的发射。 上代码前来张最新的类图:3. 碰撞检测 前面我们已经完成了坦克的移动和地图的绘制,下面我们开始写碰撞检测。3.1 创建碰撞检测对象 我们创建一个对象来做碰撞检测,由于碰撞检测都是在对象移动的时候进行的所以我们让... 阅读全文
posted @ 2014-11-27 14:24 AfreadHuang 阅读(1494) 评论(0) 推荐(4) 编辑
摘要: 2. 完善地图 我们的地图中有空地,墙,钢,草丛,水,总部等障碍物。 我们可以把这些全部设计为对象。2.1 创建障碍物对象群 对象群保存各种地图上的对象,我们通过对象的属性来判断对象是否可以被穿过或被攻击。Barrier.js: 1 // 障碍物基类对象,继承自TankObject 2 Bar... 阅读全文
posted @ 2014-11-26 17:09 AfreadHuang 阅读(1781) 评论(3) 推荐(3) 编辑
摘要: PS:这个坦克大战是在网上下的一段源码之后,自己进行的重写。 写这个的目的是为了巩固自己这段时间对js的学习。整理到博客上,算是对自己近端时间学习js的一个整理。 同时也希望可以帮助到学习js的园友。由于自己也是刚学js不久,所以难免出现错误。如果发现希望给予指正。 这个教程适合熟悉js基本... 阅读全文
posted @ 2014-11-25 18:04 AfreadHuang 阅读(3163) 评论(10) 推荐(2) 编辑
摘要: js面向对象整理 阅读全文
posted @ 2014-11-21 17:34 AfreadHuang 阅读(787) 评论(1) 推荐(0) 编辑