JavaScript游戏之是男人就下100层代码打包


Posted in Javascript onNovember 08, 2010

这次的游戏的编写难度比之前的都高很多。本次鄙人用了js的继承以及设计模式的工厂模式,也算是一个突破。。。 

游戏的大致设计思路:
1,玩家类Player:一个人能左右移动,以及上下移动的小人。
拥有的基本方法:{
左右移动 : 单纯的键盘左右移动,

向下移动 : 属于向下加速度移动,每次移动都会加一个重力加速度的值,

向上移动 : 其实是跟着方块一起向上移动, 匀速向上运动,

弹跳 : 就是玩家先向上一个减速度运动,然后,当速度小于1时,像下加速度运动 

2,方块基类BlockBase:所有方块的基类,拥有公共的方法以及接口。

拥有的基本方法:{

移动 : 方块的向上匀速移动,

检测玩家是否在方块上  : 判断玩家是否停留在方块上 

以及一些抽象的接口函数,只有名字,需要在子类中实现,具体看源码。

 

3,各种子类,如 普通方块类NormalBlcok、弹跳方块类FlipBlock等

继承的实现方式如下:

在构造函数中:BlockBase.call(this);继承非prototype的属性与方法

在函数外部:子类方块.prototype = new BlockBase(); 继承基类的prototype的属性与方法

 

4, 工厂类BlockFactory:负责生产方块,以及击中处理方块

拥有的基本方法:{

生成方块 :  重点的方法,就是随机生成一块方块 

其实我也不知道怎么说,还是看源码吧。里面我注释得很具体了。

还有,bug肯定是会有的,希望大家谅解。。。 

最后献上预览吧。希望大家多多拍砖,能让我多些提高。最好在代码的编写上。 
 方向左右控制移动,界面是做得比较丑。。。大家见谅。
演示代码:http://demo.3water.com/js/DownFloor/index.html

完整源码打包>> /201011/yuanma/DownFloor.rar 

Javascript 相关文章推荐
javascript格式化指定日期对象的方法
Apr 21 Javascript
javascript实现确定和取消提示框效果
Jul 10 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
AngularJS模仿Form表单提交的实现代码
Dec 08 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
JavaScript中动态向表格添加数据
Jan 24 Javascript
基于javascript的异步编程实例详解
Apr 10 Javascript
JavaScript 巧学巧用
May 23 Javascript
BootStrap Select清除选中的状态恢复默认状态
Jun 20 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
Jun 19 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
基于canvas实现手写签名(vue)
May 21 Javascript
JavaScript游戏之优化篇
Nov 08 #Javascript
javascript开发中因空格引发的错误
Nov 08 #Javascript
window.ActiveXObject使用说明
Nov 08 #Javascript
发布一个基于javascript的动画类 Fx.js
Nov 05 #Javascript
微博@符号的用户名提示效果。(想@到谁?)
Nov 05 #Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 #Javascript
细说浏览器特性检测(2)-通用事件检测
Nov 05 #Javascript
You might like
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
javascript编程起步(第四课)
2007/01/10 Javascript
asp 的 分词实现代码
2007/05/24 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
JS中type="button"和type="submit"的区别
2017/07/04 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
python插入数据到列表的方法
2015/04/30 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
单利模式及python实现方式详解
2018/03/20 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python实现简易淘宝购物
2019/11/22 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
Python 中@property的用法详解
2020/01/15 Python
python实现自动清理重复文件
2020/08/24 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
J2EE面试题
2016/03/14 面试题
加多宝凉茶广告词
2014/03/18 职场文书
货车司机岗位职责
2014/03/18 职场文书
个人安全生产责任书
2014/07/28 职场文书
与美同行演讲稿
2014/09/13 职场文书
学生会辞职信
2015/03/02 职场文书
远程教育学习心得体会
2016/01/23 职场文书
高二化学教学反思
2016/02/22 职场文书