易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript俄罗斯方块【附带源码】

在看了W3C的关于ECMScript的对象及继承后,先是完成贪吃蛇的实现。最近又抽空实现了下俄罗斯方块。对于俄罗斯方块重要的不是游戏本身,而是在这个过程中对于javascript继承的使用。
当然在一些对象的划分及使用过程还存在瑕疵,算法也不算最优,发布出源码只是想做个交流。以下就提供源代码供大家参考,也为自己做个备份。也可在直接点击下载。游戏效果图为:
这里对代码不做说明了,可以看代码块中的注释//********************************Utils.js*******************************************************
/**
* 辅助类
* @author leeyee
* @blog blog.csdn.net/oxcow
* @email seadlead@gmail.com
* @data 2010-4
*/
/**
* 创建DOM元素
*
* @param sTagName
* 元素名
* @param sTagId
* 元素ID
* @param sText
* 元素文本
* @return DOM元素对象
*/
function createElement(sTagName, sTagId, sText) {
var oElement = document.createElement(sTagName);
if (sTagId != null) {
oElement.setAttribute("id", sTagId);
}
if (sText != null) {
oElement.appendChild(document.createTextNode(sText));
}
return oElement;
}
function RandomEventUtils() {
}
/**
* 得到从零到N的随机整数
*
* @param iN
* 最大整数
* @return 0-iN的随机整数
*/
RandomEventUtils.getIntRandomNumfromZeroToN = function(iN) {
var iR = Math.random() * iN;
return Math.round(iR);// 舍尾取数
};
/**
* 获取某个元素在数组中的位置
*
* @param vItem
* 目标元素
* @return 目标元素在数组中的索引
*/
Array.prototype.indexOf = function(vItem) {
for ( var i = 0; i < this.length; i++) {
if (vItem == this[i]) {
return i;
}
}
return -1;
};
/**
* 获取数组的长度。不包括undefined元素
*
* @return
*/
Array.prototype._length = function() {
var __len = 0;
for ( var i = 0; i < this.length; i++) {
if (this[i] != undefined) {
__len++;
}
}
return __len;
};
/**
* 清除数组中的undefined元素
*
* @return 数组清除后的数组(数组长度改变)
*/
Array.prototype.cleanUndefinedElement = function() {
for ( var i


相关文档:

Javascript 字符串 substring 与 substr 区别

stringObject.substring(start,end);
函数方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串.
start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.
stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject ......

javascript StyleSheet样式操作类

早上在csdn上看有人问页面style sheet怎么修改里面的rule,就写了个类,该类对兼容FF和IE做了处理。
/**//*--------------------------------------------
    描述 : 添加新的样式rule
    参数 : styleSheets索引
    代码 :&nb ......

JavaScript 继承 myhere

// 学习要想拷贝那么快就好了
//
// JavaScript 的继承是基于 prototype 的,每个对象的 prototype 是保存在对象的 __proto__ 属性中的,这个属性是内部(internal)的属性( 惯例是内部的或者隐藏的属性以 _ 开头)
// A prototype-based language has the notion of a prototypical object, an object used as a template ......

javascript在ff和ie两种浏览器下的区别(一)

1.document.formName.item('itemname')的问题 说明:IE下可以使用document.formName.item('itemname')和document.formName.elements('elementsName'); FF下只能使用docuement.formName.elements('elementsName'); 解决方法:统一使用docuement.formName.elements('elementsName'); 2.集合类对象问题 说明:IE下可以使用[]和 ......

Flex3与页面JavaScript的相互调用

 日前做项目,需要把页面的JS代码抽出来放到一个.js文件中,由于flex程序是以div+SWFObject的方式嵌入到页面的,为了达到目标网站只需要引用一个.js文件即实现引用项目工程的目的,所以也要把SWFObject的代码放到.js文件中。
思路是用document.write()把引用swf文件的代码写进页面,然后把flex要调用的js函数都放到.j ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号