金馆长连连看 Web游戏 基于HTML+CSS+JavaScript

金馆长连连看——木有美化版

代码:2000+ 当然里面重复性代码很多

代码链接:http://download.csdn.net/detail/u013938944/8403107


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>连连看</title>
<style>
body
{
	padding:0;
	margin:0;	
}
table
{
	border-collapse:collapse;	
}
td{
	with:80px;
	height:80px;	
	padding:0;
	margin:0;
	
	text-align:center;
}
tr{
	width:480px;
	height:80px;
	padding:0;
	margin:0;
}
</style>
<script language="javascript" type="text/javascript">
var zuobiao;
var quanjushuzu = new Array(new Array(3),new Array(3));
var arr0 = new Array(3);
var arr1 = new Array(3);
var quanjushu = 0;
var panduan;
function init()
{
	var tab = document.getElementById("mytab");
	for(var i = 0; i < 6; i++)
	 {
		 for(var j = 0; j <6; j++)
		 {
			 tab.rows[i].cells[j].innerHTML="<img src='0.png'/>";
			 tab.rows[i].cells[j].value=0;
			 tab.rows[i].cells[j].zuobiao = "i"+"j";
			 
		 }
		 
		 
	 }
	 for( var num = 0; num<2;num++)
	 {
	 	
		chuxian(2);
		chuxian(4);
		chuxian(8);
		chuxian(16);
		chuxian(16);
		chuxian(32);
		chuxian(32);
		chuxian(64);
		chuxian(128);
		chuxian(128);
	 }
}

function chuxian(number)
{
	<!--一定要再次声明获取表格的id,在Init()函数里声明的id对象引用是局部变量,如果在函数外面声明会出现引用不到的情况,因为此时还没有加载完表格,没有此id对象-->
	var tab = document.getElementById("mytab");
	var hang = Math.random()*6;
	hang = Math.floor(hang);
	var lie = Math.random()*6;
	lie = Math.floor(lie);
	if(tab.rows[hang].cells[lie].value == 0) {
	tab.rows[hang].cells[lie].innerHTML="<img src='"+number+".png'/>";
	tab.rows[hang].cells[lie].value= number;
	}
	else{
			
		chuxian(number);
	}
		
}

