转:http://www.zuidaima.com/share/1759652641295360.htm
直接上效果图:
通过左右下控制方向,上改变形状。
game over
<!doctype html><html><head></head><body> <div id="box" style="width:252px;font:25px/25px 宋体;background:#000;color:#9f9;border:#999 20px ridge;text-shadow:2px 3px 1px #0f0;"></div> <script> var domain="www.zuidaima.com"; var author="zuidaima"; var map=eval("["+Array(23).join("0x801,")+"0xfff]"); var tatris=[[0x6600],[0x2222,0xf00],[0xc600,0x2640],[0x6c00,0x4620],[0x4460,0x2e0,0x6220,0x740],[0x2260,0xe20,0x6440,0x4700],[0x2620,0x720,0x2320,0x2700]]; var keycom={"38":"rotate(1)","40":"down()","37":"move(2,1)","39":"move(0.5,-1)"}; var dia, pos, bak, run; function start(){ dia=tatris[~~(Math.random()*7)]; bak=pos={fk:[],y:0,x:4,s:~~(Math.random()*4)}; rotate(0); } function over(){ document.onkeydown=null; clearInterval(run); alert("GAME OVER"); } function update(t){ bak={fk:pos.fk.slice(0),y:pos.y,x:pos.x,s:pos.s}; if(t) return; for(var i=0,a2=""; i<22; i++) a2+=map[i].toString(2).slice(1,-1)+"<br/>"; for(var i=0,n; i<4; i++) if(/([^0]+)/.test(bak.fk[i].toString(2).replace(/1/g,"\u25a1"))) a2=a2.substr(0,n=(bak.y+i+1)*15-RegExp.$_.length-4)+RegExp.$1+a2.slice(n+RegExp.$1.length); document.getElementById("box").innerHTML=a2.replace(/1/g,"\u25a0").replace(/0/g,"\u3000"); } function is(){ for(var i=0; i<4; i++) if((pos.fk[i]&map[pos.y+i])!=0) return pos=bak; } function rotate(r){ var f=dia[pos.s=(pos.s+r)%dia.length]; for(var i=0; i<4; i++) pos.fk[i]=(f>>(12-i*4)&15)<<pos.x; update(is()); } function down(){ ++pos.y; if(is()){ for(var i=0; i<4 && pos.y+i<22; i++) if((map[pos.y+i]|=pos.fk[i])==0xfff) map.splice(pos.y+i,1), map.unshift(0x801); if(map[1]!=0x801) return over(); start(); } update(); } function move(t,k){ pos.x+=k; for(var i=0; i<4; i++) pos.fk[i]*=t; update(is()); } document.onkeydown=function(e){ eval(keycom[(e?e:event).keyCode]); }; start(); run=setInterval("down()",400); </script></body></html>
相关推荐
史上最短小精悍的javascript编写的俄罗斯方块游戏,仅仅60行代码
史上最短小精悍的javascript编写的俄罗斯方块游戏,只用了60行代码,绝对值得学习
俄罗斯方块js代码,短小精悍,大家互相学习一下
短小精悍的俄罗斯方块游戏源代码噢,而且是JAVA版的 ,呵呵
俄罗斯方块的源代码,短小精悍便于学习入门。直接用vc6加载运行。
WPF拼图游戏实例代码,短小精悍,适合初学者,采用VS2008编写
短小精悍,但是不支持IE,FireFox下可用:1) Canvascape 2) MSX Emulator 3) Unreal Soccer 4) Plasma Demo 5) An Arkanoid clone
C/C++超实用的代码算法,代码虽然不长却很能体现思想
C++的小应用:个人理财小助手,电子便签,考勤软件,生成绩系统…… 小游戏:俄罗斯方块,坦克大战,裸男快跑……
国外人编写的,短小精悍,有兴趣的可以看一下
这个扫雷与windows自带的扫雷差不多,帮助有点不一样,当然,也比不上人家的短小精悍,呵呵. 希望高手指点指点,可以改进(例如:将其做的和windows自带的扫雷一模一样,精简代码,提高效率)
短小精悍的人民币小写转大写,用Jscript语言编写,只要套入你的网页代码中即可。
用c语言编写的贪吃蛇游戏,短小精悍。有兴趣的朋友可以下载下来研究学习一下。用wintc编译执行即可。
Tomjson,一个"短小精悍"的 json 解析库,tomjson使用Java语言编写,主要作用是把Java对象(JavaBean)序列化为json格式字符串,将json格式字符串序列化为相对应的Java对象(JavaBean)。项目地址:...
易语言编写的定时关机程序 点点滴滴对对对 。。。。。。。。。。。。。。。。。
JavaScript拖拽实现(附注释),最经典!最简单!短小精悍!
作者用AS3原创的配图片记单词游戏,短小精悍,全部源码,外加详细注释。采用通关模式,可扩展行强,挑战性强,娱乐性好,操作简便,易于上手,适合3--99岁寓教于乐。
· 针对每个网络安全开发包,提供了丰富的例程,每个程序短小精悍,都有全部源代码(需要这些源代码电子文档的读者,请与作者或本书责任编辑联系),对程序都做了详细注解,对其编译过程和运行结果都进行了详细分析。...
短小精悍的xml读写器-tinyxml 源代码,以及我写的测试工程。我写的测试工程请使用vs2005打开,tinyxml的源代码在include的文件下面可以找到。
Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。 JavaScript 使网页增加互动性。JavaScript 使有规律地重复的...