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

JS寫的數(shù)字拼圖小游戲代碼[學習參考]

 更新時間:2008年10月29日 15:42:19   作者:  
昨天沒事做,就用JS寫了個數(shù)字拼圖的小游戲,自娛自樂。 可惜關于逆序數(shù)的問題還沒解決,現(xiàn)在有時是拼不成的,大家見諒了。
復制代碼 代碼如下:

<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("恭喜你,過關了!");
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>

相關文章

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

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

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

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

    這篇文章主要介紹了利用TypeScript從字符串字面量類型提取參數(shù)類型,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    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中針對路由Routing原理刨析

    Angular中針對路由Routing原理刨析

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

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

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

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

    下面小編就為大家?guī)硪黄狫S中跨頁面調用變量和函數(shù)的方法(例如a.js 和 b.js中互相調用)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • ajax 同步請求和異步請求的差異分析

    ajax 同步請求和異步請求的差異分析

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

    js仿小米官網圖片輪播特效

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

    js頁面引導頁的實現(xiàn)思路總結

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

    JavaScript中Infinity(無窮數(shù))的使用和注意事項

    Infinity(無窮大)在 JS 中是一個特殊的數(shù)字,它的特性是它比任何有限的數(shù)字都大,如果不知道 Infinity,我們在一些運算操作遇到時,就會覺得很有意思,下面這篇文章主要給大家介紹了關于JavaScript中Infinity(無窮數(shù))的使用和注意事項,需要的朋友可以參考下
    2022-04-04

最新評論

广州市| 陇南市| 宁乡县| 彰武县| 铜鼓县| 万州区| 台湾省| 遵化市| 乌海市| 丽水市| 梅州市| 德兴市| 五大连池市| 青阳县| 化德县| 盐源县| 尖扎县| 察隅县| 高邮市| 岫岩| 乌什县| 乌苏市| 丰宁| 虹口区| 兴海县| 太湖县| 离岛区| 潮州市| 扶绥县| 原平市| 梓潼县| 修水县| 永城市| 比如县| 奈曼旗| 富裕县| 兴隆县| 二手房| 哈尔滨市| 昌宁县| 长宁区|