javascript+html5+canvse+3d俄罗斯方块
javascript+html5+canvse+3d俄罗斯方块
必须使用支持html5的浏览器打开,比如firefox,chrome
// 你的浏览器不支持 <canvas>标签,请使用 Chrome 浏览器 或者 FireFox 浏览器');
document.write('你的浏览器不支持 <canvas>标签,请使用 Chrome 浏览器 或者 FireFox 浏览器'); // ]]> |
|
// 0)return 1;//IE
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0)return 2;//Firefox
if (isSafari = navigator.userAgent.indexOf("Chrome") > 0)return 3;//Chrome
if (isSafari = navigator.userAgent.indexOf("Safari") > 0)return 4;//Safari
if (isCamino = navigator.userAgent.indexOf("Camino") > 0)return 5;//Camino
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0)return 6;//Gecko
//other...
return 0;
}
var tableHTML = function(trLen, tdLen) {
var str = "";
for (var i = 0; i ";
for (var j = 0; j
";
}
str += "
";
}
return str;
};
var isInclude = function(array, element, start) {
var alen = array.length;
for (var i = start; i =this.mainCanvas.XLen || xyz[1]>=this.mainCanvas.YLen || xyz[2]>=this.mainCanvas.ZLen)return false;
return !isInclude(this.staticBlock, xyz, 0);
};
Game.prototype.gridsAreBlank = function(array) {
for(var i=0;i= this.levelArr[i][0]) {
this.setLevel(this.levelArr[i][1]);
break;
}
}
};
Game.prototype.setScoreLabel = function(sl) {
this.scoreLabel = sl;
};
Game.prototype.setScore = function(score) {
this.score = score;
if(this.scoreLabel)this.scoreLabel.innerHTML = this.score;
};
Game.prototype.computeScore = function(n) {
for (var i = 1; i = winScore) {
// win();
// }
// }, this.flashSpeed * 6);
// }
if(toRemoves.length > 0){
this.computeScore(toRemoves.length);
this.computeLevel();
var newSB = [];
for(i=0;i= this.winScore) {
this.win();
}
else{
this.create();
}
};
Game.prototype.drop = function() {
if(this.paused)return;
if (!(this.activeBlock.length == 0)) {
if (this.hasSpaces(this.activeBlock, [0,1,0])) {
// l('activeBlock hasSpaces');
this.directOneGrid([0,1,0]);
}
else {
// l('activeBlock do not hasSpaces');
clearInterval(this.inter);
this.abToSB();
this.removeFull();
}
}
};
Game.prototype.dropToBottom = function(xyz) {
if(this.paused)return;
clearInterval(this.inter);
var _this = this;
this.inter = setInterval(function(){_this.drop();}, 20);
};
Game.prototype.autoDrop = function() {
if(this.paused)return;
clearInterval(this.inter);
var _this = this;
this.inter = setInterval(function(){_this.drop();}, _this.level);
};
//axle: "x", "y", "z", "o"
Game.prototype.transformAB = function(axle) {
var newBlock = [];
newBlock[0] = this.activeBlock[0];
for (var i = 1; i 0) {
var newBlock = this.transformAB(axle);
if(this.blockAreBlank(newBlock)){
this.clearAB();
this.setAB(newBlock);
this.fillAB();
}
}
};
Game.prototype.init = function() {
this.setScoreLabel(document.getElementById("score"));
this.setLevelLabel(document.getElementById("level"));
var table_names = ['front', 'top', 'left'];
for(var i=0;i
//
javascript+html5+canvse+3d俄罗斯方块的更多相关文章
- 10个最佳 Javascript+HTML5 演示文稿框架
JavaScript 与 HTML5 框架在创建基于现代浏览器的演示文稿时发挥了重要作用.他们把展示插入网页,为演示信息提供了一个有效方式.一般来说,手工插入花费大量事件和精力,它很复杂,以至于新手们 ...
- 8月7号晚7点Autodesk北京办公室,我们来聊聊HTML5/ WebGL 3D 模型浏览技术
Autodesk 发布了一款完全无需插件的三维模型浏览器 Autodesk 360 Viewer,大家有没有兴趣,下班后过来聊聊吧! 8月7号 周四, 19:00~21:00 Autodesk北京 ...
- JavaScript+html5 canvas实现本地截图教程
这篇文章主要介绍了JavaScript+html5 canvas实现本地截图教程,对截图功能感兴趣的小伙伴们可以参考一下 最近有时间了解了下html5的各API,发现新浪微博的头像设置是使用canva ...
- 7款外观迷人的HTML5/CSS3 3D特效按钮特效
下面我整理了7款外观都十分迷人的HTML5/CSS3 3D按钮特效,有几个还挺实用的,分享给大家. 1.CSS3超酷3D弹性按钮 按钮实现非常简单 之前我们分享过几款不错的CSS3 3D立体按钮,比如 ...
- JavaScript HTML5脚本编程——“历史状态管理”的注意要点
历史状态管理是现代Web应用开发中的一个难点.在现代Web应用中,用户的每次操作不一定会打开一个全新的页面,因此"后退"和"前进"按钮也就失去了作用,导致用户很 ...
- WebGL实现HTML5的3D贪吃蛇游戏
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...
- 100行JS实现HTML5的3D贪吃蛇游戏
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...
- HTML5拓扑3D机房,电力工控Web SCADA
http://www.hightopo.com/cn-index.html 一套丰富的JavaScript界面类库, 提供完整的基于HTML5图形界面组件库.使用HT for Web您可以轻松构建现代 ...
- 分享一个WebGL开发的网站-用JavaScript + WebGL开发3D模型
这张图每位程序员应该都深有感触. 人民心目中的程序员是这样的:坐在电脑面前噼里啪啦敲着键盘,运键如飞. 现实中程序员是这样的:编码5分钟,调试两小时. 今天我要给大家分享一个用WebGL开发的网站,感 ...
随机推荐
- mysql 性能监控
1.监控thread_cache命中率admin@localhost : (none) 07:51:20> show variables like '%thread%';+----------- ...
- 微信小程序windowHeight的值在ios和android平台不一致问题解决办法
开发中遇到一个业务需求,需要把页面顶部.底部固定,中间的scroll-view内部滚动.要满足这个需求,需要根据屏幕高度计算中间的scroll-view高度.结果悲催地发现,使用 wx.getSyst ...
- 微信小程序 image属性 mode
mode属性可以改变图片的填充容器方式
- Go Lang
IDE: https://www.jetbrains.com/products.html?fromMenu#type=ide Study: http://www.runoob.com/go/go-en ...
- 自动删除Android工程中无用的资源
开发时间久了, 几个版本迭代之后, 工程中难免留下很多垃圾资源, 造成apk的包很大, 这里介绍一个工具, 可以自动扫描工程中, 没有使用的资源, 然后自动删除: 包括图片, xml, 文本等. 采用 ...
- ThreadPoolExecutor 几个疑惑与解答
任务是否都要先放入队列? 当工作线程数小于核心线程数时,任务是不会经过队列,而是直接创建 Worker 时传入.但是如果工作线程数已经大于核心线程数,则任务是要先放入队列的.实际上只要是被创建的工作线 ...
- 奇偶个数-python
#Odd and Even.py #读入字符串转化成数字 Input = eval(input("输入数字")) odd = 0 #奇数 even = 0 #偶数 #循环 whil ...
- 前端上传图片回显并用base64编码,后端做解码储存,存储图片路径在.properties文件中配置(以上传身份证照片为例)
前端页面:<form id="kycForm" enctype="multipart/form-data"> <input type=&quo ...
- 光照构建失败。Swarm启动失败
这是别人(http://blog.csdn.net/z609932088/article/details/52368015)写的,亲试可用 如下图 百度许久,有大神指出是我在编译源码的的时候没有将其中 ...
- HP Elitebook 830 G5/Win10蓝屏 UcmUcsi.sys 错误解决
转自https://support.hp.com/cn-zh/document/c06038185 注意BIOS可能是英文的,别着急,对着找就好了.