2018-12-02

数独游戏


效果0.gif

提交 检查功能还未完善,算法没想明白- -
HTML
<!DOCTYPE html>
<html>
<head>
<title>数独游戏</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body onselectstart="return false;">
<div id="container">
<div id="top">
<p id="name">数独游戏</p>
</div>
<table id="nums">
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<div id="btn">
<span id="refer">提交</span>
<span id="insepct">检查</span>
<span id="clear">清除当前</span>
<span id="rebuild">下一关</span>
</div>
</div>
<div id="btns">
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
</div>
<script type="text/javascript" src="js.js"></script>
</body>

CSS
*{
padding: 0;
margin: 0;
}
body{
background-color: #9e9e9e66;
color: #fff;
}

container{

width: 500px;
height: 700px;
position: relative;
margin: 50px auto;
background-color: #2196f3e0;

}

top{

position: absolute;
width: 100%;
height: 100px;

}

name{

position: absolute;
width: 150px;
height: 50px;
line-height: 50px;
font-size: 36px;
text-align: center;
margin-left: 175px;
margin-top: 20px;

}

name,

btn span{

cursor: pointer;

}

btn span:hover,

name:hover{

text-shadow: 8px 8px black;
transition: 1s;

}

nums{

position: absolute;
width: 100%;
height: 500px;
margin-top: 100px;
background-color: #fff;

}

btn{

position: absolute;
width: 100%;
height: 100px;
margin-top: 600px;

}

btn span{

height: 100px;
line-height: 100px;
text-align: center;
width: 120px;
display: inline-block;

}

td{
width: 46px;
height: 46px;
border:1px solid black;
background-color: #9e9e9e8a;
text-align: center;
font-size: 36px;
}
td:hover{
cursor: default;
}

btns td:hover,

.none:hover{
cursor: pointer;
opacity: 0.5;
}

btns{

margin-top: -500px;
margin-left: 1120px;
z-index: 999;
display: none;

}

JavaScript
function byId(id) {
return typeof(id) === "string"?document.getElementById(id):id;
}

var nums = byId('nums');
var refer = byId('refer');
var insepct = byId('insepct');
var clear = byId('clear');
var rebuild = byId('rebuild');
var tr = nums.getElementsByTagName('tr');
var td = nums.getElementsByTagName('td');
var index = 1;
var btns = byId('btns');
var tD = btns.getElementsByTagName('td');
var p = true;
var q = false; //判断能否进入下一关

console.log(tD)

+function(){
for(var i=0;i<81;i++){
if(i%3==0){
td[i].style.borderLeft = 'dotted';
}
if(i%3==2){
td[i].style.borderRight = 'dotted';
}
if((i<=26&&i>=18)||(i>=45&&i<=53)){
td[i].style.borderBottom = 'dotted'; //产生边框
}
}
arr0();
color();
}();

clear.onclick = function(){
for(i=0;i<81;i++){
if(td[i].className=='none'){
td[i].innerHTML='';
}
}
}

//输入数字
for(let i=0;i<81;i++){
td[i].id = i;
if(td[i].className=='none'){
td[i].onclick = function(){
btns.style.display = 'block';
if((i>=0&&i<=3)||(i>=9&&i<=12)||(i>=18&&i<=21)||(i>=27&&i<=30)||(i>=36&&i<=39)||(i>=45&&i<=48)||(i>=54&&i<=57)||(i>=63&&i<=66)||(i>=72&&i<=75)){
btns.style.marginLeft = 470+'px';
}
else{
btns.style.marginLeft = 1120+'px';
} //判断输入框出现在左边还是右边
for(let j=0;j<9;j++){
tD[j].onclick = function(){
td[i].innerHTML = tD[j].innerHTML;
btns.style.display = 'none';
}
}
}
}
}

//检查
insepct.onclick = function(){

}

//提交
refer.onclick = function(){

}

function check(){

}

//下一关
rebuild.onclick = function(){
if(q){
for(i=0;i<81;i++){
td[i].style.backgroundColor = "#9e9e9e8a";
td[i].innerHTML = "";
}
if(index==0){
arr0();
index++;
}
if(index==1){
arr1();
index++;
}
color();
}
else{
alert("你还未通关当前关卡");
}

}

function color(){
for(var i=0;i<81;i++){
if(td[i].innerHTML!=''){
td[i].style.backgroundColor = "orange";
}
}
}

function arr0(){
for(var i=0;i<81;i++){
switch(i)
{
case 0: td[i].innerHTML = "9"; break;
case 5: td[i].innerHTML = "2"; break;
case 9: td[i].innerHTML = "1"; break;
case 12: td[i].innerHTML = "5"; break;
case 17: td[i].innerHTML = "4"; break;
case 20: td[i].innerHTML = "3"; break;
case 24: td[i].innerHTML = "5"; break;
case 25: td[i].innerHTML = "7"; break;
case 32: td[i].innerHTML = "8"; break;
case 33: td[i].innerHTML = "6"; break;
case 34: td[i].innerHTML = "9"; break;
case 36: td[i].innerHTML = "6"; break;
case 44: td[i].innerHTML = "2"; break;
case 46: td[i].innerHTML = "1"; break;
case 47: td[i].innerHTML = "4"; break;
case 48: td[i].innerHTML = "9"; break;
case 55: td[i].innerHTML = "5"; break;
case 56: td[i].innerHTML = "9"; break;
case 60: td[i].innerHTML = "4"; break;
case 63: td[i].innerHTML = "2"; break;
case 68: td[i].innerHTML = "1"; break;
case 71: td[i].innerHTML = "6"; break;
case 75: td[i].innerHTML = "3"; break;
case 80: td[i].innerHTML = "5"; break;
default:
td[i].className = 'none';
}

}

}

function arr1(){
for(var i=0;i<81;i++){
switch(i)
{
case 9: td[i].innerHTML = "7"; break;
case 11: td[i].innerHTML = "1"; break;
case 15: td[i].innerHTML = "8"; break;
case 17: td[i].innerHTML = "5"; break;
case 18: td[i].innerHTML = "5"; break;
case 21: td[i].innerHTML = "8"; break;
case 22: td[i].innerHTML = "1"; break;
case 23: td[i].innerHTML = "9"; break;
case 26: td[i].innerHTML = "7"; break;
case 29: td[i].innerHTML = "4"; break;
case 30: td[i].innerHTML = "6"; break;
case 32: td[i].innerHTML = "7"; break;
case 33: td[i].innerHTML = "3"; break;
case 37: td[i].innerHTML = "5"; break;
case 43: td[i].innerHTML = "2"; break;
case 47: td[i].innerHTML = "7"; break;
case 48: td[i].innerHTML = "1"; break;
case 50: td[i].innerHTML = "3"; break;
case 51: td[i].innerHTML = "5"; break;
case 56: td[i].innerHTML = "6"; break;
case 57: td[i].innerHTML = "9"; break;
case 58: td[i].innerHTML = "8"; break;
case 59: td[i].innerHTML = "5"; break;
case 62: td[i].innerHTML = "2"; break;
case 63: td[i].innerHTML = "4"; break;
case 65: td[i].innerHTML = "9"; break;
case 69: td[i].innerHTML = "6"; break;
case 71: td[i].innerHTML = "8"; break;
default:
td[i].className = 'none';
}

}

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容