小游戏—配对游戏(附带超详细源码,复制就可实现效果)

用web写一个配对游戏玩玩

实现效果如下视频所示:

配对游戏

详细代码解析:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>演示文档-配对游戏</title>
	<style type="text/css">
	table{
		margin:15px auto 15px; 
		background: rgba(60,180,100,0.3);
		color: blue;
		width: 500px;
		height: 500px;
	}
	hr{
			width: 600px;
			height: 5px;
			background: orange;
	}
	h2{text-align: center;}
	td{
		text-align: center;
		background: rgba(160,80,10,0.1);
		width: 100px;
		height: 100px;
	}
	footer{
		margin:0px auto;
			text-align: center;
			background: rgba(0,100,100,0.2);
			padding: 10px;
			width: 500px;
	}
	</style>
</head>
<body>
<h2>配对游戏<hr></h2>
	<table>
		<script>
			var cols=5,rows=4;
			for(var i=0;i<rows;i++){
				str="<tr>";
				for(var j=0;j<cols;j++){
					var sid="img"+((cols*i)+j)
					str+='<td  id="'+sid+'" onclick="showimg('+((cols*i)+j)+')"'+'>'
					str+='</td>'
				}
				str+="</tr>";
				document.write(str)
			}
		</script>
	</table>
	<footer>
		用时:<span id="gameTime"></span>&nbsp&nbsp&nbsp
		<input type="button" value="开始游戏" onclick="init()">
	</footer>
	<script type="text/javascript">
		var length=cols*rows //表格单元格数目
		var map=[] //存储单元格里的内容
		var user=[] //存储每个单元格是否可以翻开的状态
		var times=0;
		var newsatrt;
		var firstIndex=0,secondIndex=0;//点击第一张、第二张图片的索引
		var ctr=0;
		var finished;
		function $(x){
		 	return document.getElementById(x)
	    }
	    for(var i=0;i<length/2;i++){
	    	map[i]=i;
	    	map[length/2+i]=i
	    }
	    // alert(map)
	    function init(){
	    	for (var i=0;i<length;i++){
	    		$("img"+i).innerHTML=''
	    		user[i]=0;//是否显示图片,0为显示背面
	    	}
	    	// alert(map)
	    	map.sort(function(){return Math.random()-0.5})
	    	// alert(map)
	    	times=0; //计时器变量清零
	    	$("gameTime").innerHTML=times+'秒'
	    	newsatrt=true; //标记为新开局
	    }

	    function showimg(x){
	    	if (newsatrt) {
	    		start()
	    		newsatrt=false;
	    	}

	    	 $("img"+x).innerHTML=map[x]
	    	// alert(x)
	    	if (ctr==0) {
	    		ctr++
	    		firstIndex=x //记录第一张图片索引
	    	}else{
	    		if (firstIndex!=x) {
	    		secondIndex=x;//记录第二张图片索引
	    		ctr=0;
	    		check() 
	    		}
	    	}
	   
	    	
	    }

	    function start(){
	    	times+=1
	    	$("gameTime").innerHTML=times+'秒';
	    	setTimeout('start()',1000)
	    }

	    function check(){
	    	if (map[firstIndex]==map[secondIndex]) {
	    		finished++;
	    		user[firstIndex]=1;
				user[secondIndex]=1;//不能再翻
				ctr=0;
	    	}else if(user[firstIndex]==0){
	    		$('img'+firstIndex).innerHTML=' ';
	    		firstIndex=secondIndex;
	    		secondIndex=0;
	    		ctr++ //标记已经点击了一张
	    	}
	    	if (finished==length/2) {
	    		clearTimeout(startTime);
	    		if(confirm("恭喜你!再来一局?")==true){
	    			init()
	    		}
	    	}
	    }

 	</script>
</body>
</html>






  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝牙配对流程源码分析在CSDN上可以找到相关的技术博文和开源项目,以下是大致的分析过程: 首先,在CSDN中搜索蓝牙配对流程的关键词,可以找到一些作者分享的源码分析文章。这些文章通常包括了蓝牙配对流程的基本知识介绍、配对过程的技术原理以及相关代码的解析。 其次,阅读这些源码分析文章,可以了解蓝牙配对流程在底层的实现细节。这些文章通常会讲解配对流程的各个步骤,例如配对方式的选择、密钥生成的过程、配对请求和回应的交互等。 同时,可以跟踪并分析开源项目中的相关代码。在CSDN上,一些开发者可能会分享他们自己实现的或者对开源项目进行的蓝牙配对流程源码分析。通过分析这些代码,可以更深入地了解蓝牙配对流程的实现细节和相关的算法。 最后,结合文献和博客中的技术理论与代码分析,我们可以对蓝牙配对流程的源码有一个整体的认识,了解不同实现中的差异和特点。需要注意的是,虽然CSDN上的文章和博客可以提供一些指导,但最好通过多个来源的阅读和对比,以获得更全面和准确的理解。 需要注意的是,由于CSDN是一个开发者分享技术经验的平台,文章和博客的质量、深度和准确性可能有所不同。因此,在阅读这些内容时,应当保持批判性思维,结合官方文档和其他权威来源进行综合分析和验证。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值