//来自于csdn-jslang
<!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 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>
分享到:
相关推荐
本资源提供了一套基于C++的俄罗斯方块小游戏的设计源码,包含25个文件,其中包括10个头文件,7个C++源代码文件,以及2个Markdown文档。此外,还包括1个解决方案文件,1个项目设置文件,1个资源文件,1个Visual C++...
Excel中的俄罗斯方块小游戏是利用VBA(Visual Basic for Applications)宏编程实现的,这是一种内置于Microsoft Office套件中的编程语言,允许用户自定义工作表的功能和交互性。本源代码提供了一个完整的实现,让...
python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。...
《VC编写的俄罗斯方块小游戏》是一款基于C++编程语言,使用Visual C++(简称VC)开发环境构建的经典休闲游戏。这款小游戏不仅保留了原版俄罗斯方块的基本玩法,还加入了一些自定义功能,比如难度级别的设定,为玩家...
《C#实现俄罗斯方块小游戏详解》 在编程领域,制作一款经典的游戏是学习新语言或技术的一个绝佳途径。本文将深入探讨如何使用C#语言实现一个完整的俄罗斯方块小游戏,涉及的关键知识点包括C#的基本语法、面向对象...
Java实现俄罗斯方块小游戏是一个经典的编程项目,它涵盖了游戏开发中的多个重要方面,如界面设计、游戏逻辑和交互。以下是对这个项目的详细说明: 1. **游戏界面设计**: - **界面布局**:游戏界面设计是游戏的第...
《MFC俄罗斯方块小游戏详解》 MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化Windows应用程序的开发。它基于面向对象的设计,提供了丰富的类库,可以帮助开发者快速构建用户界面和实现底层...
《C#实现俄罗斯方块小游戏详解》 在编程领域,实现经典游戏如俄罗斯方块是一种常见的练习,既能提升编程技能,又能对游戏设计有深入理解。本项目采用C#语言,利用简单工厂模式来构建俄罗斯方块游戏,下面将详细阐述...
《俄罗斯方块小游戏源代码详解》 俄罗斯方块是一款经典的电子游戏,自1984年诞生以来,凭借其简洁的规则和极高的趣味性,深受全球玩家喜爱。本资源包含的是一个俄罗斯方块小游戏的源代码,对于学习游戏开发、了解...
《C#实现俄罗斯方块小游戏详解》 C#是一种广泛应用于游戏开发的编程语言,尤其在Windows平台上的小型游戏开发中,C#以其强大的性能和易用性深受开发者喜爱。本篇文章将深入探讨如何利用C#语言设计一个简易的俄罗斯...
《C语言实现的俄罗斯方块小游戏详解》 俄罗斯方块,这款经典的电子游戏,自1984年诞生以来就深受玩家喜爱。它的简洁规则和无穷无尽的挑战性使其成为电子游戏史上的里程碑。而本文将深入探讨如何使用C语言来编写这样...
【C#版俄罗斯方块小游戏】是一款基于C#编程语言实现的经典休闲益智游戏,源自1984年阿列克谢·帕基特诺夫设计的原版俄罗斯方块。这款游戏以其简单易懂的规则、高度的策略性和挑战性吸引了全球玩家的喜爱。在C#环境下...
Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zip...
java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏....