初学js时做的数独(算法不简便,当时不懂事喜欢闭门造车。写着玩的)只写了横向纵向及单九宫格的检查,生成随机数未细写生成规则

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title> new document </title>
<meta name="generator" content="editplus">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<style>
input{width:50px;height:50px;font-size:40px;}
body{text-align:center;}
table{margin:0 auto;border:1px solid #f00;}
.jia{border:1px solid #f00;width:170px;height:170px;float:left}
.bk{overflow:hidden;width:516px;margin:0 auto;border:1px solid #f00;}
.jiase{color: red;}
</style>
<script>
function da(){
	var div =document.getElementsByName("jia");
	for(a=0;a<div.length;a++)
		div[a].appendChild(scbg());
}
function scbg(){
	var table =document.createElement("table");
	table.setAttribute("border","1");
	var sui=[""];
	for(i=0;i<9;i++){
		sui[i]=Math.floor(Math.random()*9+1);
		for(x=0;x<i;x++)
			if(sui[x]===sui[i]){
				i--;
				break;
			}
	}
	for(i=0;i<3;i++){
		var tr = document.createElement("tr");
		for(n=0;n<3;n++){
			var td = document.createElement("td");
			var input = document.createElement("input");
			input.value=sui[i*3+n];
			input.className="jiase";
			td.appendChild(input);
			tr.appendChild(td);
		}
		table.appendChild(tr);
	}
	return table;	
}
function kong(){
	for(var a=0;a<9;a++){
		var sz=[""];
		var inputs=document.getElementsByName("jia")[a].getElementsByTagName("input");
		for(i=0;i<inputs.length;i++)
			sz[i]=inputs[i].value;
		for(i=0;i<6;i++){
			inputs[sz[i]-1].className="";
			inputs[sz[i]-1].value="";
		}
		
	}
}

function xbjc(){
	for(var a=0;a<9;a++){
		var sz=[""];
		var inputs=document.getElementsByName("jia")[a].getElementsByTagName("input");
		for(i=0;i<inputs.length;i++)
			sz[i]=inputs[i].value;
		for(i=0;i<9;i++)
			for(n=0;n<i;n++)
				if(sz[i]==sz[n]){
					alert("九宫格不对呦");
					return;
				}
	}alert("九宫格成功了");
}




function heng(){
	var sz=[""];
	var j=1,p=0;
	for(var a=0;a<9;a++){
		var l=0;
		for(var b=3*j-3;b<3*j;b++){
			var inputs=document.getElementsByName("jia")[b].getElementsByTagName("input");
			for(c=0;c<3;c++)
				sz[l*3+c]=inputs[c+p*3].value;
			l++;
		}
			for(i=0;i<9;i++)
				for(n=0;n<i;n++)
					if(sz[i]==sz[n]){
						alert("横不对呦");
						return;
					}
		p++;
		if(p==3){
			j++;
			p=0;
		}
			
	}alert("横成功了");
}
function shu(){
	var sz=[""];
	var j=0,p=0;
	for(var a=0;a<9;a++){
		var l=0;
		for(var b=0;b<3;b++){
			var inputs=document.getElementsByName("jia")[b*3+j].getElementsByTagName("input");
			for(c=0;c<3;c++)
				sz[l*3+c]=inputs[c*3+p].value;
			l++;
		}
			for(i=0;i<9;i++)
				for(n=0;n<i;n++)
					if(sz[i]==sz[n]){
						alert("竖不对呦");
						return;
					}
		p++;
		if(p==3){
			j++;
			p=0;
		}
			
	}alert("竖成功了");
}
window.onload=function(){
	da();
	kong();
	var jc =document.getElementById("jc");
	jc.onclick=function(){xbjc();heng();shu();}
}
</script>
</head>
<body>
<div class="bk">
	<div name="jia" class="jia"></div><div name="jia" class="jia"></div><div name="jia" class="jia"></div>
</div>
<div class="bk">
	<div name="jia" class="jia"></div><div name="jia" class="jia"></div><div name="jia" class="jia"></div>
</div>
<div class="bk">
	<div name="jia" class="jia"></div><div name="jia" class="jia"></div><div name="jia" class="jia"></div>
</div>
<button id="jc">检查</button>
</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翎墨袅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值