日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML 实现扫雷游戏

發布時間:2023/12/10 HTML 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML 实现扫雷游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTML 實現掃雷游戲

文章目錄

      • HTML 實現掃雷游戲
        • 項目原理:
        • 總結

項目原理:

掃雷游戲的規則很簡單:

游戲面板上有一些格子,每個格子中有一個數字(空白表示數字為 0)或是地雷,格子中的數字表示格子周圍格子中地雷的數量。玩家要做的就是把數字格子找出來,時間花的越少越好。

除邊界上的格子外,每個格子周圍有 8 個格子:上、下、左、右、4 個斜角。所以數字范圍是 0~8。

所以我們的算法如下:

根據用戶選擇的難易程度(有初、中、高三個級別,級別越高地雷和格子數量越多),隨機產生一定個數的地雷并隨機放在格子中。然后遍歷格子,計算每個格子中的數字,標記在格子上。玩家左鍵點擊格子時顯示格子內容(如果遇到地雷則挑戰失敗,游戲結束),右鍵點擊格子時標記格子為地雷,真到正確標記所有地雷并打開所有非地雷格子,挑戰成功,游戲結束。

小技巧:由于格子中數字范圍是 0~8,所以為了便于計算,我們可以把地雷所在的格子中的數字記為 9

項目的目錄結構:

minesweeper|__index.html|__index.css|__index.js|__jms.js

圖片下載地址:

https://labfile.oss.aliyuncs.com/courses/144/mine.pnghttps://labfile.oss.aliyuncs.com/courses/144/flag.png

下面將從頁面布局開始,一步一步完成所有代碼的編寫

首先我們需要有一個面板來顯示游戲信息,包括剩余地雷個數、所用時間、難度級別等。因為格子數量不是固定的,所以我們先不畫格子,放在 JS 代碼中繪制。

創建 index.html 文件,添加如下代碼并保存:

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>JavaScript版掃雷</title><link rel="stylesheet" type="text/css" href="index.css" /></head><body><div id="JMS_main" class="main"><table id="landmine"></table><div id="operation"><div class="tip">剩余雷數:<span class="light red" id="landMineCount">0</span></div><div class="tip">持續時間: <span class="light f60" id="costTime">0</span></div><fieldset><legend>難度選擇:</legend><inputtype="radio"name="level"id="llevel"checked="checked"value="10"/><label for="llevel">初級(10*10)</label><br /><input type="radio" name="level" id="mlevel" value="15" /><labelfor="mlevel">中級(15*15)</label><br /><input type="radio" name="level" id="hlevel" value="20" /><labelfor="hlevel">高級(20*20)</label><br /></fieldset><input type="button" id="begin" value="開始游戲" /><br /><div class="tip txtleft">提示:<ul><li>1、點擊“開始游戲”游戲開始計時</li><li>2、游戲過程中點擊“開始游戲”將開始新游戲</li></ul></div></div></div><script src="jms.js"></script><script src="index.js"></script></body> </html>

然后需要調整面板上游戲信息的位置,添加一些樣式。在 index.css 中添加如下代碼并保存:

