`
Action-人生
  • 浏览: 104768 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

俄罗斯方块小游戏

阅读更多

//来自于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++的俄罗斯方块小游戏设计源码

    本资源提供了一套基于C++的俄罗斯方块小游戏的设计源码,包含25个文件,其中包括10个头文件,7个C++源代码文件,以及2个Markdown文档。此外,还包括1个解决方案文件,1个项目设置文件,1个资源文件,1个Visual C++...

    Excel 俄罗斯方块小游戏源代码,基于Excel VBA 宏制作的 俄罗斯方块小游戏源码

    Excel中的俄罗斯方块小游戏是利用VBA(Visual Basic for Applications)宏编程实现的,这是一种内置于Microsoft Office套件中的编程语言,允许用户自定义工作表的功能和交互性。本源代码提供了一个完整的实现,让...

    python基于pygame的俄罗斯方块小游戏源码.zip

    python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。python基于pygame的俄罗斯方块小游戏源码。...

    vc编写的俄罗斯方块小游戏

    《VC编写的俄罗斯方块小游戏》是一款基于C++编程语言,使用Visual C++(简称VC)开发环境构建的经典休闲游戏。这款小游戏不仅保留了原版俄罗斯方块的基本玩法,还加入了一些自定义功能,比如难度级别的设定,为玩家...

    C#版俄罗斯方块小游戏

    《C#实现俄罗斯方块小游戏详解》 在编程领域,制作一款经典的游戏是学习新语言或技术的一个绝佳途径。本文将深入探讨如何使用C#语言实现一个完整的俄罗斯方块小游戏,涉及的关键知识点包括C#的基本语法、面向对象...

    Java实现俄罗斯方块小游戏.pptx.pptx

    Java实现俄罗斯方块小游戏是一个经典的编程项目,它涵盖了游戏开发中的多个重要方面,如界面设计、游戏逻辑和交互。以下是对这个项目的详细说明: 1. **游戏界面设计**: - **界面布局**:游戏界面设计是游戏的第...

    MFC俄罗斯方块小游戏

    《MFC俄罗斯方块小游戏详解》 MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于简化Windows应用程序的开发。它基于面向对象的设计,提供了丰富的类库,可以帮助开发者快速构建用户界面和实现底层...

    C#实现俄罗斯方块小游戏

    《C#实现俄罗斯方块小游戏详解》 在编程领域,实现经典游戏如俄罗斯方块是一种常见的练习,既能提升编程技能,又能对游戏设计有深入理解。本项目采用C#语言,利用简单工厂模式来构建俄罗斯方块游戏,下面将详细阐述...

    俄罗斯方块小游戏源代码

    《俄罗斯方块小游戏源代码详解》 俄罗斯方块是一款经典的电子游戏,自1984年诞生以来,凭借其简洁的规则和极高的趣味性,深受全球玩家喜爱。本资源包含的是一个俄罗斯方块小游戏的源代码,对于学习游戏开发、了解...

    C#俄罗斯方块小游戏设计

    《C#实现俄罗斯方块小游戏详解》 C#是一种广泛应用于游戏开发的编程语言,尤其在Windows平台上的小型游戏开发中,C#以其强大的性能和易用性深受开发者喜爱。本篇文章将深入探讨如何利用C#语言设计一个简易的俄罗斯...

    c语言编写的俄罗斯方块小游戏

    《C语言实现的俄罗斯方块小游戏详解》 俄罗斯方块,这款经典的电子游戏,自1984年诞生以来就深受玩家喜爱。它的简洁规则和无穷无尽的挑战性使其成为电子游戏史上的里程碑。而本文将深入探讨如何使用C语言来编写这样...

    C#版俄罗斯方块 小游戏

    【C#版俄罗斯方块小游戏】是一款基于C#编程语言实现的经典休闲益智游戏,源自1984年阿列克谢·帕基特诺夫设计的原版俄罗斯方块。这款游戏以其简单易懂的规则、高度的策略性和挑战性吸引了全球玩家的喜爱。在C#环境下...

    Java实现俄罗斯方块小游戏.zip

    Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zipJava实现俄罗斯方块小游戏.zip Java实现俄罗斯方块小游戏.zip...

    java-俄罗斯方块小游戏.zip

    java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏.zip java_俄罗斯方块小游戏.zipjava_俄罗斯方块小游戏....

Global site tag (gtag.js) - Google Analytics