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开发的网站,感 ...
随机推荐
- 北大poj- 1009
Edge Detection Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22835 Accepted: 5398 D ...
- git:distributed is the new centralized-part1
PART 1 梗概 git文件流转有三个工作区域:工作目录(working directory).暂存区域(staging area).本地仓库(repository).文件处于上述三个工作区域的状态 ...
- 访问mysql出现Access denied for user 'root'@'的解决方法
1.关闭mysql的服务 方法一:我的电脑右键-管理-服务和应用程序-服务,找到mysql,右键关闭 方法二:cmd进入命令提示符,service mysqld stop(这个是网上的方法,我试了一下 ...
- CnPack组件包的安装与使用
如果你用过Eclipse.NotePad++等等工具,再试试用刚装好Delphi写代码会很痛苦,你是否觉得Delphi的代码编辑器很不友好? 那就去了解一下CnPack吧,给你的Delphi装上它绝对 ...
- JavaScript中为什么使用立即执行函数来封装模块?
最近在学习JavaScript基础,在学习到面向对象编程时,学习到在JavaScript中实现模块化的方法,其中一个重要的点是如何封装私有变量. 实现封装私有变量的方法主要是: 使用构造函数 func ...
- Unity判断用户联网状态,WiFi/移动网络/无网络
Unity判断用户联网状态 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- JVM垃圾收集器-Serial Old收集器,Parallel Old收集器
Serial Old收集器 Serial Old收集器是Serial收集器的老年代版本,它是一个单线程收集器,使用“标记-整理”算法.这个收集器的主要意义也是被Client模式下的虚拟机使用.在ser ...
- java-递归练习
1.从键盘接收一个文件夹路径,统计该文件夹大小 public class Test1 { /** * @param args * 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 * * 从键盘接 ...
- AJAX 应用
ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.Ajax不是一种新的编程语言, ...
- Spring的由来以及发展
Spring简史: 第一阶段:XML配置在Spring1.x时代,都是使用XML配置Bean,随着项目扩大,我们把XML文件切分成多个配置文件,那时候需要频繁地在开发类和配置文件之间切换 第二阶 ...