.main {margin: 10px auto;padding: 20px;background: #eee;width: 600px;zoom: 1; } .main table {background: #ccc;float: left; }.main table td {border: 2px outset #eee;font-size: 20px;width: 32px;height: 32px;text-align: center;cursor: pointer; }.main table td:hover {background-color: #aaa; } .main #operation {width: 180px;float: right;text-align: center; }.landMine {background-image: url(mine.png);background-position: center;background-repeat: no-repeat; }.main table td.normal {border: 2px solid #eee;background-color: #aaa; }.main table td.normal:hover {background-color: #aaa; }.flag {background-image: url(flag.png);background-position: center;background-repeat: no-repeat; }.main:after {clear: both;display: block;content: '';line-height: 0;height: 0;visibility: hidden; } .main .tip {font-size: 14px;margin: 5px; }.main .tip ul { }.main .tip ul li {margin: 5px 0;line-height: 20px; } .main .light {font-size: 30px; } .main .red {color: red; } .main .f60 {color: #f60; } .main input[type='button'] {padding: 2px 10px;margin: 5px;font-size: 20px;cursor: pointer; } .main .txtleft {text-align: left; }.main input[type='radio'], .main fieldset label {cursor: pointer; }.main fieldset {margin: 10px 0;line-height: 25px; }

完成這步后,瀏覽器打開看看

index.html。

效果如下:

左邊空白處用于顯示格子。

下面就要畫格子了,為了讓代碼更清晰,我們把游戲實現部分和調用部分分開,游戲實現部分放在跟 index.html 同目錄下的 jms.js 中,游戲調用部分放在同目錄下的 index.js 中。

畫格子需要傳入一些參數,如放格子的表格的 id,格子的數量(用行數和列數表示)。另外,游戲的其他數據也要進行初始化。

//在jms.js中 (function () {// 初始化掃雷對象,初始化數據var JMS = function (id,rowCount,colCount,minLandMineCount,maxLandMineCount) {if (!(this instanceof JMS))return new JMS(id,rowCount,colCount,minLandMineCount,maxLandMineCount);this.doc = document;this.table = this.doc.getElementById(id); //畫格子的表格this.cells = this.table.getElementsByTagName('td'); //小格子this.rowCount = rowCount || 10; //格子行數this.colCount = colCount || 10; //格子列數this.landMineCount = 0; //地雷個數this.markLandMineCount = 0; //標記的地雷個數this.minLandMineCount = minLandMineCount || 10; //地雷最少個數this.maxLandMineCount = maxLandMineCount || 20; //地雷最多個數this.arrs = []; //格子對應的數組this.beginTime = null; //游戲開始時間this.endTime = null; //游戲結束時間this.currentSetpCount = 0; //當前走的步數this.endCallBack = null; //游戲結束時的回調函數this.landMineCallBack = null; //標記為地雷時更新剩余地雷個數的回調函數this.doc.oncontextmenu = function () {//禁用右鍵菜單return false;};this.drawMap();};// 在 JMS 的原型中創建格子JMS.prototype = {//畫格子drawMap: function () {var tds = [];// 為了兼容瀏覽器if (window.ActiveXObject &&parseInt(navigator.userAgent.match(/msie ([\d.]+)/i)[1]) < 8) {// 創建引入新的 css 樣式文件var css = '#JMS_main table td{background-color:#888;}',// 獲取 head 標簽head = this.doc.getElementsByTagName('head')[0],// 創建 style 標簽style = this.doc.createElement('style');style.type = 'text/css';if (style.styleSheet) {// 將 css 樣式賦給 style 標簽style.styleSheet.cssText = css;} else {// 在 style 標簽中創建節點style.appendChild(this.doc.createTextNode(css));}// 再將 style 標簽創建為 head 標簽的子標簽head.appendChild(style);}// 循環創建表格for (var i = 0; i < this.rowCount; i++) {tds.push('<tr>');for (var j = 0; j < this.colCount; j++) {tds.push("<td id='m_" + i + '_' + j + "'></td>");}tds.push('</tr>');}this.setTableInnerHTML(this.table, tds.join(''));},//添加HTML到TablesetTableInnerHTML: function (table, html) {if (navigator && navigator.userAgent.match(/msie/i)) {// 在 table 的 owner document 內創建 divvar temp = table.ownerDocument.createElement('div');// 創建表格的 tbody 內容temp.innerHTML = '<table><tbody>' + html + '</tbody></table>';if (table.tBodies.length == 0) {var tbody = document.createElement('tbody');table.appendChild(tbody);}table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]);} else {table.innerHTML = html;}},};window.JMS = JMS; })();

上面的代碼中,部分代碼是為了兼容 IE 瀏覽器,可忽略。

在 index.js 的調用代碼中,我們需要綁定難度選擇按鈕的事件,然后調用上面定義的 JMS,開始繪制格子。

然后在瀏覽器中打開 index.html,格子已經可以顯示出來了,效果如下:

點擊右邊的難度選擇,可以看到格子的數量變化。

現在,我們開始對游戲初始化,主要分三步:

  • 把所有格子(代碼中用一個數組表示)初始化為 0;
  • 隨機生成地雷個數,把地雷隨機放到數組中,數組項值設置為 9;
  • 計算其他格子中的數字,值放入數組中。
  • 在 jms.js 中 JMS.prototype 內加入如下代碼:

    //在jms.js中JMS.prototype內加入 //初始化,一是設置數組默認值為0,二是確定地雷個數 init: function () {for (var i = 0; i < this.rowCount; i++) {this.arrs[i] = [];for (var j = 0; j < this.colCount; j++) {this.arrs[i][j] = 0;}}this.landMineCount = this.selectFrom(this.minLandMineCount, this.maxLandMineCount);this.markLandMineCount = 0;this.beginTime = null;this.endTime = null;this.currentSetpCount = 0; }, //把是地雷的數組項的值設置為9 landMine: function () {var allCount = this.rowCount * this.colCount - 1,tempArr = {};for (var i = 0; i < this.landMineCount; i++) {var randomNum = this.selectFrom(0, allCount),rowCol = this.getRowCol(randomNum);if (randomNum in tempArr) {i--;continue;}this.arrs[rowCol.row][rowCol.col] = 9;tempArr[randomNum] = randomNum;} }, //計算其他格子中的數字 calculateNoLandMineCount: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9)continue;if (i > 0 && j > 0) {if (this.arrs[i - 1][j - 1] == 9)this.arrs[i][j]++;}if (i > 0) {if (this.arrs[i - 1][j] == 9)this.arrs[i][j]++;}if (i > 0 && j < this.colCount - 1) {if (this.arrs[i - 1][j + 1] == 9)this.arrs[i][j]++;}if (j > 0) {if (this.arrs[i][j - 1] == 9)this.arrs[i][j]++;}if (j < this.colCount - 1) {if (this.arrs[i][j + 1] == 9)this.arrs[i][j]++;}if (i < this.rowCount - 1 && j > 0) {if (this.arrs[i + 1][j - 1] == 9)this.arrs[i][j]++;}if (i < this.rowCount - 1) {if (this.arrs[i + 1][j] == 9)this.arrs[i][j]++;}if (i < this.rowCount - 1 && j < this.colCount - 1) {if (this.arrs[i + 1][j + 1] == 9)this.arrs[i][j]++;}}} }, //獲取一個隨機數 selectFrom: function (iFirstValue, iLastValue) {var iChoices = iLastValue - iFirstValue + 1;return Math.floor(Math.random() * iChoices + iFirstValue); }, //通過數值找到行數和列數 getRowCol: function (val) {return {row: parseInt(val / this.colCount),col: val % this.colCount}; },

    給格子添加點擊事件

    現在,該給格子添加點擊事件了,當左鍵點擊時,顯示出格子中的數字(如果是地雷就挑戰失敗,結束游戲),右鍵點擊時標記為地雷。

    另外,第一次點擊格子(往往帶有運氣成分)如果周圍有空白區域會直接展開。

    jms.js 中的這部分代碼如下:

    //在jms.js中JMS.prototype內加入 //獲取元素 $: function (id) {return this.doc.getElementById(id); }, //給每個格子綁定點擊事件(左鍵和右鍵) bindCells: function () {var self = this;for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {(function (row, col) {self.$("m_" + i + "_" + j).onmousedown = function (e) {e = e || window.event;var mouseNum = e.button;var className = this.className;if (mouseNum == 2) {if (className == "flag") {this.className = "";self.markLandMineCount--;} else {this.className = "flag";self.markLandMineCount++;}if (self.landMineCallBack) {self.landMineCallBack(self.landMineCount - self.markLandMineCount);}} else if (className != "flag") {self.openBlock.call(self, this, row, col);}};})(i,j);}} }, //展開無雷區域 showNoLandMine: function (x, y) {for (var i = x - 1; i < x + 2; i++)for (var j = y - 1; j < y + 2; j++) {if (!(i == x && j == y)) {var ele = this.$("m_" + i + "_" + j);if (ele && ele.className == "") {this.openBlock.call(this, ele, i, j);}}} }, //顯示 openBlock: function (obj, x, y) {if (this.arrs[x][y] != 9) {this.currentSetpCount++;if (this.arrs[x][y] != 0) {obj.innerHTML = this.arrs[x][y];}obj.className = "normal";if (this.currentSetpCount + this.landMineCount == this.rowCount * this.colCount) {this.success();}obj.onmousedown = null;if (this.arrs[x][y] == 0) {this.showNoLandMine.call(this, x, y);}} else {this.failed();} }, //顯示地雷 showLandMine: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9) {this.$("m_" + i + "_" + j).className = "landMine";}}} }, //顯示所有格子信息 showAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9) {this.$("m_" + i + "_" + j).className = "landMine";} else {var ele=this.$("m_" + i + "_" + j);if (this.arrs[i][j] != 0)ele.innerHTML = this.arrs[i][j];ele.className = "normal";}}} }, //清除顯示的格子信息 hideAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {var tdCell = this.$("m_" + i + "_" + j);tdCell.className = "";tdCell.innerHTML = "";}} }, //刪除格子綁定的事件 disableAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {var tdCell = this.$("m_" + i + "_" + j);tdCell.onmousedown = null;}} },

    添加游戲控制功能

    到現在為止,游戲主要部分已經完成,下面要做的就是添加游戲控制功能,讓游戲正常運行起來,主要有以下幾步:

  • 給游戲開始按鈕添加點擊事件,重置游戲參數;
  • 游戲開始后開始記時;
  • 游戲結束就停止記時并提示。
  • 在 jms.js 中添加游戲入口和開始功能:

    //在 jms.js 中 JMS.prototype 內加入 //游戲開始 begin: function () {this.currentSetpCount = 0;//開始的步數清零this.markLandMineCount = 0;this.beginTime = new Date();//游戲開始時間this.hideAll();this.bindCells(); }, //游戲結束 end: function () {this.endTime = new Date();//游戲結束時間if (this.endCallBack) {//如果有回調函數則調用this.endCallBack();} }, //游戲成功 success: function () {this.end();this.showAll();this.disableAll();alert("Congratulation!"); }, //游戲失敗 failed: function () {this.end();this.showAll();this.disableAll();alert("GAME OVER!"); }, //入口 play: function () {this.init();this.landMine();this.calculateNoLandMineCount(); },

    在 index.js 中給開始按鈕添加事件,開始游戲,并顯示游戲時間和剩余地雷個數:

    //在index.js的init中,jms = JMS("landmine", rowCount, colCount, minLandMineCount, maxLandMineCount); 之后加入 jms.endCallBack = function () {clearInterval(timeHandle); }; jms.landMineCallBack = function (count) {landMineCountElement.innerHTML = count; };//為“開始游戲”按鈕綁定事件 beginButton.onclick = function () {jms.play(); //初始化//顯示地雷個數landMineCountElement.innerHTML = jms.landMineCount;//開始jms.begin();//更新花費的時間timeHandle = setInterval(function () {timeShow.innerHTML = parseInt((new Date() - jms.beginTime) / 1000);}, 1000); };

    jms.js 完整代碼

    在 jms.js 中寫入以下代碼:

    (function () {var JMS = function (id,rowCount,colCount,minLandMineCount,maxLandMineCount) {if (!(this instanceof JMS))return new JMS(id,rowCount,colCount,minLandMineCount,maxLandMineCount);this.doc = document;this.table = this.doc.getElementById(id); //畫格子的表格this.cells = this.table.getElementsByTagName('td'); //小格子this.rowCount = rowCount || 10; //格子行數this.colCount = colCount || 10; //格子列數this.landMineCount = 0; //地雷個數this.markLandMineCount = 0; //標記的地雷個數this.minLandMineCount = minLandMineCount || 10; //地雷最少個數this.maxLandMineCount = maxLandMineCount || 20; //地雷最多個數this.arrs = []; //格子對應的數組this.beginTime = null; //游戲開始時間this.endTime = null; //游戲結束時間this.currentSetpCount = 0; //當前走的步數this.endCallBack = null; //游戲結束時的回調函數this.landMineCallBack = null; //標記為地雷時更新剩余地雷個數的回調函數this.doc.oncontextmenu = function () {//禁用右鍵菜單return false;};this.drawMap();};JMS.prototype = {//畫格子drawMap: function () {var tds = [];if (window.ActiveXObject &&parseInt(navigator.userAgent.match(/msie ([\d.]+)/i)[1]) < 8) {var css = '#JMS_main table td{background-color:#888;}',head = this.doc.getElementsByTagName('head')[0],style = this.doc.createElement('style');style.type = 'text/css';if (style.styleSheet) {style.styleSheet.cssText = css;} else {style.appendChild(this.doc.createTextNode(css));}head.appendChild(style);}for (var i = 0; i < this.rowCount; i++) {tds.push('<tr>');for (var j = 0; j < this.colCount; j++) {tds.push("<td id='m_" + i + '_' + j + "'></td>");}tds.push('</td>');}this.setTableInnerHTML(this.table, tds.join(''));},//添加HTML到TablesetTableInnerHTML: function (table, html) {if (navigator && navigator.userAgent.match(/msie/i)) {var temp = table.ownerDocument.createElement('div');temp.innerHTML = '<table><tbody>' + html + '</tbody></table>';if (table.tBodies.length == 0) {var tbody = document.createElement('tbody');table.appendChild(tbody);}table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]);} else {table.innerHTML = html;}},//初始化,一是設置數組默認值為0,二是確定地雷個數init: function () {for (var i = 0; i < this.rowCount; i++) {this.arrs[i] = [];for (var j = 0; j < this.colCount; j++) {this.arrs[i][j] = 0;}}this.landMineCount = this.selectFrom(this.minLandMineCount,this.maxLandMineCount);this.markLandMineCount = 0;this.beginTime = null;this.endTime = null;this.currentSetpCount = 0;},//把是地雷的數組項的值設置為9landMine: function () {var allCount = this.rowCount * this.colCount - 1,tempArr = {};for (var i = 0; i < this.landMineCount; i++) {var randomNum = this.selectFrom(0, allCount),rowCol = this.getRowCol(randomNum);if (randomNum in tempArr) {i--;continue;}this.arrs[rowCol.row][rowCol.col] = 9;tempArr[randomNum] = randomNum;}},//計算其他格子中的數字calculateNoLandMineCount: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9) continue;if (i > 0 && j > 0) {if (this.arrs[i - 1][j - 1] == 9) this.arrs[i][j]++;}if (i > 0) {if (this.arrs[i - 1][j] == 9) this.arrs[i][j]++;}if (i > 0 && j < this.colCount - 1) {if (this.arrs[i - 1][j + 1] == 9) this.arrs[i][j]++;}if (j > 0) {if (this.arrs[i][j - 1] == 9) this.arrs[i][j]++;}if (j < this.colCount - 1) {if (this.arrs[i][j + 1] == 9) this.arrs[i][j]++;}if (i < this.rowCount - 1 && j > 0) {if (this.arrs[i + 1][j - 1] == 9) this.arrs[i][j]++;}if (i < this.rowCount - 1) {if (this.arrs[i + 1][j] == 9) this.arrs[i][j]++;}if (i < this.rowCount - 1 && j < this.colCount - 1) {if (this.arrs[i + 1][j + 1] == 9) this.arrs[i][j]++;}}}},//獲取一個隨機數selectFrom: function (iFirstValue, iLastValue) {var iChoices = iLastValue - iFirstValue + 1;return Math.floor(Math.random() * iChoices + iFirstValue);},//通過數值找到行數和列數getRowCol: function (val) {return {row: parseInt(val / this.colCount),col: val % this.colCount,};},//獲取元素$: function (id) {return this.doc.getElementById(id);},//給每個格子綁定點擊事件(左鍵和右鍵)bindCells: function () {var self = this;for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {(function (row, col) {self.$('m_' + i + '_' + j).onmousedown = function (e) {e = e || window.event;var mouseNum = e.button;var className = this.className;if (mouseNum == 2) {if (className == 'flag') {this.className = '';self.markLandMineCount--;} else {this.className = 'flag';self.markLandMineCount++;}if (self.landMineCallBack) {self.landMineCallBack(self.landMineCount - self.markLandMineCount);}} else if (className != 'flag') {self.openBlock.call(self, this, row, col);}};})(i, j);}}},//展開無雷區域showNoLandMine: function (x, y) {for (var i = x - 1; i < x + 2; i++)for (var j = y - 1; j < y + 2; j++) {if (!(i == x && j == y)) {var ele = this.$('m_' + i + '_' + j);if (ele && ele.className == '') {this.openBlock.call(this, ele, i, j);}}}},//顯示openBlock: function (obj, x, y) {if (this.arrs[x][y] != 9) {this.currentSetpCount++;if (this.arrs[x][y] != 0) {obj.innerHTML = this.arrs[x][y];}obj.className = 'normal';if (this.currentSetpCount + this.landMineCount ==this.rowCount * this.colCount) {this.success();}obj.onmousedown = null;if (this.arrs[x][y] == 0) {this.showNoLandMine.call(this, x, y);}} else {this.failed();}},//顯示地雷showLandMine: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9) {this.$('m_' + i + '_' + j).className = 'landMine';}}}},//顯示所有格子信息showAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {if (this.arrs[i][j] == 9) {this.$('m_' + i + '_' + j).className = 'landMine';} else {var ele = this.$('m_' + i + '_' + j);if (this.arrs[i][j] != 0) ele.innerHTML = this.arrs[i][j];ele.className = 'normal';}}}},//清除顯示的格子信息hideAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {var tdCell = this.$('m_' + i + '_' + j);tdCell.className = '';tdCell.innerHTML = '';}}},//刪除格子綁定的事件disableAll: function () {for (var i = 0; i < this.rowCount; i++) {for (var j = 0; j < this.colCount; j++) {var tdCell = this.$('m_' + i + '_' + j);tdCell.onmousedown = null;}}},//游戲開始begin: function () {this.currentSetpCount = 0; //開始的步數清零this.markLandMineCount = 0;this.beginTime = new Date(); //游戲開始時間this.hideAll();this.bindCells();},//游戲結束end: function () {this.endTime = new Date(); //游戲結束時間if (this.endCallBack) {//如果有回調函數則調用this.endCallBack();}},//游戲成功success: function () {this.end();this.showAll();this.disableAll();alert('Congratulation!');},//游戲失敗failed: function () {this.end();this.showAll();this.disableAll();alert('GAME OVER!');},//入口play: function () {this.init();this.landMine();this.calculateNoLandMineCount();},};window.JMS = JMS; })();

    index.js 完整代碼

    var jms = null,timeHandle = null; window.onload = function () {var radios = document.getElementsByName('level');for (var i = 0, j = radios.length; i < j; i++) {radios[i].onclick = function () {if (jms != null)if (jms.landMineCount > 0)if (!confirm('確定結束當前游戲?')) return false;var value = this.value;init(value, value, (value * value) / 5 - value, (value * value) / 5);document.getElementById('JMS_main').style.width =value * 40 + 180 + 60 + 'px';};}init(10, 10); };function init(rowCount, colCount, minLandMineCount, maxLandMineCount) {var doc = document,landMineCountElement = doc.getElementById('landMineCount'),timeShow = doc.getElementById('costTime'),beginButton = doc.getElementById('begin');if (jms != null) {clearInterval(timeHandle);timeShow.innerHTML = 0;landMineCountElement.innerHTML = 0;}jms = JMS('landmine', rowCount, colCount, minLandMineCount, maxLandMineCount);jms.endCallBack = function () {clearInterval(timeHandle);};jms.landMineCallBack = function (count) {landMineCountElement.innerHTML = count;};//為“開始游戲”按鈕綁定事件beginButton.onclick = function () {jms.play(); //初始化//顯示地雷個數landMineCountElement.innerHTML = jms.landMineCount;//開始jms.begin();//更新花費的時間timeHandle = setInterval(function () {timeShow.innerHTML = parseInt((new Date() - jms.beginTime) / 1000);}, 1000);}; }

    到此我們的網頁版掃雷就完成了。打開 index.html 文件,就可以開始游戲了。

    總結

    主要使用 JavaScript 實現了網頁版的經典小游戲掃雷。相信通過本項目,可以提高大家對 JavaScript 的理解與運用能力。此外,大家也可以學習到如何使用 JavaScript 語言來抽象、封裝游戲中的對象
    源碼:
    https://download.csdn.net/download/Deng872347348/85301530

    總結

    以上是生活随笔為你收集整理的HTML 实现扫雷游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    欧美另类交人妖 | 伊人成人激情 | 手机av在线网站 | 国产精品不卡在线播放 | 69久久久久久久 | 亚洲一区二区视频在线播放 | 日本h视频在线观看 | 九九热在线免费观看 | 国产一线二线三线在线观看 | 欧美最新大片在线看 | 人人模人人爽 | 又黄又色又爽 | 国产打女人屁股调教97 | 国产99一区视频免费 | av色图天堂网 | 91在线免费观看国产 | 在线观看岛国片 | 天天曰天天曰 | 欧美va天堂va视频va在线 | 波多野结衣视频一区 | 天天躁天天狠天天透 | 久久69av| 一本色道久久综合亚洲二区三区 | 久久婷婷激情 | 欧美日韩xxxxx | 又黄又爽又无遮挡免费的网站 | 国产免费视频一区二区裸体 | 午夜成人免费电影 | 成年人国产在线观看 | 91传媒在线播放 | 亚洲国产一区二区精品专区 | 日韩电影一区二区在线 | 嫩小bbbb摸bbb摸bbb| 免费韩国av| 最新av在线播放 | 亚洲一二三在线 | 日日夜色 | 99久久er热在这里只有精品15 | 久久久免费在线观看 | 91av电影网| 色婷婷狠狠五月综合天色拍 | 久久人人爽人人爽人人片av免费 | 久草免费资源 | 亚洲电影黄色 | 日本高清久久久 | 91麻豆精品国产91久久久使用方法 | 精品国产日本 | 成人资源网 | 国产在线色 | 五月天激情婷婷 | 精品国产一区二区三区蜜臀 | 欧美日韩国产成人 | 又黄又爽又湿又无遮挡的在线视频 | 日韩精品中文字幕一区二区 | 狠狠干夜夜操 | 毛片www | 久久综合一本 | 欧美 亚洲 另类 激情 另类 | 亚洲婷婷网 | 在线精品视频免费播放 | 精品国产一区二区久久 | 久久精品日产第一区二区三区乱码 | 国产黄色在线观看 | 国产成人精品一区二区三区网站观看 | 开心色婷婷 | 日本精品久久久一区二区三区 | 黄色成年片 | 国产九九精品视频 | 亚洲最大色| 日韩在线中文字幕视频 | 在线观看av黄色 | 99精品国产免费久久久久久下载 | 亚洲精品视频网站在线观看 | av电影一区 | 日本三级吹潮在线 | 欧美韩国日本在线 | 日韩视频一区二区三区在线播放免费观看 | 国产精品免费在线播放 | 亚洲人片在线观看 | 日韩视频在线观看免费 | 在线观看你懂的网址 | 国产99中文字幕 | 午夜视频二区 | 国产99精品| 亚洲精品综合欧美二区变态 | 激情网综合 | 久久精品一区 | 在线观看亚洲电影 | 国产中文字幕网 | 看毛片网站 | 六月婷操| 欧美高清成人 | 日韩精品一区二区三区免费观看视频 | 久久国产一二区 | 成人免费 在线播放 | .国产精品成人自产拍在线观看6 | www久久九| 久久久久国产精品午夜一区 | 国产资源网站 | 久久国产精品免费一区二区三区 | 欧美日比视频 | 97超碰中文字幕 | 国内精品久久久久久久久久久 | 九九九九九国产 | 日韩三区在线观看 | av电影在线免费 | 久久免费电影 | 久久艹免费| 九九热在线视频免费观看 | 中文字幕av全部资源www中文字幕在线观看 | 国产精品福利久久久 | 国产精品高潮呻吟久久久久 | 亚洲美女精品视频 | 久久五月婷婷丁香社区 | 欧美一级小视频 | 久亚洲 | 婷婷九月丁香 | 日韩av一区二区三区 | 久久欧美精品 | 免费涩涩网站 | 超碰人人乐 | 一区二区三区免费 | 久久好看免费视频 | 亚洲九九 | 制服丝袜亚洲 | 亚洲一级国产 | 色婷婷亚洲精品 | 超碰97人 | 久久三级毛片 | 久久久久国产精品免费免费搜索 | 日韩av一区二区在线 | 天天爽天天爽天天爽 | 亚洲成人av一区二区 | 欧美日一级片 | 成人日韩av | 日日日日 | 国产午夜小视频 | 亚洲免费精品视频 | 久免费视频| 一级免费片| 日韩av成人免费看 | 久久久免费网站 | 国产亚洲成人精品 | 黄色a在线观看 | 99精品免费视频 | 99久久精 | av在线播放免费 | 九九热在线播放 | 在线观看黄色的网站 | 国产精品国产三级在线专区 | 免费看片黄色 | 99精品国产福利在线观看免费 | 麻豆网站免费观看 | 国产亚洲欧美在线视频 | www.天天色.com| 97免费在线观看视频 | 插综合网| 亚洲精品av中文字幕在线在线 | 欧美色婷 | 日韩高清精品一区二区 | 草久视频在线 | 一本一本久久aa综合精品 | 国产麻豆精品在线观看 | 视频一区二区免费 | 美女视频久久 | 国产美女久久久 | 天堂在线v | 免费视频色 | 日韩精品无 | 日韩在线观看不卡 | 免费国产一区二区视频 | a成人在线| 黄色网免费| 国产精品99精品久久免费 | 日韩精品久久久久久 | 免费观看第二部31集 | 99国产在线 | 人人玩人人爽 | 日日天天 | 久艹在线免费观看 | 国产精品美女久久久久aⅴ 干干夜夜 | 国产精品永久免费 | 特级a老妇做爰全过程 | 夜夜躁日日躁狠狠久久88av | 国产亚洲片 | 人人cao| 色婷婷激婷婷情综天天 | 亚洲专区一二三 | 久久大片网站 | 免费看毛片在线 | 午夜免费电影院 | 2019天天干夜夜操 | 97热在线观看 | 97爱| 超碰在线天天 | 九热精品 | av资源免费观看 | 在线黄色国产电影 | 91精品电影| 开心色婷婷 | 国产又粗又长的视频 | 成年人av在线播放 | 免费福利视频网站 | 久久久久国产成人精品亚洲午夜 | 日韩一区二区三区免费电影 | 亚洲黄色软件 | 狠狠色狠狠色 | 中文字幕文字幕一区二区 | www.色五月.com | 免费91在线| 91人人澡| 免费在线播放黄色 | 亚洲专区一二三 | 最新一区二区三区 | 久久综合色婷婷 | 蜜臀av麻豆 | 国产精品久久久久久久久久久免费看 | av动态图片 | 婷婷色在线视频 | 米奇四色影视 | 久久久久久久久免费 | 国内精品久久久久影院优 | 天天干,天天干 | 91成人在线视频观看 | 国产综合精品久久 | 亚洲成人麻豆 | 波多野结衣资源 | 久久久国产在线视频 | 国产精品黄网站在线观看 | 日本特黄特色aaa大片免费 | 天天干天天操天天入 | 成人高清av在线 | 中文字幕黄色网 | 麻豆视频www| 色噜噜色噜噜 | 超碰人人草人人 | 丰满少妇在线观看网站 | 在线看片日韩 | 国产欧美最新羞羞视频在线观看 | 在线看黄网站 | 国产精品18毛片一区二区 | 狠狠色网 | 日批在线看| 国产精品一区一区三区 | 天天操天天干天天干 | 成人动态视频 | 天天摸天天舔 | 日韩有码在线播放 | 美女在线观看网站 | 日韩精品一区二 | 91av片| 麻豆mv在线观看 | 久久久久久国产精品999 | 午夜在线免费观看 | 伊人伊成久久人综合网站 | 在线观看中文字幕 | 亚洲国产理论片 | 免费在线观看a v | 国产亚洲精品美女 | 中文久久精品 | 日韩特级毛片 | 狠狠久久婷婷 | 粉嫩一二三区 | 国产黄网在线 | 最近的中文字幕大全免费版 | 日本在线中文 | 奇米影视777影音先锋 | 久久久久久久久久久综合 | 欧美激情精品久久久久久免费 | 丁香九月激情综合 | 欧美xxxxx在线视频 | 日日天天 | 国产精品久久一区二区无卡 | 在线电影日韩 | 人人澡人人添人人爽一区二区 | 又黄又爽又刺激的视频 | 日本资源中文字幕在线 | 久久久免费网站 | 激情伊人 | 中文字幕专区高清在线观看 | 人人狠狠综合久久亚洲 | 久久免费毛片视频 | 99久久综合国产精品二区 | 在线看片视频 | 黄色电影网站在线观看 | 国产精品久久久久久久久久尿 | 亚洲精选国产 | 亚洲高清国产视频 | 国产一区二区三区四区在线 | 在线免费观看黄色 | 黄在线免费看 | 黄色一及电影 | 黄色毛片视频 | 深爱婷婷久久综合 | 国产视频久久久 | 99电影456麻豆 | 2023年中文无字幕文字 | 超级碰99| 婷婷六月天天 | 99亚洲国产| 亚洲欧美国产精品va在线观看 | 国产在线高清 | 精品国产一区二区三区在线观看 | 精品99久久 | 日韩网站视频 | 麻豆视频国产在线观看 | www.天天干 | 国产不卡在线 | 免费的国产精品 | 亚洲成av人片一区二区梦乃 | 亚洲欧美在线视频免费 | 国产一级二级三级在线观看 | 成人久久 | 毛片网站免费在线观看 | 婷婷综合亚洲 | 天天爱av导航 | 五月婷婷丁香 | 亚洲国产午夜视频 | 久久久亚洲麻豆日韩精品一区三区 | 日日夜夜天天综合 | 天海冀一区二区三区 | 奇米网777 | 亚洲国产午夜 | 91视频免费播放 | 国产精久久 | 国产精品视频 | 九九视频免费观看视频精品 | 成人av片免费观看app下载 | 97电影网手机版 | 91九色porny蝌蚪视频 | 九九热在线免费观看 | 另类老妇性bbwbbw高清 | 亚洲日本中文字幕在线观看 | 91看片淫黄大片一级在线观看 | 狠狠黄| 一区二区三区在线观看免费 | 国产精品一区二区美女视频免费看 | av免费在线观看1 | 女人18片毛片90分钟 | 国产男女无遮挡猛进猛出在线观看 | 久久精品影片 | 中文亚洲欧美日韩 | 久久久免费毛片 | 9久久精品 | 亚洲欧洲av在线 | 久久久一本精品99久久精品66 | 久草网站在线 | 久久久精品国产一区二区三区 | 午夜av免费 | 国产婷婷精品 | 国产精品久久久久久久久大全 | 婷婷在线播放 | 日日干 天天干 | 六月色婷 | 天堂av免费| 成人国产精品av | 欧美一区二区在线免费看 | 精品国产伦一区二区三区免费 | 91久久精品一区二区三区 | 日韩av影视| 不卡电影一区二区三区 | 国产免费一区二区三区网站免费 | 精品国产诱惑 | 国产精品毛片一区二区在线 | 五月综合网站 | 黄色片网站大全 | 亚洲综合一区二区精品导航 | 成人福利在线 | 婷婷丁香激情综合 | 天堂麻豆 | 国产伦精品一区二区三区无广告 | 久久免费的视频 | 亚洲欧美日韩国产一区二区 | 国产精品午夜久久久久久99热 | 亚洲精品美女久久17c | 日韩免费播放 | 狠狠色丁香婷婷综合久久片 | 在线视频你懂得 | 精品亚洲免费视频 | 日韩精品久久久免费观看夜色 | 成人黄色小说在线观看 | 日韩在线视频网址 | 免费av在线播放 | 婷婷国产v亚洲v欧美久久 | 成年人免费看的视频 | av在线播放国产 | 欧美日韩视频在线观看一区二区 | 九色91福利 | 成年性视频 | 天天干天天综合 | 草久中文字幕 | 欧美日高清视频 | 在线只有精品 | 91在线视频网址 | zzijzzij日本成熟少妇 | 美女视频黄是免费的 | 91av综合| 欧美日韩一区二区久久 | 中文字幕电影高清在线观看 | 亚洲精品国产精品久久99热 | 国产精品高清免费在线观看 | 激情丁香婷婷 | www在线观看视频 | 久久久久黄 | 亚洲天堂激情 | 国产h片在线观看 | 国产精久久久久久妇女av | 国产精品成人a免费观看 | 黄色三级免费 | 免费在线观看av网址 | 色综合久久88 | 美女久久久久久久久久 | 成人综合日日夜夜 | 狠狠操影视 | av成人动漫 | 毛片无卡免费无播放器 | 免费69视频 | 国产一区精品在线 | 日韩精品第1页 | 激情网五月天 | 久久午夜精品 | 亚洲欧美成人 | 人人澡人 | 久久久久久久久久久久久影院 | 久亚洲 | 99久久精品免费看国产免费软件 | 欧美人交a欧美精品 | 国产成人a亚洲精品v | 91精品视频在线看 | 香蕉看片| 国产夫妻av在线 | 欧美一区二区免费在线观看 | 国产做a爱一级久久 | 欧美作爱视频 | 亚洲爱爱视频 | 久久久久免费精品视频 | 久久久久综合 | 伊人天天操 | 日韩激情免费视频 | 日韩av片无码一区二区不卡电影 | 免费亚洲一区二区 | 日日摸日日碰 | av中文字幕第一页 | 国产小视频在线免费观看 | 中文字幕123区 | 91亚洲网 | 亚洲影院国产 | 精品亚洲午夜久久久久91 | 国产视频在线看 | 久久经典视频 | 九九九九热精品免费视频点播观看 | 99久久日韩精品视频免费在线观看 | 国产伦精品一区二区三区四区视频 | 国产在线观看网站 | 日韩一区二区三区免费视频 | 狠狠狠狠狠狠狠狠干 | 麻豆国产精品永久免费视频 | 十八岁免进欧美 | 国产 日韩 在线 亚洲 字幕 中文 | 97成人精品 | 在线 视频 一区二区 | 免费看的黄色网 | 看黄色91| 亚洲精品免费观看视频 | 亚洲国产精品成人精品 | 天天婷婷| 在线视频中文字幕一区 | 久久精品麻豆 | 婷婷六月天天 | 日韩激情av在线 | 精品91 | 精品久久毛片 | 五月激情姐姐 | 国产中的精品av小宝探花 | 黄色成人免费电影 | 女人18片 | 国产一区二区视频在线播放 | 国产美女网站在线观看 | av看片在线| 主播av在线 | 四川bbb搡bbb爽爽视频 | 欧美一区二区视频97 | 中文字幕在线观看第二页 | 九九久久免费视频 | 手机色站 | 人人爱爱人人 | 日本精品久久久久中文字幕 | 特级西西www44高清大胆图片 | 免费av片在线| 免费午夜av | 在线观看91 | 久久精品爱爱视频 | 欧美一级性视频 | 狠狠干天天干 | 新版资源中文在线观看 | 国产精品嫩草在线 | 成年人在线 | 日韩av电影中文字幕在线观看 | 在线欧美最极品的av | 日韩高清成人在线 | 亚洲免费在线播放视频 | 成人福利在线观看 | 狠狠色噜噜狠狠 | 日韩电影在线看 | 91久久久久久久一区二区 | 精品黄色在线观看 | 超碰在线免费97 | 免费黄色a级毛片 | 91亚洲精品国偷拍自产在线观看 | 国产日韩欧美综合在线 | 国产精品私人影院 | www.99av | 亚洲免费av网站 | 96香蕉视频 | 亚洲精选在线观看 | 久久精品一区二区三 | 欧美日韩一区久久 | 国产成人免费在线 | 亚洲综合日韩在线 | 免费手机黄色网址 | 免费福利影院 | 久久一区二区三区日韩 | 精品一区二区在线播放 | 激情婷婷综合 | 亚洲欧洲国产精品 | 国产精品尤物 | 成人中文字幕+乱码+中文字幕 | 99久久久久久国产精品 | 久久综合欧美 | 综合激情 | 成人免费看黄 | 99免费观看视频 | av成人在线网站 | 亚洲综合色网站 | 97在线观看免费高清完整版在线观看 | 成人黄色电影在线观看 | 国产精品初高中精品久久 | 国产精品美女久久久久久网站 | 亚洲视频网站在线观看 | 国产无区一区二区三麻豆 | 国产资源av | 亚洲黄色一级视频 | 香蕉影视 | 精品国产自在精品国产精野外直播 | 一级黄色a视频 | 九九亚洲视频 | 97在线视| 一级淫片在线观看 | 8x成人在线| 狠狠色丁香久久婷婷综合_中 | 国产精品自在欧美一区 | 国产视频午夜 | 午夜视频免费播放 | 久久婷婷综合激情 | 一区免费观看 | 99热精品免费观看 | 国产91精品久久久久久 | 丁香五香天综合情 | 超碰资源在线 | 免费看av在线 | 91精品999 | 九九视频这里只有精品 | 国产一级性生活 | 热久久免费国产视频 | 91精品国产成人 | 成人在线播放免费观看 | 日韩高清不卡一区二区三区 | 欧美一级免费黄色片 | 久久黄色免费观看 | av在线免费播放 | 免费观看第二部31集 | 亚洲网站在线看 | 黄色的视频| 中文有码在线视频 | 久久综合成人 | 九色视频网址 | 97免费中文视频在线观看 | 精品一区二区三区四区在线 | 中文字幕在线观看完整 | 免费观看视频黄 | 天天天天爱天天躁 | 粉嫩av一区二区三区免费 | 中文字幕一二 | 天天夜夜狠狠操 | 黄毛片在线观看 | 黄色成人影院 | 亚洲视频99| 亚洲 欧美 变态 国产 另类 | 日韩精品在线播放 | 最新国产中文字幕 | 久久精品99国产精品日本 | 久久香蕉国产 | 91一区二区三区在线观看 | 婷婷色中文字幕 | 日本性xxxxx| 国产精品久久人 | 国产免费看 | 欧美在线久久 | 久久综合福利 | 国产成人精品一区二区 | 久久国产精品色婷婷 | 在线91av| 日韩有码在线播放 | 草草草影院 | 麻豆影视在线免费观看 | 日韩在线无 | 天天操天天色天天射 | 欧美日韩国产精品久久 | 毛片精品免费在线观看 | 成人黄色片在线播放 | 国产丝袜高跟 | 国内精品久久久久久久 | 日韩中文幕 | 国产亚洲精品久久久久久电影 | 欧美日韩大片在线观看 | 在线播放 日韩专区 | 国产色道| 免费视频91 | 久久免费看| 久久9999久久免费精品国产 | 中日韩三级视频 | 国产黄色免费在线观看 | 91香蕉视频黄 | 国产精品免费在线观看视频 | 亚洲久久视频 | 99在线免费观看视频 | 伊人永久在线 | 欧美成人基地 | 天天操天天射天天 | 日韩 在线观看 | 粉嫩aⅴ一区二区三区 | 在线播放亚洲 | 黄色免费在线视频 | 亚洲欧洲国产视频 | 久久五月婷婷丁香 | 激情伊人 | 又黄又刺激 | 中文国产在线观看 | 精品一区 精品二区 | 岛国精品一区二区 | 亚洲欧洲精品一区 | 色福利网 | 欧美国产日韩一区二区三区 | 日日碰狠狠添天天爽超碰97久久 | 欧美精品久久久久性色 | 97超级碰碰碰碰久久久久 | 日韩啪啪小视频 | 成人av一二三区 | 欧美资源在线观看 | 天天干天天看 | 又黄又刺激的网站 | 成人午夜精品福利免费 | 色五月激情五月 | 久久成人免费电影 | 免费毛片一区二区三区久久久 | 欧美日韩另类视频 | 亚洲黄色在线 | 久久精品综合视频 | 国产精品99页 | 在线视频免费观看 | 91精品国产自产在线观看 | 精品久久毛片 | 99精品网站 | 国产福利a| 中文国产字幕在线观看 | 天天综合网~永久入口 | 2024国产精品视频 | 日韩精品视频久久 | 亚洲第一久久久 | 国产精品毛片一区二区在线看 | 69久久99精品久久久久婷婷 | 免费网站在线观看成人 | 色资源网在线观看 | 亚洲精品国精品久久99热一 | 99国产一区| 欧美一级视频在线观看 | 久草精品视频在线播放 | 久久精品国产一区 | 狠狠色丁香婷婷综合视频 | 成人免费看视频 | a视频在线播放 | 97超碰中文字幕 | 国产亚州av| 日韩视频中文 | 日韩综合视频在线观看 | 狠狠色丁香久久婷婷综合_中 | 国产精品二区三区 | 国产精品第二页 | 久久激情影院 | 一区二区三区国产精品 | 国产精品久久久久婷婷二区次 | 91 在线视频播放 | 国产日韩欧美在线观看 | 人人爱夜夜操 | 亚洲综合在线五月 | 亚洲免费公开视频 | 亚洲国产字幕 | 欧美视频18 | 看毛片网站 | 久久99热国产 | 黄色aaa级片 | 97视频总站 | 成人免费电影 | 91人人澡人人爽 | 久久婷婷开心 | 激情综合色综合久久综合 | 国产中文字幕久久 | 日本精品xxxx | 五月婷婷久 | 国产成人一级电影 | 人人干人人超 | 久热免费在线观看 | 亚洲国产成人精品在线 | 亚洲成人一二三 | 丁香婷婷色月天 | 久久精品国产亚洲精品 | 夜夜操狠狠干 | 午夜视频在线观看一区二区三区 | 国产伦精品一区二区三区高清 | a视频在线播放 | 丰满少妇麻豆av | 成年人在线观看免费视频 | 国产精品久久久久久久久久三级 | 久久涩涩网站 | 中文字幕在线免费看线人 | 久久成人免费视频 | 人人草人人草 | 久久久久免费精品国产小说色大师 | 激情网色 | 天堂久久电影网 | 午夜少妇 | 国产精品美女久久久久久久网站 | 免费网站看v片在线a | 激情伊人五月天久久综合 | 日韩在线视频观看免费 | 中文字幕免费高清在线观看 | av在线永久免费观看 | 久久一级电影 | 91精品在线观看视频 | 激情网在线观看 | 天天操夜夜拍 | 国产91精品久久久久久 | 久久综合电影 | 国产在线观看国语版免费 | 国产一区二区在线免费视频 | 日韩高清在线不卡 | 亚洲老妇xxxxxx | 亚洲区另类春色综合小说 | 国产美女主播精品一区二区三区 | 久久综合九色综合久久久精品综合 | 精品国产视频在线观看 | 久久久国产精品免费 | 日本黄网站 | 毛片1000部免费看 | 婷婷综合五月天 | 这里只有精彩视频 | 超碰夜夜 | 夜夜嗨av色一区二区不卡 | 久久久国产精品久久久 | 久久激情精品 | 免费在线观看成人av | 亚洲国产精品久久久久 | www.黄色网.com | 伊人欧美 | 欧美性脚交| 日批视频国产 | 91精品国产高清自在线观看 | 精品一二三四视频 | 久久久久亚洲精品 | 五月激情六月丁香 | 国产精品久久久久久一区二区 | 最新国产在线 | 一区二区三区电影在线播 | 亚洲综合激情小说 | 成人aⅴ视频 | 亚洲春色奇米影视 | 人人超在线公开视频 | 国产精品久久久久久99 | 九九视频这里只有精品 | 国产又粗又猛又色又黄视频 | 91热爆视频 | 69久久久| wwwww.国产| 久久久国产一区二区三区四区小说 | 久草电影免费在线观看 | 天天操天天干天天爱 | 国产1区2区 | 日韩中文字幕电影 | 亚洲一区二区三区91 | 亚洲激情在线 | 999久久国产 | 婷婷激情五月综合 | 日本九九视频 | 中文字幕亚洲国产 | 国产精品成人在线观看 | 欧美日韩在线视频一区 | 亚洲国产成人在线播放 | 色窝资源 | 亚洲 中文 在线 精品 | 欧美一级视频免费看 | 成人国产电影在线观看 | 日韩在线观看你懂的 | 五月开心网 | 色播五月激情综合网 | www五月婷婷 | 91av播放| 中文字幕 91| 亚洲成人av在线播放 | 99热9| 国产九九九九九 | 成人va视频| 国产日韩欧美视频 | 日韩激情免费视频 | 欧美性爽爽 | 91资源在线免费观看 | 狠狠色狠狠综合久久 | 中文字幕免费一区 | 国产麻豆精品传媒av国产下载 | 国内精品久久久久久久影视麻豆 | av网站手机在线观看 | 色橹橹欧美在线观看视频高清 | 精品视频久久久 | 综合久久久久久久 | 人人要人人澡人人爽人人dvd | 久草精品资源 | 最新精品国产 | 四虎影院在线观看av | 久久久久久久网 | 这里只有精品视频在线 | 国产精品久久久久免费 | 超碰在线免费福利 | .国产精品成人自产拍在线观看6 | 精品国产1区2区3区 国产欧美精品在线观看 | 激情婷婷欧美 | 国产精品高清免费在线观看 | 国产热re99久久6国产精品 | 久久久久久久国产精品视频 | 国产精品video爽爽爽爽 | 狠狠色丁香久久婷婷综合五月 | 国产美腿白丝袜足在线av | 国产精品久久久久久久久免费看 | 日韩在线视频网 | 国产精品一区二区中文字幕 | 免费在线看成人av | 久久99久久精品 | 青青草国产在线 | 欧美 激情 国产 91 在线 | 中文在线免费看视频 | 色七七亚洲影院 | 在线看一区 | 国产精品美女久久久免费 | 日韩一区在线播放 | 黄色免费看片网站 | 欧美性大胆 | 精品人人爽 | 国产超碰在线观看 | 99国产精品视频免费观看一公开 | 日日夜夜骑 | 麻豆一区二区 | 日韩视| 激情av资源 | 久久久久久国产精品999 | 三级av网站 | 久久久久久久精 | 久久国产精品视频观看 | 午夜精品久久久久99热app | 欧美激情精品久久久久 | 免费久草视频 | 91在线视频免费91 | 又长又大又黑又粗欧美 | 成人av在线看| 一级片免费观看视频 | 中文字幕首页 | www.天天草| 91成人免费在线视频 | 1024在线看片 | 国产精品久久久区三区天天噜 | 99色视频在线 | 免费h精品视频在线播放 | 综合色狠狠 | 91毛片视频| 中文字幕在线观看视频一区 | 精品一区二区影视 | 国产999视频| 久久99久久99精品免观看软件 | 免费看网站在线 | 日日夜夜网| 国产a视频免费观看 | 五月天激情综合网 | 久99久在线视频 | 一区二区三区 亚洲 | 国产中文字幕一区二区 | 女人久久久久 | 91传媒免费在线观看 | 操久在线 | 亚洲精品免费在线观看 | 国产黄色视 | 亚洲精品九九 | 久久亚洲免费 | 成年人在线免费看片 | www.色午夜,com | 国产精品完整版 | 久久激情视频免费观看 | 欧美性免费 | 久久成人麻豆午夜电影 | 国产不卡在线观看 | 久久久首页 | 99精彩视频在线观看免费 | 国产手机av | 国产丝袜一区二区三区 | 超碰在线9 | 久久99精品久久久久久久久久久久 | 免费视频资源 | 97在线观看免费视频 | 日本黄色免费在线 | 国产精品破处视频 | 亚洲最新av在线 | 亚州国产精品久久久 | 亚洲天堂网在线视频 | 不卡的av电影在线观看 | 91色国产 | 97麻豆视频 | 91视频电影 | 欧美亚洲一区二区在线 | 国产精品视频99 | 亚洲一区精品二人人爽久久 | 亚洲春色综合另类校园电影 | 激情欧美日韩一区二区 | 成年人免费在线播放 | 亚洲伊人色 | 精品久久一区二区 | 超碰人人91| 国产精品福利小视频 | 一区二区三区视频 | 婷婷激情综合 | 激情久久网 | 久久久久久久久综合 | 久久激五月天综合精品 | 超级碰碰碰碰 | 国产精品四虎 | 人人盈棋牌 | 精品在线观看国产 | 亚洲一区 影院 | 国产999在线观看 | 色综合久久久久综合99 | 91视频a | 国产一区二区高清 | 97超碰在线久草超碰在线观看 | 亚洲乱亚洲乱亚洲 | 亚洲激情校园春色 | 香蕉视频啪啪 | 欧美国产日韩一区 | 久久精品二区 | 91在线观看视频 | 久久xx视频 | 91免费看黄色 | 日日摸日日碰 | 国产91免费观看 | av久久在线 | 狠狠狠色丁香婷婷综合久久五月 | 激情开心色 | 中文字幕在线观看免费 | 国产亚洲精品久久久久久久久久久久 | 欧美精品国产精品 | 精品国产欧美一区二区 | 丝袜+亚洲+另类+欧美+变态 | 欧美精品在线观看一区 | 天天干com| 国产一区二区三区黄 | 97电影院在线观看 | 最新国产在线视频 | 91aaa在线观看 | 高清一区二区三区av | 国产91影院| 91久久久久久国产精品 | 很黄很污的视频网站 | 99人久久精品视频最新地址 | 亚洲午夜久久久久久久久电影网 | 中文字幕亚洲综合久久五月天色无吗'' | 欧美日韩久久不卡 | 久久国产精品免费观看 | 天天综合在线观看 | 99视频精品免费视频 | 天天爽天天做 | 国产一区二区在线免费播放 | 伊人干综合 | 国产中文在线视频 | 亚洲一区二区三区91 | 欧美乱码精品一区二区 | 日韩精品一区二区三区在线视频 | 国产小视频你懂的在线 | 久久福利在线 | 日韩精品免费一区二区三区 | 久久精品99久久 | 四虎成人精品永久免费av | 国产成人久久久77777 | 成人黄色在线视频 | 亚洲精品视频中文字幕 |