最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS寫(xiě)的數(shù)字拼圖小游戲代碼[學(xué)習(xí)參考]

 更新時(shí)間:2008年10月29日 15:42:19   作者:  
昨天沒(méi)事做,就用JS寫(xiě)了個(gè)數(shù)字拼圖的小游戲,自?shī)首詷?lè)。 可惜關(guān)于逆序數(shù)的問(wèn)題還沒(méi)解決,現(xiàn)在有時(shí)是拼不成的,大家見(jiàn)諒了。
復(fù)制代碼 代碼如下:

<html>

<head>

<title>拼圖</title>
<style>
td.numTd{
width : 20px ;
height : 20px ;
}

div.numDiv{
width : 100% ;
height : 100% ;
background-color : #000 ;
color : #FFF ;
text-align : center ;
vertical-align : middle ;
}
</style>

<script>
var currPos = 9;
function move(event){
switch(event.keyCode){
case 37 :
// 左鍵
if (currPos % 3 != 0){
var currTd = document.getElementById("numTd_" + currPos);
var nextTd = document.getElementById("numTd_" + (currPos + 1));
var temp = nextTd.innerHTML;
nextTd.innerHTML = " ";
currTd.innerHTML = temp;
currPos ++ ;
}
break;
case 38 :
// 上鍵
if (currPos < 7){
var currTd = document.getElementById("numTd_" + currPos);
var nextTd = document.getElementById("numTd_" + (currPos + 3));
var temp = nextTd.innerHTML;
nextTd.innerHTML = " ";
currTd.innerHTML = temp;
currPos += 3;
}
break;
case 39 :
// 右鍵
if (currPos % 3 != 1){
var currTd = document.getElementById("numTd_" + currPos);
var nextTd = document.getElementById("numTd_" + (currPos - 1));
var temp = nextTd.innerHTML;
nextTd.innerHTML = " ";
currTd.innerHTML = temp;
currPos -- ;
}
break;
case 40 :
// 下鍵
if (currPos > 3){
var currTd = document.getElementById("numTd_" + currPos);
var nextTd = document.getElementById("numTd_" + (currPos - 3));
var temp = nextTd.innerHTML;
nextTd.innerHTML = " ";
currTd.innerHTML = temp;
currPos -= 3;
}
break;
default :
break;
}

if (isWin()){
alert("恭喜你,過(guò)關(guān)了!");
initNums();
}

}

function isWin(){
for (i = 1; i < 9; i ++ ){
var numTd = document.getElementById("numTd_" + i);
var numDiv = numTd.getElementsByTagName("div");
if (i != numTd.innerText){
return false;
}
}
return true;

}

function initNums(){
var numArr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9);
var newnewNumArr = new Array();

do{
var tempStr = "";
for(i in numArr){
var flag = true;
do{
tempNum = numArr[parseInt(Math.random() * 100) % 9];
if (tempStr.search(tempNum) == -1){
newNumArr[i] = tempNum;
tempStr += tempNum;
flag = false;
}
}
while(flag);
}
}while(inverNum(newNumArr) % 2 == 0);


var len = newNumArr.length;
for(j = 0; j < len; j ++ ){
if (newNumArr[j] != 9){
document.getElementById("numTd_" + (j + 1)).innerHTML = "<div id='numDiv_"+newNumArr[j]+"' class='numDiv'>" + newNumArr[j] + "</div>";
}
else{
document.getElementById("numTd_" + (j + 1)).innerHTML = " ";
currPos = j + 1;
}
}

// document.getElementById("output").innerText = newNumArr;
}

function inverNum(numArr){
var len = numArr.length;
var count = 0;
for(i = 0; i < len - 1; i ++ ){
for(j = i + 1; j < len; j ++ ){
if (numArr[j] > numArr[i]){
count ++ ;
}
}
}
// alert("逆序數(shù): "+count);
return count;
}
</script>

</head>

<body onkeyup="move(event);" onload="initNums();">
<table align="center">
<tr>
<td id="numTd_1" class="numTd">
</td>
<td id="numTd_2" class="numTd">
</td>
<td id="numTd_3" class="numTd">
</td>
</tr>
<tr>
<td id="numTd_4" class="numTd">
</td>
<td id="numTd_5" class="numTd">
</td>
<td id="numTd_6" class="numTd">
</td>
</tr>
<tr>
<td id="numTd_7" class="numTd">
</td>
<td id="numTd_8" class="numTd">
</td>
<td id="numTd_9" class="numTd">
</td>
</tr>
</table>
<table>
<tr>
<td id="output"></td>
</tr>
</table>
</body>

</html>

相關(guān)文章

  • moment.js輕松實(shí)現(xiàn)獲取當(dāng)前日期是當(dāng)年的第幾周

    moment.js輕松實(shí)現(xiàn)獲取當(dāng)前日期是當(dāng)年的第幾周

    這篇文章主要介紹了moment.js輕松實(shí)現(xiàn)獲取當(dāng)前日期是當(dāng)年的第幾周,需要的朋友可以參考下
    2015-02-02
  • 利用TypeScript從字符串字面量類(lèi)型提取參數(shù)類(lèi)型

    利用TypeScript從字符串字面量類(lèi)型提取參數(shù)類(lèi)型

    這篇文章主要介紹了利用TypeScript從字符串字面量類(lèi)型提取參數(shù)類(lèi)型,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • js數(shù)組合并的8種方法(最全)

    js數(shù)組合并的8種方法(最全)

    在JavaScript中,有多種方法可以合并數(shù)組,本文主要介紹了8種方法,主要包括concat()、spread operator、push()、unshift()、splice()、Array.from()、Array.prototype.reduce()和ES6的Array.prototype.flat(),感興趣的可以了解一下
    2023-08-08
  • Angular中針對(duì)路由Routing原理刨析

    Angular中針對(duì)路由Routing原理刨析

    在A(yíng)ngular中,最好在一個(gè)頂級(jí)模塊中加載和配置路由,它專(zhuān)注于路由功能,然后由根模塊AppModule導(dǎo)入它,最后還有初始化并監(jiān)聽(tīng)瀏覽器的地址變化
    2023-01-01
  • 利用JS如何獲取form表單數(shù)據(jù)

    利用JS如何獲取form表單數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于利用JS如何獲取form表單數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • JS中跨頁(yè)面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)

    JS中跨頁(yè)面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)

    下面小編就為大家?guī)?lái)一篇JS中跨頁(yè)面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析

    ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析

    ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析,需要的朋友可以參考下。
    2011-07-07
  • js仿小米官網(wǎng)圖片輪播特效

    js仿小米官網(wǎng)圖片輪播特效

    這篇文章主要為大家詳細(xì)介紹了js仿小米官網(wǎng)圖片輪播特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • js頁(yè)面引導(dǎo)頁(yè)的實(shí)現(xiàn)思路總結(jié)

    js頁(yè)面引導(dǎo)頁(yè)的實(shí)現(xiàn)思路總結(jié)

    在同學(xué)們使用某些網(wǎng)站的新版本頁(yè)面的時(shí)候,經(jīng)常會(huì)出現(xiàn)一個(gè)類(lèi)似于新手引導(dǎo)一樣的效果,本文主要介紹了js頁(yè)面引導(dǎo)頁(yè)的實(shí)現(xiàn)思路總結(jié),感興趣的可以了解一下
    2023-04-04
  • JavaScript中Infinity(無(wú)窮數(shù))的使用和注意事項(xiàng)

    JavaScript中Infinity(無(wú)窮數(shù))的使用和注意事項(xiàng)

    Infinity(無(wú)窮大)在 JS 中是一個(gè)特殊的數(shù)字,它的特性是它比任何有限的數(shù)字都大,如果不知道 Infinity,我們?cè)谝恍┻\(yùn)算操作遇到時(shí),就會(huì)覺(jué)得很有意思,下面這篇文章主要給大家介紹了關(guān)于JavaScript中Infinity(無(wú)窮數(shù))的使用和注意事項(xiàng),需要的朋友可以參考下
    2022-04-04

最新評(píng)論

梧州市| 淮南市| 永顺县| 信宜市| 安乡县| 蓬安县| 喀喇| 新晃| 罗城| 肇东市| 镇雄县| 彰武县| 青州市| 富川| 类乌齐县| 高雄县| 福清市| 青神县| 平原县| 固原市| 南华县| 甘孜县| 从化市| 镇原县| 株洲县| 潜山县| 库伦旗| 广宁县| 礼泉县| 禹城市| 瑞昌市| 东源县| 阿图什市| 龙游县| 龙口市| 中阳县| 和顺县| 社会| 陇川县| 兴城市| 普陀区|