日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3*3数字华容道

發布時間:2024/8/1 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3*3数字华容道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTML網頁小游戲
《3*3數字華容道》

<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>3x3數字華容道</title><style type="text/css">.div0{width:100%;height:350px;text-align:center;}.div1 {width: 312px;height: 312px;background-color: #6C6C6C;margin-left:45%;}.div2 {width: 100px;height: 100px;float: left;margin-left: 3px;margin-top: 3px;background-color: #fe87bf;text-align: center;font-size: 80px;color: #8a0b4a;}.div3 {margin-top: 20px;width: 100%;height: 80px;border-color: #000000;text-align: center;margin-left:100px;float:center;}.buttonStyle {width: 150px;height: 50px;font-size: 30px;margin-top: 15px;border-radius: 5%;background-color: #cf9fff;}.timeText {margin-left: 60px;font-size: 30px;}.inputStyle {float: auto;width: 100px;height: 30px;font-size: 30px;}</style><script type="text/javascript">/*** 5x5數字華容道,一共有9個格子,為每一個格子標記下標,通過下標來找到對應的div元素對象* 格子下標從0開始,每個格子的下標如下所示:* 0, 1, 2, * 3, 4, 5,* 6, 7, 8*/window.onload = function() {//window.onload() 方法用于在網頁加載完畢后立刻執行的操作,即當 HTML 文檔加載完畢后,立刻執行某個方法。/*** 定義數字數組numArray,值為0~9,該數組中的元素則為每個格子中顯示的數字* 同時定義div元素節點對象的數組divObjArray,每一個數組元素均為div元素節點對象* 通過遍歷方式,依次對每個數組元素賦值* * IE瀏覽器8.x及以下均不支持getElementsByClassName()方法*/var numArray = new Array(9);var divObjArray = new Array(9);for(var i = 0; i < divObjArray.length; i++) {numArray[i] = i + 1;divObjArray[i] = document.getElementById("index_" + i);}/*** 定義“開始游戲”按鈕的元素節點對象startButton* 開始游戲按鈕綁定單擊響應函數,當玩家點擊按鈕后,更改按鈕顯示字樣,更改按鈕顏色;* 游戲順利通關后,復位按鈕;* 定義計時器timer* 定時器設置計時函數timing,* 當玩家點擊開始按鈕進入游戲后,定時器開始計時;* 游戲順利通關后,復位計時器;* 定義計時器所示時間文本的元素節點對象timeText* 游戲快開始后,每秒顯示當前所用時間;* 游戲結束后,時間文本復位置空* 定義提示文字“目標圖案”的元素節點對象promptText* 當玩家進入游戲后,將該提示文字隱藏起來;* 游戲結束后,提示文字再顯示*定義跳數jump,每移動一步,就加1*/var startButton = document.getElementById("startButton");var timer;var curTime = 0;var timeText = document.getElementById("outputTime");var promptText = document.getElementById("promptText");var curjump = 0;var jump = document.getElementById("jump");startButton.onclick = function() {if(startButton.innerHTML == "游戲中...") {return;}// 更改按鈕顯示字樣,更改按鈕顏色startButton.innerHTML = "游戲中...";startButton.style.backgroundColor = "#FF7575";// 隨機分布1~9數字所在位置numArray.sort(function() {return Math.random() > 0.5 ? -1 : 1;});for(var i = 0; i < divObjArray.length; i++) {if(numArray[i] == 9) {divObjArray[i].innerHTML = "";divObjArray[i].style.backgroundColor = "#6C6C6C";continue;}divObjArray[i].innerHTML = numArray[i];divObjArray[i].style.backgroundColor = "#fe87bf";}// 定時器開始計時setTimeout(timing, 1000);//等待1000毫秒執行timing// 同步顯示時間文本curTime = 0;timeText.value = curTime;// 將頂部的“目標圖案”字樣隱藏promptText.style.display = "none";}// 計時器function timing() {curTime++;timeText.value = curTime;timer = setTimeout(timing, 1000);}/*** 使用9代表空白格,通過變量emptyIndex存儲該值所在格子的下標* 并聲明更新9空白格位置的函數updateEmptyFun*/var emptyIndex = 9;// 獲取空白格所在下標function updateEmptyFun() {emptyIndex = numArray.indexOf(9);}/***運行原理* 為每一個格子綁定單擊響應函數* 這些格子按照點擊移動時,是否有規律、規律是否一致,可以分為6組* 第1組,沒有統一規律的一組,下標分別為0,2,6,8的格子* 第2組,移動規律為可以移動左、下、右,下標為1的格子* 第3組,移動規律為可以移動左、上、右,下標為7的格子* 第4組,移動規律為可以移動上、下、右,下標為3的格子* 第5組,移動規律為可以移動上、下、左,下標為5的格子* 第6組,移動規律為可以移動上、下、左、右,下標為4的格子* * 將綁定單擊響應函數公共部分抽取出來,作為公共函數updatePositionFun,減少冗余代碼* 公共函數部分包含更新9(即空白格子)在數組numArray中的位置,同時更新格子交換后的顏色、數值* * 在每次位置更新結束之后,需要判斷是否已經完成數字排序;方法為isGameOver* 若當前空白格未在最后一位,則可直接認為游戲未通關* 若當前空白格已經在最后一位,則判斷前面的所有數字均按照升序排序*/function updatePositionFun(divIndex) {if(startButton.innerHTML == "開始游戲") {return;}curjump += 1;jump.value = curjump;numArray[emptyIndex] = divObjArray[divIndex].innerHTML;numArray[divIndex] = 9;divObjArray[emptyIndex].innerHTML = divObjArray[divIndex].innerHTML;divObjArray[emptyIndex].style.backgroundColor = "#fe87bf";divObjArray[divIndex].innerHTML = "";divObjArray[divIndex].style.backgroundColor = "#6C6C6C";if(divIndex == 8) {isGameOver();}}// 判斷游戲是否通關function isGameOver() {for(var i = 0; i < numArray.length; i++) {if(numArray[i] != i + 1) {return;}}// 游戲通關,彈框告知玩家游戲順利通關,以及所用時間alert("通關啦! 用時:" + timeText.value + "s");//跳轉煙花界面setTimeout("window.location.href='煙花.html'",1000);// 將“開始游戲”按鈕復位startButton.innerHTML = "開始游戲";startButton.style.backgroundColor = "#cf9fff";// 將計時器復位clearTimeout(timer);curjump = 0;jump.value = 0;jump.innerHTML = "";// 將頂部的“目標圖案”字樣設置為顯示promptText.style.display = "block";}// 下標為0的格子的單擊響應函數divObjArray[0].onclick = function() {updateEmptyFun();if(emptyIndex == 1 || emptyIndex == 3) {updatePositionFun(0);}}// 下標為2的格子的單擊響應函數divObjArray[2].onclick = function() {updateEmptyFun();if(emptyIndex == 1 || emptyIndex == 5) {updatePositionFun(2);}}// 下標為6的格子的單擊響應函數divObjArray[6].onclick = function() {updateEmptyFun();if(emptyIndex == 3 || emptyIndex == 7) {updatePositionFun(6);}}// 下標為8的格子的單擊響應函數divObjArray[8].onclick = function() {updateEmptyFun();if(emptyIndex == 7 || emptyIndex == 5) {updatePositionFun(8);}}// 其他下標的格子的單擊響應函數function resFun() {var curIndex;for(var i = 1; i < divObjArray.length; i++) {if(i == 1) {divObjArray[i].onclick = function() {updateEmptyFun();curIndex = divObjArray.indexOf(this);if(emptyIndex == 0 || emptyIndex == 4 || emptyIndex == 2) {updatePositionFun(curIndex);}}continue;}if(i == 7) {divObjArray[i].onclick = function() {updateEmptyFun();curIndex = divObjArray.indexOf(this);if(emptyIndex == 6 || emptyIndex ==4 || emptyIndex == 8) {updatePositionFun(curIndex);}}continue;}if(i == 3) {divObjArray[i].onclick = function() {updateEmptyFun();curIndex = divObjArray.indexOf(this);if(emptyIndex == 0 || emptyIndex == 4 || emptyIndex == 6) {updatePositionFun(curIndex);}}continue;}if(i == 5) {divObjArray[i].onclick = function() {updateEmptyFun();curIndex = divObjArray.indexOf(this);if(emptyIndex == 2 || emptyIndex == 4 || emptyIndex == 8) {updatePositionFun(curIndex);}}continue;}divObjArray[i].onclick = function() {updateEmptyFun();curIndex = divObjArray.indexOf(this);if(emptyIndex == 1 || emptyIndex == 3 || emptyIndex == 7 || emptyIndex == 5) {updatePositionFun(curIndex);}}}}resFun();}</script></head><body><div class="div3"><span style="font-size: 50px;color: #8a0b4a;font-family:黑體;" id="promptText">目標圖案</span></div><div class = "div0"><div class="div1"><div class="div2" id="index_0">1</div><div class="div2" id="index_1">2</div><div class="div2" id="index_2">3</div><div class="div2" id="index_3">4</div><div class="div2" id="index_4">5</div><div class="div2" id="index_5">6</div><div class="div2" id="index_6">7</div><div class="div2" id="index_7">8</div><div class="div2" style="background-color: #6C6C6C;" id="index_8"></div></div></div><div class="div3" ><button class="buttonStyle" id="startButton" name="button" value="StartButton">開始游戲</button><span class="timeText">時間</span><input class="inputStyle" type="text" name="outputTime" id="outputTime" value="" readonly="readonly" /><span class="timeText" style="margin-left: 0px;">s</span><span class="timeText">走了</span><input class="inputStyle" type="text" name="jump" id="jump" value="" readonly="readonly" /><span class="timeText" style="margin-left: 0px;">步</span></div></body></html>

總結

以上是生活随笔為你收集整理的3*3数字华容道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美人体一区二区 | 欧美资源在线 | 波多野吉衣一区二区三区 | 成人1区2区3区 | 国产精品美女毛片真酒店 | 乱lun合集小可的奶水 | 观看av| 影音先锋男人站 | 蜜桃视频一区二区在线观看 | 91九色蝌蚪视频 | 亚洲av电影天堂男人的天堂 | 国产一区视频在线免费观看 | 精品国产系列 | 天天操,夜夜操 | 91亚洲国产成人久久精品麻豆 | 手机av电影在线 | 亚洲yy| 国产αv| 91精品久久久久久久久久入口 | 男人天堂手机在线观看 | 一级国产黄色片 | 国产午夜在线视频 | 色姐| 青青草视频免费看 | 精品国内自产拍在线观看视频 | 香蕉网久久 | 亚洲成av人片 | 另类一区二区三区 | 爱情岛论坛成人 | 91老师片黄在线观看 | 涩涩视频在线播放 | 在线五月天 | 都市激情第一页 | 亚洲黄色一区二区三区 | 性高潮久久久久 | 午夜激情视频在线观看 | 不卡视频一区二区 | 色老板最新地址 | 成人中文视频 | 99在线精品视频免费观看20 | 九九色在线| 爱情岛论坛亚洲入口 | 黄色在线免费看 | 涩涩的视频在线观看 | 日韩资源在线观看 | 欧美性猛交99久久久久99按摩 | 深田咏美中文字幕 | 一区二区高潮 | 波多野结衣喷潮 | 99国产精品视频免费观看一公开 | 国产农村av| 亚洲精品粉嫩小泬 | 国产精品99久久久久 | 精品国产乱码久久久 | 国产精品jizz视频 | 亚洲欧美一区二区三区情侣bbw | 青草视频网 | 成人观看视频 | 污污的网站在线免费观看 | av看片网站 | 免费在线欧美 | 中文字幕人成人乱码亚洲电影 | 欧美激情久久久 | 啪啪导航 | 久久888| 久久av色| 性色欲网站人妻丰满中文久久不卡 | 杨贵妃颤抖双乳呻吟求欢小说 | 国产黄色片子 | 免费网站在线观看视频 | 色中文网 | 一级片中文字幕 | 亚洲影视网 | 人妻互换一区二区激情偷拍 | 操操操影院 | 毛片在线看网站 | 国产一区二区三区在线观看 | 狠狠天天 | 欧美一及片 | 成人黄色小视频在线观看 | 青青草免费av | 黄色成人在线播放 | 美女写真福利视频 | 香蕉视频在线观看免费 | 欧美高跟鞋交xxxxxhd | 99国产精品一区 | www色视频 | 丰满岳乱妇一区二区三区 | 伊人精品在线观看 | 玖色视频| 日韩一区二区视频在线播放 | 播色屋| 伊人www22综合色 | 欧美偷拍精品 | 中文字幕高清视频 | 日本不卡一二 | 国产一区二区片 | 综合免费视频 | 男生草女生视频 |