久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

vue實(shí)現(xiàn)五子棋游戲

瀏覽:159日期:2023-01-18 11:38:57

本文實(shí)例為大家分享了vue實(shí)現(xiàn)五子棋游戲的具體代碼,供大家參考,具體內(nèi)容如下

思路

1.vue實(shí)現(xiàn)五子棋

空棋盤開局。

畫網(wǎng)格:網(wǎng)格有 15 行 15 列,共有 225 個(gè)交叉點(diǎn)黑先、白后,交替下子,每次只能下一子勝負(fù)判定按照簡單的規(guī)則,從當(dāng)前下子點(diǎn)位的方向判斷()。如果有一個(gè)方向滿足連續(xù)5個(gè)黑子或白子,游戲結(jié)束。

2.支持dom和canvas切換

判斷瀏覽器是否支持canvas:

false: 不支持 切換dom方式true: 支持 使用canvas

3.實(shí)現(xiàn)悔棋功能

4.實(shí)現(xiàn)撤銷悔棋

例子:

為了簡便,我就把所有寫在一起了,按理來說是要分文件寫的;

GitHub IO:鏈接

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title>簡易五子棋</title> <script src='https://cdn.jsdelivr.net/npm/vue@2.6.11'></script> <style> body { margin: 0; padding: 0; } #app{ padding-left: 30%; width: 500px; } .h2Title{ text-align: center; } #app h3{ color: red; } .Fbuttons{ margin-bottom: 1rem; } .main{ background-color: bisque; width: 30rem; } .restart,.regret,.undo{ background: bisque; padding: 6px 10px; border-radius: 6px; font-size: 12px; cursor: pointer; } #chess { position: relative; width: 440px; height: 450px; padding-left: 30px; padding-top: 30px; background-color: bisque; } #chess .squre { width: 28px; height: 28px; border: 1px solid #666; float: left; } #box01 .squre:hover { background-color: pink; } #box01 { position: absolute; margin: 0 auto; width: 450px; height: 450px; top: 15px; left: 15px; } #box01 .qz { /* width: 28px; height: 28px; */ width: 30px; height: 30px; border: 0px solid #C7C7C7; float: left; border-radius: 50%; /* margin: 1px; */ } #box01 .qz:hover { background-color: pink; } .toggle{ float: right; } </style> </head> <body> <div id='app'> <h2 class='h2Title'>五子棋</h2> <h3>{{victory}}</h3> <div class='Fbuttons'> <input type='button' value='重新開始' @click='restartInit()' /> <input type='button' value='悔棋' @click='regret()' /> <input type='button' value='撤銷悔棋' @click='undo()' /> <input type='button' :value='toggle?’切換dom’:’切換canvas’' @click='toggleF()' /> </div> <div class='main'> <canvas v-show='toggle' ref='canvas' height='480'>當(dāng)前瀏覽器不支持Canvas</canvas> <div v-show='!toggle' ref='chessBox'> <!-- <div id='box01'></div> <div id='box02'></div> --> </div> </div> </div> <!-- --> <script> var app = new Vue({ el: '#app', data: { pieceMapArr: [], //記錄棋盤落子情況 pieceColor: ['black', 'white'], //棋子顏色 step: 0, //記錄當(dāng)前步數(shù) checkMode: [ //輸贏檢查方向模式 [1, 0], //水平 [0, 1], //豎直 [1, 1], //左斜線 [1, -1], //右斜線 ], flag: false, victory: ’’, history: [], //歷史記錄位置 historyVal: [], //歷史記錄不被刪除數(shù)組 stepHistory: 0, domPiece:[], // toggle: true //true為canvas,false為dom }, mounted(){ const myCanvas = document.getElementById('myCanvas'); if (!myCanvas.getContext) { alert('當(dāng)前瀏覽器不支持Canvas.'); this.toggle = false; this.drawpieceBoardDom(); } else { console.log('當(dāng)前瀏覽器支持Canvas', this.toggle) this.drawpieceBoard(); const canvas = this.$refs.canvas; // 添加點(diǎn)擊監(jiān)聽事件 canvas.addEventListener('click', e => { if (this.flag) { alert('游戲結(jié)束,請重新開始~'); return; } //判斷點(diǎn)擊范圍是否越出棋盤 if (e.offsetX < 25 || e.offsetX > 450 || e.offsetY < 25 || e.offsetY > 450) { return; } let dx = Math.floor((e.offsetX + 15) / 30) * 30; let dy = Math.floor((e.offsetY + 15) / 30) * 30; console.log(’this.pieceMapArr 數(shù)組’, this.pieceMapArr) if (this.pieceMapArr[dx / 30 - 1][dy / 30 - 1] == 0) { console.log(’落下棋子’, dx, dy, this.pieceColor[this.step % 2]) this.drawPiece(dx, dy, this.pieceColor[this.step % 2]); //落下棋子 this.pieceMapArr[dx / 30 - 1][dy / 30 - 1] = this.pieceColor[this.step % 2]; //歷史記錄位置 this.history.length = this.step; this.history.push({ dx, dy, color: this.pieceColor[this.step % 2] }); this.historyVal.push({ dx, dy, color: this.pieceColor[this.step % 2] }); this.stepHistory++ console.log(’this.history’, this.history); //檢查當(dāng)前玩家是否贏了游戲 for (var i = 0; i < 4; i++) { this.checkWin(dx / 30 - 1, dy / 30 - 1, this.pieceColor[this.step % 2], this.checkMode[i]); } this.step++; } else { alert('不能落在有棋子的地方!'); } }); } }, methods: { toggleF() { this.toggle = !this.toggle; if (!this.toggle) { // console.log('當(dāng)前---------------1') // let elem = document.getElementById(’box01’); // if (elem !== null) { // elem.parentNode.removeChild(elem); // let elem02 = document.getElementById(’box02’); // elem02.parentNode.removeChild(elem02); // } // this.drawpieceBoardDom(); this.restartInit() } else { this.restartInit() // this.drawpieceBoard(); } }, //初始化棋盤數(shù)組 pieceArr() { for (let i = 0; i < 15; i++) { this.pieceMapArr[i] = []; for (let j = 0; j < 15; j++) { this.pieceMapArr[i][j] = 0; } } }, //重新開始 restartInit() { if (!this.toggle) { // console.log('-----dom-------') var elem = document.querySelector(’#box01’); // console.log('elem',elem) if (elem != null ) { elem.parentNode.removeChild(elem); let elem02 = document.querySelector(’#box02’); elem02.parentNode.removeChild(elem02); } this.drawpieceBoardDom(); this.flag = false; this.step = 0; this.stepHistory = 0; this.historyVal = []; this.history = []; } else { //重畫 this.repaint(); // 繪制棋盤 this.drawpieceBoard(); this.flag = false; this.step = 0; this.stepHistory = 0; this.historyVal = []; this.history = []; } }, //---------canvas---------- // 繪制棋盤 drawpieceBoard() { //初始化棋盤數(shù)組 this.pieceArr(); //canvas 繪制 let canvas = this.$refs.canvas // 調(diào)用canvas元素的getContext 方法訪問獲取2d渲染的上下文 let context = canvas.getContext('2d'); context.strokeStyle = ’#666’ for (let i = 0; i < 15; i++) { //落在方格(canvas 的寬高是450) // context.moveTo(15 + i * 30, 15) // context.lineTo(15 + i * 30, 435) // context.stroke() // context.moveTo(15, 15 + i * 30) // context.lineTo(435, 15 + i * 30) // context.stroke() //落在交叉點(diǎn)(480) context.beginPath(); context.moveTo((i + 1) * 30, 30); context.lineTo((i + 1) * 30, canvas.height - 30); context.closePath(); context.stroke(); context.beginPath(); context.moveTo(30, (i + 1) * 30); context.lineTo(canvas.width - 30, (i + 1) * 30); context.closePath(); context.stroke(); } }, //繪制棋子 drawPiece(x, y, color) { let canvas = this.$refs.canvas let context = canvas.getContext('2d'); context.beginPath(); //開始一條路徑或重置當(dāng)前的路徑 context.arc(x, y, 15, 0, Math.PI * 2, false); context.closePath(); context.fillStyle = color; context.fill(); }, //勝負(fù)判斷函數(shù) checkWin(x, y, color, mode) { let count = 1; //記錄 for (let i = 1; i < 5; i++) { if (this.pieceMapArr[x + i * mode[0]]) { if (this.pieceMapArr[x + i * mode[0]][y + i * mode[1]] == color) { count++; } else { break; } } } for (let j = 1; j < 5; j++) { if (this.pieceMapArr[x - j * mode[0]]) { if (this.pieceMapArr[x - j * mode[0]][y - j * mode[1]] == color) { count++; } else { break; } } } // console.log(’勝負(fù)判斷函數(shù)’, count) // console.log(’color’, color) if (count >= 5) { if (color == ’black’) { this.victory = '黑子棋方勝利!'; } else { this.victory = '白子棋方勝利!'; } // 游戲結(jié)束 // console.log(’游戲結(jié)束’) this.flag = true; } }, //重畫函數(shù) repaint() { //重畫 let canvas = this.$refs.canvas; let context = canvas.getContext('2d'); context.fillStyle = 'bisque'; context.fillRect(0, 0, canvas.width, canvas.height); context.beginPath(); context.closePath(); }, //悔棋: // canvas 創(chuàng)建一個(gè)二維數(shù)組,下棋或者悔棋都操作這個(gè)數(shù)組。操作完數(shù)據(jù),把畫布全清,重新用數(shù)據(jù)畫一個(gè)棋盤。 // dom 二維數(shù)組刪除數(shù)組最后一項(xiàng), 先清空棋子的填充顏色,在渲染上顏色 regret() { if (!this.toggle) { // console.log('-----dom------this.domPiece',this.domPiece) if (this.history.length && !this.flag) { this.history.pop(); //刪除數(shù)組最后一項(xiàng) console.log('-----dom------this.history', this.history) //重畫 this.pieceArr(); // let elem = document.getElementById(’box01’); // if (elem !== null) { // elem.parentNode.removeChild(elem); // let elem02 = document.getElementById(’box02’); // elem02.parentNode.removeChild(elem02); // } //這個(gè)太耗性能了 // this.drawpieceBoardDom(); // 清空棋子的填充顏色 this.domPiece.forEach(e => { e.forEach(qz => { qz.style.backgroundColor = ’’; }) }); // 渲染棋子顏色 this.history.forEach(e => { this.domPiece[e.m][e.n].style.backgroundColor = e.color this.pieceMapArr[e.m][e.n] = e.color; }); this.step-- } else { alert('已經(jīng)不能悔棋了~') } } else { if (this.history.length && !this.flag) { this.history.pop(); //刪除數(shù)組最后一項(xiàng) //重畫 this.repaint(); // 繪制棋盤 this.drawpieceBoard(); //繪制棋子 this.history.forEach(e => { this.drawPiece(e.dx, e.dy, e.color) this.pieceMapArr[e.dx / 30 - 1][e.dy / 30 - 1] = e.color; }); this.step-- } else { alert('已經(jīng)不能悔棋了~') } } }, //撤銷悔棋 undo() { if (!this.toggle) { // console.log('-----dom------this.domPiece',this.domPiece) if ((this.historyVal.length > this.history.length) && !this.flag) { this.history.push(this.historyVal[this.step]) console.log('-----dom------this.history', this.history) // 清空棋子的填充顏色 this.domPiece.forEach(e => { e.forEach(qz => { qz.style.backgroundColor = ’’; }) }); // 渲染棋子顏色 this.history.forEach(e => { this.domPiece[e.m][e.n].style.backgroundColor = e.color this.pieceMapArr[e.m][e.n] = e.color; }); this.step++ } else { alert('不能撤銷悔棋了~') } } else { if ((this.historyVal.length > this.history.length) && !this.flag) { this.history.push(this.historyVal[this.step]) //重畫 this.repaint(); // 繪制棋盤 this.drawpieceBoard(); this.history.forEach(e => { this.drawPiece(e.dx, e.dy, e.color) this.pieceMapArr[e.dx / 30 - 1][e.dy / 30 - 1] = e.color; }); this.step++ } else { alert('不能撤銷悔棋了~') } } }, // -----------dom----------- drawpieceBoardDom() { // console.log('this', this) let that = this; //調(diào)用初始化棋盤數(shù)組函數(shù) that.pieceArr(); //創(chuàng)建一個(gè)容器 const box = document.querySelector('#chess'); const box01 = document.createElement('div'); box01.setAttribute('id', 'box01'); box.appendChild(box01); //畫棋盤 const chess01 = document.querySelector('#box01'); const box02 = document.createElement('div'); box02.setAttribute('id', 'box02'); box.appendChild(box02); let arr = new Array(); for (let i = 0; i < 14; i++) { arr[i] = new Array(); for (let j = 0; j < 14; j++) { arr[i][j] = document.createElement('div'); arr[i][j].setAttribute('class', 'squre'); box02.appendChild(arr[i][j]); } } //畫棋子 let arr01 = this.domPiece; for (let i = 0; i < 15; i++) { arr01[i] = new Array(); for (let j = 0; j < 15; j++) { arr01[i][j] = document.createElement('div'); arr01[i][j].setAttribute('class', 'qz'); chess01.appendChild(arr01[i][j]); } } // console.log('this.domPiece',this.domPiece) // 填充顏色和判斷 for (let m = 0; m < 15; m++) { for (let n = 0; n < 15; n++) { arr01[m][n].onclick = function() { //判斷游戲是否結(jié)束 if (!that.flag) { if (that.pieceMapArr[m][n] == 0) { //黑白交換下棋 // console.log(this); // console.log(’落下棋子’, that.pieceColor[that.step % 2]) //確保填充顏色正確進(jìn)行了判斷 if (this.className == 'qz' && that.step % 2 == 0 && this.style.backgroundColor == '') { //下棋填充黑顏色 this.style.backgroundColor = that.pieceColor[that.step % 2]; //寫入棋盤數(shù)組 that.pieceMapArr[m][n] = that.pieceColor[that.step % 2]; //歷史記錄位置 that.history.length = that.step; that.history.push({ m, n, color: that.pieceColor[that.step % 2] }); that.historyVal.push({ m, n, color: that.pieceColor[that.step % 2] }); that.stepHistory++ console.log(’this.history’, that.history); } else if (this.className == 'qz' && that.step % 2 != 0 && this.style.backgroundColor == '') { //下棋填充白顏色 this.style.backgroundColor = that.pieceColor[that.step % 2]; //寫入棋盤數(shù)組 that.pieceMapArr[m][n] = that.pieceColor[that.step % 2]; //歷史記錄位置 that.history.length = that.step; that.history.push({ m, n, color: that.pieceColor[that.step % 2] }); that.historyVal.push({ m, n, color: that.pieceColor[that.step % 2] }); that.stepHistory++ console.log(’this.history’, that.history); } //檢查當(dāng)前是否贏了 for (var i = 0; i < 4; i++) { that.checkWin(m, n, that.pieceColor[that.step % 2], that.checkMode[i]); } that.step++; // console.log(’that.step’, that.step); } else { alert('不能落在有棋子的地方!'); return; } } else { // that.flag = true; alert('游戲結(jié)束,請重新開始~'); return; } } } } }, } }); </script> </body></html>