function dianji(e)
{
	var tab = document.getElementById("mytab");
	var x = e.clientX;
	var y = e.clientY;
	
	var hangnum = Math.floor(y/80);
	var lienum = Math.floor(x/80) ;
	if(tab.rows[hangnum].cells[lienum].value != 0)
	{
		var evalue = tab.rows[hangnum].cells[lienum].value;
		tab.rows[hangnum].cells[lienum].innerHTML="<img src='"+evalue+"1.png' ;/>";
		
		if (quanjushu <2)
		{
			
			quanjushuzu[quanjushu][0] = evalue;
			quanjushuzu[quanjushu][1] = hangnum;
			quanjushuzu[quanjushu][2] = lienum;
			
			quanjushu++;
			if(quanjushu ==2)
			{
				if(quanjushuzu[0][0]!=quanjushuzu[1][0])
				{
					
					tab.rows[quanjushuzu[0][1]].cells[quanjushuzu[0][2]].innerHTML="<img src='"+quanjushuzu[0][0]+".png'/>";
					tab.rows[quanjushuzu[1][1]].cells[quanjushuzu[1][2]].innerHTML="<img src='"+quanjushuzu[1][0]+".png' />";
				}
				else
				{
					var panduan0 = lianxian0(evalue);	
					if (!panduan0)
					{
						
						var  panduan1= lianxian1(evalue);
						if(!panduan1)
						{
							//alert("cant!!!!!!!!");
							
						}
					}
					
				}
				
				quanjushu=0;
			}
		}
	}
}
function lianxian0(numvalue)
{
	var tab = document.getElementById("mytab");
	var minnum = 0;
	var x0 = quanjushuzu[0][1];
	var x1 = quanjushuzu[1][1];
	
	var y0 = quanjushuzu[0][2];
	var y1 = quanjushuzu[1][2];
	
	if (x0 == x1 )
	{
		for(minnum = Math.min(y0,y1)+1;minnum < Math.max(y0,y1);minnum++)
		{
			//用来判断这一行是否有障碍
			if(tab.rows[x0].cells[minnum].value !=0)
			{
				
				//用来判断直连是否成功
				break;
				
					
			}	
		}
		if(minnum == Math.max(y0,y1))
			{
				tab.rows[x0].cells[Math.max(y0,y1)].innerHTML="<img src='0.png'/>";
				//要记得消去原有图片给位置标记的值value
				tab.rows[x0].cells[Math.max(y0,y1)].value = 0;
				tab.rows[x0].cells[Math.min(y0,y1)].innerHTML="<img src='0.png'/>";
				tab.rows[x0].cells[Math.min(y0,y1)].value = 0;
			}
		else
		{
			lianxian2(numvalue);
		}
		
	} else if(y0 ==y1 )
	{
		for(minnum = Math.min(x0,x1)+1;minnum < Math.max(x0,x1);minnum++) 
		{
			if(tab.rows[minnum].cells[y0].value !=0)
			{
				
				break;					
			}
		}
		if(minnum == Math.max(x0,x1))
			{
				tab.rows[Math.max(x0,x1)].cells[y0].innerHTML="<img src='0.png'/>";
				tab.rows[Math.max(x0,x1)].cells[y0].value = 0;
				tab.rows[Math.min(x0,x1)].cells[y0].innerHTML="<img src='0.png'/>";
				tab.rows[Math.min(x0,x1)].cells[y0].value = 0;
			}
		else
		{
			lianxian2(numvalue);
		}
	}
	else
	{
		return 0;	
	}
	return 1;
}
function lianxian1(numvalue)
{
	
	var tab = document.getElementById("mytab");
	var minnumx = 0;
	var minnumy = 0;
	var flag = 0;
	var x0 = quanjushuzu[0][1];
	var x1 = quanjushuzu[1][1];
	
	var y0 = quanjushuzu[0][2];
	var y1 = quanjushuzu[1][2];
	
	if(x0 > x1 && y0 < y1)
	{
		
		for(var qingjing = 0; qingjing <2;qingjing++)
		{
			
			if(qingjing ==0)
			{
				//两个循环,第一个循环判断条件是有等
				flagx = 0;
				flagy = 0;
				for(minnumx = x0 -1; minnumx >= x1; minnumx--)
				{
					if(tab.rows[minnumx].cells[y0].value !=0)
					{
						flagx = 1;
						break;
					}
				}
				if(flagx ==0)
				{
						for(minnumy = y0+1; minnumy < y1; minnumy++)
						{
							if(tab.rows[x1].cells[minnumy].value !=0)
							{
								flagy = 1;
								break;
							}	
						}
						if(flagy ==0)
						{
				
							
							tab.rows[x0].cells[y0].innerHTML="<img src='0.png'/>";
							tab.rows[x0].cells[y0].value = 0;
							tab.rows[x1].cells[y1].innerHTML="<img src='0.png'/>";
							tab.rows[x1].cells[y1].value = 0;
							//flag = 1;
							return 1;
						}
				}
					
			}else
			{
				//两个循环,第一个循环判断条件是有等于号的
				flagx =0;
				flagy =0;
				for(minnumy = y0+1; minnumy <= y1; minnumy++)
				{
					if(tab.rows[x0].cells[minnumy].value !=0)
					{
						flagy =1;
						break;
					}
				}
				if(flagy == 0)
				{

						for(minnumx = x0 -1; minnumx >x1; minnumx--)
						{
							if(tab.rows[minnumx].cells[y1].value !=0)
							{
								flagx = 1;
								break;
							}
						}
						if(flagx == 0)
						{
						//alert("x0 > x1 && y0 < y1 2" );
						tab.rows[x0].cells[y0].innerHTML="<img src='0.png'/>";
						tab.rows[x0].cells[y0].value = 0;
						tab.rows[x1].cells[y1].innerHTML="<img src='0.png'/>";
						tab.rows[x1].cells[y1].value = 0;
						//flag = 1;
						return 1;
						}
				}
						
				
			}
		}
		
	}else if(x0 > x1 && y0 > y1)
	{
		//全部重新改************************************************
		for(var qingjing = 0; qingjing <2;qingjing++)
		{
			
			if(qingjing ==0)
			{
				//两个循环,第一个循环判断条件是有等
				flagx = 0;
				flagy = 0;
				for(minnumx = x0 -1; minnumx >= x1; minnumx--)
				{
					if(tab.rows[minnumx].cells[y0].value !=0)
					{
						flagx = 1;
								
						break;
					}
				}
				if (flagx == 0 )
				{
					for(minnumy = y0-1; minnumy > y1; minnumy--)
					{
							
						if(tab.rows[x1].cells[minnumy].value != 0)
						{
								
							flagy = 1;
							break;
						}
							
					}
					if (flagy == 0)
					{
				
					//alert("x0 > x1 && y0 > y1 1");
					tab.rows[x0].cells[y0].innerHTML="<img src='0.png'/>";
					tab.rows[x0].cells[y0].value = 0;
					tab.rows[x1].cells[y1].innerHTML="<img src='0.png'/>";
					tab.rows[x1].cells[y1].value = 0;
					//flag = 1;
					return 1;	
					}
				}
							
				
			}else
			{
				//两个循环,第一个循环判断条件是有等于号的
				flagx =0;
				flagy = 0;
				for(minnumy = y0-1; minnumy >= y1; minnumy--)
				{
					if(tab.rows[x0].cells[minnumy].value !=0)
					{
						flagy = 1;
						break;
					}
				}
					
				if(flagy ==0 )
				{
						for(minnumx = x0 -1; minnumx >x1; minnumx--)
						{
							if(tab.rows[minnumx].cells[y1].value !=0)
							{
								flagx = 1;
								break;
							}
						}
						if(flagx ==0)
						{
							//alert("x0 > x1 && y0 > y1 2");
							tab.rows[x0].cells[y0].innerHTML="<img src='0.png'/>";
							tab.rows[x0].cells[y0].value = 0;
							tab.rows[x1].cells[y1].innerHTML="<img src='0.png'/>";
							tab.rows[x1].cells[y1].value = 0;
							//flag = 1;
							return 1;
						}
				}
				
			}
		}
			
	}else if(x0 < x1 && y0 > y1)
	{
		for(var qingjing = 0; qingjing <2;qingjing++)
		{
			
			if(qingjing ==0)
			{
				//两个循环,第一个循环判断条件是有等
				flagx = 0;
				flagy = 0;
				for(minnumx = x0 +1; minnumx <= x1; minnumx++)
				{
					if(tab.rows[minnumx].cells[y0].value !=0)
					{
						flagx = 1;
						break;
					}
				}
				if(flagx == 0)
				{
						for(minnumy = y0-1; minnumy > y1; minnumy--)
						{
							if(tab.rows[x1].cells[minnumy].value !=0)
							{
								flagy = 1;
								break;
							}
					
						}
						if(flagy == 0)
						{
							//alert('x0 < x1 && y0 > y1 1');
							tab.rows[x0].cells[y0].innerHTML="<img src='0.png'/>";
							tab.rows[x0].cells[y0].value = 0;
							tab.rows[x1].cells[y1].innerHTML="<img src='0.png'/>";
							tab.rows[x1].cells[y1].value = 0;
							flag = 1;
							return 1;
						}
				}
						
			}else
			{
				flagx =0;
				flagy = 0;
				//两个循环,第一个循环判断条件是有等于号的
				for(minnumy = y0-1; minnumy >= y1; minnumy--)
				{
					if(tab.rows[x0].cells[minnumy].value !&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值