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开发的网站,感 ...
随机推荐
- 使用 <embed> 标签显示 flash文件(swf)格式 ,如何设置 width 和 height 宽度,高度.
1. embed 标签 支持 .swf 格式. .flv 的不支持. 2. 通常情况下, 网站中上传 多个 flash文件. 它的默认大小是不一样的. 而且 可以 宽度 大于 高度(横向的) ...
- [Leetcode]27. 移除元素
题目描述: ++难度:简单++ 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 ...
- Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
- CentOS 7 下使用yum安装MySQL5.7.20 最简单图文详解
CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的 yum安装是最简单 ...
- Struts2 前台显示问题
遇到的问题: 查询字段相同值的和的时候用到了sum函数,导致和实体类的不一样,无法取到. 开始的时候的代码. ; 这样的话SUM(o_count)无法显示. 我想把SUM(o_count)设置为实体类 ...
- WEB学习笔记7-样式与结构分离
CSS样式应用于HTML总共4种样式: (1)在HTML页面中链接一个CSS文件 文件以link形式添加到<head>部分,在link中可以设置media属性来表明样式使用的场景.例如,m ...
- Ubuntu系统下Anaconda使用方法总结
前言:个人认为Anaconda比pip使用起来要方便很多,因为它创建虚拟环境和下载各种库都很方便.但是有时候conda的安装方法中没有某些库,必须使用pip来进行安装.所以,主要用Anaconda,偶 ...
- Hadoop学习笔记2 - 第一和第二个Map Reduce程序
转载请标注原链接http://www.cnblogs.com/xczyd/p/8608906.html 在Hdfs学习笔记1 - 使用Java API访问远程hdfs集群中,我们已经可以完成了访问hd ...
- Python:从入门到实践--第三章--列表简介--练习
#1.将一些朋友的姓名存储在一个列表中,并将其命名为friends.依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. #2.继续使用1中的列表,为每人打印一条消息,每条消息包含相同的问候语 ...
- JS拖拽div(移动)
<!doctype html><html><head> <meta charset="utf-8"> <title>JS ...