更多文章可以點(diǎn)擊《Vue.js前端組件學(xué)習(xí)教程》學(xué)習(xí)閱讀。

關(guān)于vue.js組件的教程,請大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。

更多vue學(xué)習(xí)教程請閱讀專題《vue實(shí)戰(zhàn)教程》

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 依人久久 | 日本中文字幕视频 | 午夜激情在线 | 亚洲成人综合网站 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品99久久久久久久vr | 日本一级毛片免费看 | 亚洲乱码国产乱码精品精98午夜 | av免费网站在线观看 | 国产一在线 | 久久免费国产 | 国产91一区 | 欧美在线视频一区二区 | 欧美日韩国产一区二区三区 | 中文字幕亚洲字幕一区二区 | 日韩欧美一区在线 | 免费av一区二区三区 | 日韩欧美在线视频 | www.久久.com | 一区在线观看 | 日韩一级免费在线观看 | 一区免费观看 | 99久久精品免费看国产免费粉嫩 | 人人人射 | 在线观看日韩精品 | 亚洲精品久久 | 国产欧美在线视频 | 麻豆一区一区三区四区 | 精品国产污网站污在线观看15 | 亚洲一区二区视频 | 国产a免费 | 中文字幕日韩一区二区 | 九色91| www.久久久.com | 色就是色网站 | 最近免费中文字幕在线视频2 | 91福利网站在线观看 | 欧美一级黄 | 国产专区一区 | 午夜在线观看影院 | 香蕉夜色| 久久视频一区 | 国产成人涩涩涩视频在线观看 | 亚洲中字在线 | 午夜精品一区二区三区在线视频 | 欧美中文在线 | 国产免费一区二区三区 | 精品亚洲一区二区三区 | 亚洲高清视频在线 | 日本激情视频一区二区三区 | 国产精品一任线免费观看 | 久久久网页| 影音先锋亚洲资源 | 亚洲一区二区免费看 | 99re6在线视频精品免费 | 国产免费一区二区 | 国内精品一区二区 | 午夜精品成人一区二区 | 亚洲国产欧美在线 | 超碰在线播 | 午夜社区 | 91精品综合久久久久久五月天 | 久久精视频 | 玖玖视频 | 中文字幕av亚洲精品一部二部 | 午夜影院在线免费观看 | 久久久久一 | 一区二区三区国产视频 | 天天久| 一区二区av在线 | 中文字幕在线观看www | 一区二区亚洲 | 欧美亚洲国产日韩 | 久久精品国产99国产精品 | 韩日精品 | 国产欧美日韩在线观看 | 亚洲精品久久久久久一区二区 | 欧美一级二级视频 | 国产欧美日韩综合精品一区二区 | 日本亚洲最大的色成网站www | 国产一区二区精品 | 久久久久久久久久久久久九 | 欧美一区| 久久全国免费视频 | 天堂一区| 午夜寂寞少妇aaa片毛片 | 97国产在线视频 | 国产精品第一国产精品 | 久久精品视频在线播放 | 国内精品一区二区三区视频 | 欧美日本国产 | 久久之精品 | 99亚洲精品| 日韩一二| 美女国产网站 | 欧美色综合一区二区三区 | 欧美成人激情视频 | 麻豆freexxxx性91精品 | 99免费观看| 精品国产福利 | 亚洲热妇| 精品国产精品三级精品av网址 | 国产电影一区二区三区图片 | 久久精品一区 | 国产精品久久久久久久福利院 | 日本亚洲一区 | 第一色站 | 欧美一级在线视频 | 亚洲国产精品久久久久久 | 亚洲成av人影片在线观看 | 精品欧美一区二区三区久久久 | 国产日产欧美a级毛片 | 国产成人精品一区二区三区视频 | 午夜私人影院在线观看 | 精品久久不卡 | 天天舔天天爽 | 国产乱肥老妇国产一区二 | 毛片av在线播放 | 青青草国产成人av片免费 | 日韩精品专区 | 在线视频中文字幕 | 国产亚洲精品久久久久久青梅 | 久久亚洲国产 | 日韩福利一区 | 另类一区| 婷婷丁香五 | 久久精品国产99精品国产亚洲性色 | 亚洲精品久久久一区二区三区 | 成人午夜免费网站 | 噜噜噜在线视频 | 日韩精品中文字幕在线观看 | 国产免费av网站 | 久久女人| 日本成人在线看 | 草久久久 | 成人亚洲视频在线观看 | 超碰8| 欧美区亚洲区 | 91久久久久久久久久久久久久久久 | 免费成人在线网站 | 99精品欧美一区二区蜜桃免费 | 免费三片在线观看网站 | 国产精品欧美一区二区三区不卡 | 91中文字幕网 | 99精品视频在线观看 | 色综合激情| 国产成人亚洲综合 | 99免费视频 | 一级电影免费在线观看 | 精品一区二区国产 | 最新中文字幕 | 国产真实乱全部视频 | 亚洲电影一区二区三区 | 黄色小视频免费观看 | 激情毛片| 亚洲热av| 日韩和的一区二区 | 亚洲精品久久久一区二区三区 | 国内精品久久久久 | julia一区二区三区中文字幕 | 国产毛片在线看 | 日韩一级免费观看 | 日韩一区二区在线电影 | 精品一区二区三区免费 | 亚洲精品一区二区三区蜜桃久 | 欧美精品黄色 | 一区二区三区日韩精品 | 亚洲欧美精品一区二区三区 | 亚洲精品一区中文字幕乱码 | 亚洲 欧美 另类 综合 偷拍 | 日韩一区二区不卡 | 亚洲网在线 | 麻豆一区一区三区四区 | 亚洲综合精品 | 国产精自产拍久久久久久 | 欧美日韩精品一区二区在线播放 | 日韩欧美视频一区 | 黄色国产 | 国产精品综合久久 | 日本精品一区二区在线观看 | 91在线视频在线观看 | 亚洲免费视频网 | 美女一区二区三区在线观看 | 91一区二区在线 | 在线一区| 国产精品久久久久久亚洲调教 | 中文字幕亚洲欧美日韩在线不卡 | 久久国产一区视频 | 久久精品91久久久久久再现 | 国产一区精品视频 | 久草av在线播放 | 成人永久免费视频 | 日韩欧美精品一区二区三区 | 午夜午夜精品一区二区三区文 | 欧美日韩另类在线 | 日韩欧美在线观看视频 | 国产剧情一区二区 | 国产一区视频网站 | 国产精品久久久久久久久费观看 | 在线看片网站 | 91免费视频在线 | 国产91视频在线观看 | 免费h在线观看 | 免费的色网站 | 国产精品99久久久久久www | 免费看男女www网站入口在线 | 最新国产福利在线 | 精品国产乱码久久久久久1区二区 | 日韩国产欧美 | 久在线| 日日摸日日碰夜夜爽不卡dvd | 在线观看国产 | 一区免费视频 | 亚洲国产一区二区在线观看 | 伊人精品视频 | 毛片特级 | 国产一区二区精品在线 | 国产精品视频网站 | 国产精品一区亚洲二区日本三区 | 精品久久久久一区二区三区 | 国产精品27页 | 91麻豆精品国产91久久久久 | 久久久亚洲精品中文字幕 | 久久综合久久久 | 91久久精品一区二区三区 | 视频一区免费观看 | 中文字幕在线电影 | 日韩国产欧美 | 中文字幕av亚洲精品一部二部 | 中国一级毛片 | 日本一区二区精品视频 | 激情网站免费观看 | 激情一区二区 | 欧美中文字幕在线 | 日韩精品一区二区三区在线播放 | 仙踪林久久久久久久999 | 久久精品黄色 | 日韩视频在线免费 | 欧美成人激情 | 国产精品香蕉在线观看 | 久久国产精品一区二区三区 | 999在线观看精品免费不卡网站 | 久久久男人天堂 | 四季久久免费一区二区三区四区 | 超碰最新网址 | 国产一二区在线观看 | ww8888免费视频 | 综合久久综合久久 | 成人二区 | 日韩毛片一级 | 午夜免费观看网站 | 六月丁香在线观看 | 老司机福利在线观看 | 草久av| 日日综合| 国产激情在线观看 | 精国产品一区二区三区四季综 | 精品伦理一区二区三区 | 欧美日韩国产一区二区三区不卡 | 精品视频在线观看 | 亚洲二区在线 | 国产精品成人在线观看 | 午夜私人福利 | 男人天堂网址 | 一区二区日本 | 日韩中文一区二区 | 亚洲网站免费 | 中国黄色在线视频 | 久久久av | 亚洲国产精品一区 | 国产精品一二 | 男女做爰高清无遮挡免费视频 | 日本一区二区精品 | 中文字幕国产视频 | 二区视频| 99精品热 | 久久久久一区 | 青青久久网 | 成人一级片视频 | 日韩欧美视频在线 | 北条麻妃一区二区免费播放 | 国产不卡视频 | 国产成人久久精品一区二区三区 | 粉嫩高清一区二区三区 | 亚洲一区二区三区四区五区中文 | 午夜色视频在线观看 | 香蕉91 | 99久久久无码国产精品 | 久久亚洲一区 | 视频一区二区国产 | www久久精品 | 国产精品视频一区二区三区 | 亚洲免费一区 | 久久久久久精 | 国产91网址 | 精品影院 | 精品国产一区二区三区性色av | 精品亚洲一区二区三区 | 精品久久久久久亚洲精品 | 久久精品中文 | 精品国产一区二区三区在线观看 | a毛片 | 久久国产传媒 | 一色屋精品久久久久久久久久 | 久久另类 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 国产最新精品 | 成人免费在线看片 | 精品99免费 | 影音先锋中文字幕一区 | 精品日韩 | 久久都是精品 | 91网在线播放 | 中文字幕精品一区久久久久 | 欧美一级二级三级视频 | 精品国产一区二区三区在线观看 | 久久999免费视频 | 精品在线看 | 成人免费视频网站在线观看 | 日韩一区二区三区在线观看 | 精一区二区 | 国产探花 | 久久久久久亚洲精品 | 婷婷久 | 欧美精产国品一二三区 | 国产一区二区免费 | 国产一级一级毛片女人精品 | 国产91亚洲精品久久久 | 91精品一区二区三区久久久久久 | 秋霞电影院午夜伦 | 欧美精品一区视频 | 国产91久久久 | 成人在线免费小视频 | 天堂网av2020 | 久久精品一区视频 | 久久99精品国产自在现线 | 中文在线视频 | 最新的黄色网址 | 精品免费国产一区二区三区四区 | 亚洲精品福利网站 | 日本另类αv欧美另类aⅴ | 看亚洲a级一级毛片 | 国产精品视频入口 | 中文字幕日韩一区二区 | 999精品视频 | 久久精品小视频 | 国产人妖一区 | 亚洲欧美日韩另类一区二区 | 久久人人爽人人爽人人片av高清 | 91精品国产乱码久久久久久久久 | 免费视频久久 | 最新日韩av | 韩国精品一区二区 | 日批免费视频 | 精品天堂 | 一区视频在线 | 亚洲精品视频免费观看 | 日韩在线精品视频 | 国产日韩欧美 | 欧美高清国产 | 亚洲国产成人精品女人久久久 | 成人精品一区二区三区中文字幕 | 91在线播放视频 | 久久久美女 | 日韩精品一区二区在线观看视频 | 欧美永久精品 | 国产精品无码久久久久 | 天天干女人 | 成人精品视频一区二区三区 | 91超碰在线观看 | 男人天堂网站 | 欧美视频免费看 | 草草视频网站 | 亚洲福利一区 | 欧美成人免费在线视频 | 日韩av一区二区三区在线 | 亚洲视频精品在线 | 国偷自产av一区二区三区 | 一区二区三区久久 | 亚州中文字幕蜜桃视频 | 国产精品一区一区 | 99热首页| 亚洲综合区 | 精品三级三级三级三级三级 | 亚洲成人精品视频 | 免费毛片视频 | 亚洲精品一区二三区不卡 | 日韩高清一区二区 | 国产xxxx成人精品免费视频频 | 国产日韩欧美一区二区 | 91精品国产91久久久久久最新 | av免费看在线 | 欧美一极视频 | 国产视频一区二区三区四区 | 日韩一二 | 亚洲在线观看免费视频 | 在线视频成人 | 亚洲国产一区二区三区在线观看 | 91视频www| 激情伊人| 免费一区二区三区 | 国产精品亚洲视频 | 日本欧美在线观看 | 天操天天干 | 亚洲精品久久久久久一区二区 | 国产羞羞视频在线观看 | 免费的一级黄色片 | 中国91视频| 色丁香婷婷 | 综合久久99| 羞羞视频免费观看入口 | 五月天电影网 | 一区二区免费看 | 国产欧美精品区一区二区三区 | 亚洲第一av | 91社影院在线观看 | 日本久久久一区二区三区 | 久久久久久久91 | 91精品国产综合久久福利软件 | 一级欧美一级日韩 | 亚洲精品国精品久久99热 | 日韩激情视频一区二区 | 91色乱码一区二区三区 | 国产偷久久9977 | av久久 | 午夜精品久久久久久久男人的天堂 | 久久免费看 | 7777视频| 99热首页 | 国产精品一码二码三码在线 | 精品免费国产一区二区三区 | 国产精品久久电影观看 | 不卡一区二区三区四区 | 亚洲综合视频在线观看 | 在线视频 亚洲 | 日本亚洲精品成人欧美一区 | 精品欧美一区二区在线观看 | 激情小网站 | 欧美日韩精品久久 | 日韩在线精品 | 一级片在线观看视频 | 爱爱视频网站 | 久久午夜电影院 | 欧美一二区 | 久久久久久国产免费视网址 | 欧美视频亚洲视频 | 久久久久综合 | 亚洲国产精品久久久久秋霞不卡 | 国产精品乱码一二三区的特点 | 日韩免费av | 国产高清自拍 | 日韩一区免费观看 | 一区综合 | 日韩精品在线视频 | 天天天天干 | 国产激情偷乱视频一区二区三区 | 国产综合亚洲精品一区二 | 四虎黄色网 | 看片地址| 一级欧美| 精品亚洲一区二区三区 | 在线观看欧美日韩 | 国产一级一级 | 欧美精品被 | 91精品久久久久久久久久 | 国产色视频网站 | 中文字幕二区三区 | 亚洲成人精品在线观看 | 亚洲精品免费在线 | 日韩成人免费在线 | 国产一区国产二区在线观看 | 久久久久久9 | 国产精品久久久久久久久久久久久 | 九九热精品视频 | 91超碰在线观看 | 成人在线观看免费视频 | 手机看片亚洲 | 一区二区三区视频免费在线观看 | 99re热精品视频国产免费 | 91精品国产高清一区二区三区 | av性色| 成人精品视频99在线观看免费 | 国产婷婷在线视频 | 亚洲成人精品网 | 精品国精品国产自在久不卡 | 精品国产不卡一区二区三区 | 久久久精品网站 | 国产高清一二三区 | 亚洲不卡在线观看 | 国产不卡一二三区 | 日韩国产| 欧美在线a| 国产精品乱码一区二区三区 | 天天舔天天干 | 亚洲一区播放 | 亚洲免费在线观看视频 | 亚洲国产高清视频 | 国产成人61精品免费看片 | 日韩成人免费视频 | 成人国产精品视频 | 亚洲成人日本 | 三区在线 | 超碰一区二区三区 | 国产视频一区二区三区四区 | 中文字幕日韩专区 | 黑人精品xxx一区一二区 | 亚洲国产视频一区 | 米奇影视7777 | 99久久99热这里只有精品 | 99精品欧美一区二区蜜桃免费 | 女同久久另类99精品国产 | 国产一区二区视频在线 | 国产精品一区二区三区四区 | 久久久久亚洲精品 | 热99这里只有精品 | 偷拍自拍网站 | 亚洲精品自在在线观看 | 伊人99 | 日本一区高清 | 精品久久久久久久久久久 | 九九免费在线观看 | 99爱国产| 日本黄网站在线观看 | 午夜欧美一区二区三区在线播放 | av手机在线播放 | 国产1区2区 | 午夜色播 | 2019中文字幕视频 | 日韩欧美二区 | 69热在线观看| 久久一区 | 操操操影院 | 久久精品久久久久久久久久久久久 | 欧美亚洲另类丝袜综合网动图 | 亚洲a在线播放 | 日本黄色短片 | www.亚洲一区二区 | 天天摸天天干 | 精品中文字幕在线观看 | 午夜精品久久久久久久白皮肤 | 一区二区三区视频在线免费观看 | 久久久日韩精品一区二区三区 | 欧美成年网站 | 国产精品久久久久久久久免费桃花 | 黄色一级视频 | www.you日本| 久热中文 | 亚洲精品视频免费 | 一级毛片免费观看 | 精品成人av | 久久99精品国产99久久6尤 | 一区二区三区免费 | 岛国av一区| 国内精品99 | 欧美一区二区在线视频 | 国产精品自拍视频网站 | 日韩特级 | 国产精品美乳一区二区免费 | 五月天婷婷国产精品 | 91免费看 | 操夜夜| 伊人激情四射 | 精品午夜久久久 | 99热在线观看免费 | 久草免费在线 | 亚洲一区二区中文字幕在线观看 | 青青草综合在线 | 欧美亚洲国产一区 | 欧美日韩中 | 中文字幕一区二区三区乱码在线 | 黑人巨大精品欧美一区免费视频 | 嫩草网站入口 | 亚洲精品一区久久久久久 | 亚洲a网| 一区二区三区在线免费观看 | 亚洲永久免费视频 | 日本黄色毛片 | 日韩成人不卡 | www国产成人免费观看视频,深夜成人网 | 一区国产精品 | 亚洲 欧美 精品 | 福利在线看 | 国产欧美日韩综合精品 | 91久久夜色精品国产网站 | 亚洲视频在线观看 | 黄色av免费看 | 国产精品成人观看视频国产奇米 | 国产亚洲精品久久久久久久 | 日本激情视频一区二区三区 | 国精日本亚洲欧州国产中文久久 | 99re在线| 国产精品视频久久久 | 亚洲日本欧美日韩高观看 | 精品免费| 国产精品国产三级国产aⅴ9色 | 夜夜骑av | 成人免费激情视频 | 日韩在线播放一区 | 四季久久免费一区二区三区四区 | 在线碰 | 日韩国产精品一区二区三区 | 999在线观看精品免费不卡网站 | av男人电影天堂 | 欧美激情五月 | 国产精品视频久久久 | 免费av播放| 精品亚洲视频在线 | 成人超碰在线 | 国产91久久精品一区二区 | 在线观看亚洲免费 | 粉色午夜视频 | 国产精品久久久久国产精品 | 中文字幕亚洲一区 | 国产成人免费视频网站视频社区 | 91精品一区二区三区久久久久 |