精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于ArkUI框架的舒爾特方格游戲

系統
舒爾特方格游戲有主界面和游戲界面兩個頁面組成,主界面拆開為title和body兩個自定義組件組成,游戲界面拆開為title,body和footer三個自定義組件組成,utils為隨機生成數字公共類。

[[440822]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

1. 效果圖直接先上:

B站蠟筆小新介紹游戲規則: https://www.bilibili.com/video/BV1E3411t7cK?spm_id_from=333.999.0.0

動圖主界面游戲界面

基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區
基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區

2. 項目結構圖

基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區
基于ArkUI框架的舒爾特方格游戲-鴻蒙HarmonyOS技術社區

3. 項目開發介紹

舒爾特方格游戲有主界面和游戲界面兩個頁面組成,主界面拆開為title和body兩個自定義組件組成,游戲界面拆開為title,body和footer三個自定義組件組成,utils為隨機生成數字公共類。下面我們來一個一個界面和組件介紹:

3.1 主界面代碼,只是一個程序入口,具體頁面布局在自定義組件實現:

3.1.1 Index代碼

  1. import { Title } from '../common/home/title' 
  2. import { Body } from '../common/home/body' 
  3.  
  4. @Entry 
  5. @Component 
  6. struct Index { 
  7.   build() { 
  8.     Column() { 
  9.       // 標題 
  10.       Title(); 
  11.       // 游戲主界面 
  12.       Body(); 
  13.     } 
  14.     .alignItems(HorizontalAlign.Center) 
  15.   } 

 3.1.2 Title自定義組件代碼:

  1. @Component 
  2. export struct Title { 
  3.   build() { 
  4.     // 主界面標題 
  5.     Column() { 
  6.       Text("舒爾特方格"
  7.         .fontSize(34).margin({top: 30}) 
  8.         .fontWeight(FontWeight.Bold) 
  9.       Text("SchulteGrid"
  10.         .fontSize(20).margin({top: 3, bottom: 60}) 
  11.         .fontWeight(FontWeight.Bold) 
  12.     } 
  13.     .width('100%'
  14.   } 

 3.1.3 Body自定義組件代碼

  1. import router from '@system.router' 
  2.  
  3. @Component 
  4. export struct Body { 
  5.   build() { 
  6.     Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Start }) { 
  7.       // 3x3, 4x4, 5x5 按鈕布局 
  8.       Row() { 
  9.         Button("3X3", { type: ButtonType.Circle, stateEffect: true }) 
  10.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  11.           .onClick(() => { this.startGame(3) }) 
  12.         Button("4X4", { type: ButtonType.Circle, stateEffect: true }) 
  13.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  14.           .margin({left: 30, right: 30}) 
  15.           .onClick(() => { this.startGame(4) }) 
  16.         Button("5X5", { type: ButtonType.Circle, stateEffect: true }) 
  17.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  18.           .onClick(() => { this.startGame(5) }) 
  19.       }.alignItems(VerticalAlign.Center).margin({bottom: 30}) 
  20.       // 6x6, 7x7 按鈕布局 
  21.       Row() { 
  22.         Button("6X6", { type: ButtonType.Circle, stateEffect: true }) 
  23.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  24.           .onClick(() => { this.startGame(6) }) 
  25.         Button("7X7", { type: ButtonType.Circle, stateEffect: true }) 
  26.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  27.           .margin({left: 30}).onClick(() => { this.startGame(7) }) 
  28.       }.alignItems(VerticalAlign.Center).margin({bottom: 30}) 
  29.       // 8x8, 9x9 按鈕布局 
  30.       Row() { 
  31.         Button("8X8", { type: ButtonType.Circle, stateEffect: true }) 
  32.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  33.           .onClick(() => { this.startGame(8) }) 
  34.         Button("9X9", { type: ButtonType.Circle, stateEffect: true }) 
  35.           .width(70).height(70).backgroundColor(0x317aff).fontSize(20) 
  36.           .margin({left: 30}) 
  37.           .onClick(() => { this.startGame(9) }) 
  38.       }.alignItems(VerticalAlign.Center) 
  39.     } 
  40.     .width('100%'
  41.     .height('100%'
  42.   } 
  43.  
  44.   // 開始游戲 
  45.   startGame(idx:number) { 
  46.     router.push({ 
  47.       uri: 'pages/game'
  48.       params: {index: idx} 
  49.     }) 
  50.   } 

3.2. 游戲界面代碼,具體頁面布局在自定義組件實現:

3.2.1 Game代碼:

  1. import router from '@system.router' 
  2. import { Title } from '../common/game/title' 
  3. import { Body } from '../common/game/body' 
  4. import { Footer } from '../common/game/footer' 
  5. import { getRandomData } from '../utils/utils' 
  6.  
  7. @Entry 
  8. @Component 
  9. struct Game { 
  10.   // 接收主界面傳遞過來的陣列數字 
  11.   private idx: number = router.getParams().index 
  12.   @State index: number = this.idx 
  13.   // 調用函數隨機生成相應的字符數字數組 
  14.   @State numArray: String[] = getRandomData(this.idx) 
  15.   // 與body和footer子組件綁定, 變化時, body和footer子組件也會跟著變化 
  16.   @State time: number = 0 
  17.  
  18.   build() { 
  19.     Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceBetween }) { 
  20.       // 標題和返回按鈕 
  21.       Title() 
  22.       // 游戲界面 
  23.       Body({idx: $index, numArray: $numArray, time: $time}) 
  24.       // 狀態框 
  25.       Footer({idx: $indextime: $time}) 
  26.     } 
  27.     .width('100%'
  28.     .height('100%'
  29.   } 

 3.3.2 游戲Title自定義組件代碼:

  1. import router from '@system.router' 
  2.  
  3. @Component 
  4. export struct Title { 
  5.   build() { 
  6.     Row() { 
  7.       // 返回游戲主界面 
  8.       Image($r("app.media.back")) 
  9.         .objectFit(ImageFit.Contain) 
  10.         .width(50) 
  11.         .height(50) 
  12.         .margin({ right: 10 }) 
  13.         .onClick(()=>{ this.onBack() }) 
  14.       Text("游戲開始"
  15.         .fontSize(24) 
  16.         .fontColor(Color.White) 
  17.         .fontWeight(FontWeight.Bold) 
  18.     } 
  19.     .width('100%'
  20.     .padding({ top: 10, bottom: 10}) 
  21.     .backgroundColor(0x317aff) 
  22.   } 
  23.   // 回退 
  24.   onBack() { 
  25.     router.back(); 
  26.   } 

3.2.3 游戲Body自定義組件代碼:

  1. @Component 
  2. export struct Body { 
  3.   // 與游戲父組件綁定, 記錄當前的陣列數字 
  4.   @Link idx: number; 
  5.   // 與游戲父組件綁定, 顯示相應的數字按鈕 
  6.   @Link numArray: String[]; 
  7.   // 與游戲父組件綁定, 變化時, 父組件time變量也跟著變化, 同時footer子組件也會跟著變化 
  8.   @Link time: number; 
  9.  
  10.   // 根據不同的陣列, 按鈕寬高顯示不同的大小 
  11.   private btnSize: number[] = [32, 18, 12, 8, 6, 4, 4] 
  12.   // 根據不同的陣列, 按鈕字段顯示不同大小 
  13.   private btnFont: number[] = [32, 24, 22, 12, 7, 8, 6] 
  14.   // 根據不同的陣列, 顯示不同界面高度 
  15.   private gridHeight: number[] = [48, 48, 48, 44, 46, 50, 66] 
  16.   // 根據不同的陣列, 顯示不同的行列 
  17.   private template: string[] = ['1fr 1fr 1fr''1fr 1fr 1fr 1fr''1fr 1fr 1fr 1fr 1fr''1fr 1fr 1fr 1fr 1fr 1fr''1fr 1fr 1fr 1fr 1fr 1fr 1fr''1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr''1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr'
  18.   // 記錄當前點擊的數字 
  19.   private flagNum: number = 1 
  20.   // 開始計時 
  21.   private startTime: number = new Date().getTime() 
  22.  
  23.   build() { 
  24.     Grid() { 
  25.       // 循環顯示陣列數字按鈕 
  26.       ForEach(this.numArray, (day: string) => { 
  27.         GridItem() { 
  28.           Button(day, { type: ButtonType.Circle, stateEffect: true }) 
  29.             .width(this.btnSize[this.idx-3] * this.idx) 
  30.             .height(this.btnSize[this.idx-3] * this.idx) 
  31.             .backgroundColor(0x317aff).fontSize(this.btnFont[this.idx-3]) 
  32.             .onClick(() => { this.startGame(Number(day)) }) 
  33.         } 
  34.       }, day => day
  35.     } 
  36.     // 根據相應的陣列數字,顯示相應的列數字 
  37.     .columnsTemplate(this.template[this.idx-3]) 
  38.     // 根據相應的陣列數字,顯示相應的行數字 
  39.     .rowsTemplate(this.template[this.idx-3]) 
  40.     .columnsGap(10) 
  41.     .rowsGap(10) 
  42.     .width(96+'%'
  43.     .height(this.gridHeight[this.idx-3]+'%'
  44.   } 
  45.  
  46.   // 開始游戲 
  47.   startGame(num:number) { 
  48.     // 如果當前點擊的數字等于陣列數組長度, 說明點擊到最后一個數字, 彈出挑戰成功, 計算出總共耗時 
  49.     if (num == this.numArray.length && this.flagNum == this.numArray.length ) { 
  50.       AlertDialog.show({ message: '恭喜您挑戰成功'}) 
  51.       this.time = (new Date().getTime() - this.startTime) * 1.0 / 1000 
  52.     } 
  53.  
  54.     // 如果點擊的數字大于累計的數字,彈出提醒信息 
  55.     if (num > this.flagNum) { 
  56.       AlertDialog.show({ message: '請點擊小于此數字'}) 
  57.     // 如果點擊的數字小于累計的數字,彈出提醒信息 
  58.     } else if (num < this.flagNum) { 
  59.       AlertDialog.show({ message: '當前點擊的數字,已點擊過'}) 
  60.     // 否則累計數字加1 
  61.     } else { 
  62.       this.flagNum++ 
  63.     } 
  64.   } 

 3.2.4 游戲Footer自定義組件代碼:

  1. @Component 
  2. export struct Footer { 
  3.   // 與game父組件綁定, 記錄當前的陣列數字 
  4.   @Link idx: number; 
  5.   // 與game父組件綁定, 變化時, 父組件time變量也跟著變化, 同時footer子組件也會跟著變化 
  6.   @Link time: number; 
  7.  
  8.   build() { 
  9.     Stack({ alignContent: Alignment.Bottom }) { 
  10.       Row() { 
  11.         // 耗時 
  12.         Button({ type: ButtonType.Capsule, stateEffect: false }) { 
  13.           Row() { 
  14.             Image($r('app.media.trophy')).width(20).height(20).margin({ left: 12 }) 
  15.             Text(this.time + '"').fontSize(16).fontColor(0xffffff).margin({ left: 5, right: 12 }) 
  16.           }.alignItems(VerticalAlign.Center).width(100) 
  17.         }.backgroundColor(0x317aff).opacity(0.7).width(100) 
  18.  
  19.         // 顯示計時中 
  20.         Button({ type: ButtonType.Capsule, stateEffect: false }) { 
  21.           Row() { 
  22.             Image($r('app.media.time')).width(20).height(20).margin({ left: 12 }) 
  23.             Text('計時中').fontSize(16).fontColor(0xffffff).margin({ left: 5, right: 12 }) 
  24.           }.alignItems(VerticalAlign.Center).width(100) 
  25.         }.backgroundColor(0x317aff).opacity(0.7).width(100) 
  26.         .margin({left: 20, right: 20}) 
  27.  
  28.         // 幫助功能 
  29.         Button({ type: ButtonType.Capsule, stateEffect: true }) { 
  30.           Row() { 
  31.             Image($r('app.media.help')).width(20).height(20).margin({ left: 12 }) 
  32.             Text('幫助').fontSize(16).fontColor(0xffffff).margin({ left: 5, right: 12 }) 
  33.           }.alignItems(VerticalAlign.Center).width(100) 
  34.         }.backgroundColor(0x317aff).width(100) 
  35.         .onClick(() => { this.showHelp() }) 
  36.  
  37.       } 
  38.     }.width('100%').height(100).margin({ top: 5, bottom: 10 }) 
  39.   } 
  40.  
  41.   // 提示游戲幫助 
  42.   showHelp() { 
  43.     AlertDialog.show({ message: '以最快速度從 1 選到 ' + (this.idx*this.idx) }) 
  44.   } 

3.3. Utils公共函數實現:

  1. /** 
  2.  * 隨機生成1-count參數的整數 
  3.  * @param idx 
  4.  */ 
  5. export function getRandomData(idx:number): Array<String> { 
  6.   // 生成count個數字 
  7.   let count:number = idx * idx; 
  8.   // 存儲生成的字符數字 
  9.   let result:Array<String> = []; 
  10.  
  11.   do { 
  12.     // 隨機生成一個指定范圍的數字 
  13.     let num = Math.floor(Math.random() * count + 1); 
  14.     // 如果數字不在數組里, 存儲到數組 
  15.     if (-1 == result.indexOf(num+'')) { 
  16.       result.push(num+''); 
  17.     } 
  18.  
  19.     // 如果隨機生成的數字存儲到數組的長度等于陣列數, 跳出死循環 
  20.     if (count == result.length) { 
  21.       break; 
  22.     } 
  23.  
  24.   }while(true
  25.   // 返回數組 
  26.   return result; 
  27. }; 

 **總結:**看到主界面和游戲界面代碼,是不是很簡潔,聲明式開發范式之美,那你還等什么?跟上步伐開始聲明式開發吧!!!

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2023-05-31 15:42:06

游戲開發關系型數據庫

2022-07-06 20:40:27

舒爾特方格鴻蒙

2024-01-11 15:54:55

eTS語言TypeScript應用開發

2022-07-13 16:24:12

ArkUI(JS)打地鼠游戲

2022-03-17 15:28:18

五子棋HarmonyOSJSAPI

2021-12-01 15:40:23

鴻蒙HarmonyOS應用

2022-08-22 17:28:34

ArkUI鴻蒙

2022-08-04 13:55:08

拼數字小游戲鴻蒙

2021-12-01 15:38:33

鴻蒙HarmonyOS應用

2022-10-19 15:12:05

ArkUI鴻蒙

2021-11-02 14:52:17

鴻蒙HarmonyOS應用

2024-05-31 08:43:31

2021-11-01 11:08:28

鴻蒙HarmonyOS應用

2022-05-27 14:55:34

canvas畫布鴻蒙

2022-08-25 21:41:43

ArkUI鴻蒙

2022-10-24 14:49:54

ArkUI心電圖組件

2022-11-02 16:06:54

ArkUIETS

2022-06-27 14:12:32

css鴻蒙自定義

2015-07-16 13:46:55

網絡虛擬化網絡虛擬
點贊
收藏

51CTO技術棧公眾號

美女mm1313爽爽久久久蜜臀| 国产高清亚洲| 国产三级一区二区| 亚洲最大的av网站| 日韩av电影网| 成人激情电影在线| 欧美哺乳videos| 国产无套粉嫩白浆内谢的出处| а√资源新版在线天堂| 97久久超碰国产精品电影| 国产美女被下药99| 日韩三级一区二区三区| 久久亚洲精品中文字幕蜜潮电影| 精品久久久久久亚洲综合网 | 国产伦精品一区二区免费| 成人av观看| 亚洲综合激情网| 亚洲一区尤物| 青青草免费在线| 国产福利视频一区二区三区| 国产精品激情av在线播放 | 激情欧美一区| 精品国偷自产在线视频| 国产成人无码精品久久二区三| 日本超碰一区二区| 欧美人与z0zoxxxx视频| 国产黄色一级网站| xxx在线免费观看| 亚洲美女少妇撒尿| 超碰成人在线免费观看| 国产日韩精品在线看| 99久久久精品| 粉嫩av一区二区三区免费观看| 国产一区二区女内射| 久久综合五月| 欧美怡红院视频一区二区三区| avtt天堂在线| 综合久久99| 久久综合久久88| 天美传媒免费在线观看| 国产毛片一区二区三区| 精品偷拍一区二区三区在线看| 久久久久亚洲av成人网人人软件| 精品一区二区三区四区五区| 欧美日韩视频在线第一区| 日韩av播放器| 国产在线|日韩| 在线观看成人小视频| 国产三级三级三级看三级| 97久久香蕉国产线看观看| 狠狠躁天天躁日日躁欧美| 男人日女人逼逼| 国产精品专区免费| 91福利在线免费观看| 日本爱爱免费视频| 免费一级欧美在线观看视频| 欧美网站大全在线观看| 久久99999| 四虎国产精品免费久久| 91 com成人网| 日批视频免费看| 大奶在线精品| 精品视频中文字幕| 国产伦精品一区二区三区视频女| 国产日产精品一区二区三区四区的观看方式 | 日本中文字幕在线看| 国产女人水真多18毛片18精品视频| 日本一区二区三区视频在线播放| 国产在线一在线二| 中文字幕亚洲区| 50度灰在线观看| 888av在线视频| 91国偷自产一区二区使用方法| 国产一二三区av| 欧美9999| 亚洲黄色片网站| 欧美 日韩 国产 成人 在线观看 | 免费一级特黄特色毛片久久看| yellow字幕网在线| 日本精品一级二级| 伊人精品视频在线观看| 国产suv精品一区| 亚洲人成网站777色婷婷| 任我爽在线视频| 亚洲精品男同| 国产精品网站入口| 成人毛片视频免费看| 国产三级三级三级精品8ⅰ区| 一区二区三区精品国产| 91av久久| 欧美日本在线播放| 久久久老熟女一区二区三区91| 欧美精品一二| 欧美第一淫aaasss性| 日韩欧美在线观看免费| 国产又黄又大久久| 久久精品ww人人做人人爽| 色网站免费在线观看| 香港成人在线视频| 日韩va在线观看| 亚洲精品一级二级三级| 操人视频在线观看欧美| 日韩精品一区二区亚洲av| 国产乱码一区二区三区| 欧美久久久久久久| 天堂成人av| 欧美日免费三级在线| 亚洲少妇18p| 在线一区电影| 国产精品一区二区三区久久久| 天堂av资源网| 亚洲欧美另类久久久精品2019| 日本久久久精品视频| 日本99精品| 色天天综合狠狠色| 国产寡妇亲子伦一区二区三区四区| 国产乱码精品1区2区3区| 日韩精品欧美在线| 久久男人av资源站| 日韩欧美的一区二区| 香蕉成人在线视频| 首页国产欧美日韩丝袜| 国产高清在线一区| 岛国中文字幕在线| 欧美精品日韩精品| 色屁屁草草影院ccyy.com| 亚洲看片一区| 99视频国产精品免费观看| 麻豆网站在线观看| 欧美在线观看视频在线| 不卡一区二区在线观看| 黄色综合网站| 99超碰麻豆| 制服丝袜在线播放| 欧美一区二区福利在线| 蜜桃av.com| 美女视频第一区二区三区免费观看网站| 精品欧美一区二区精品久久| 欧美人体视频xxxxx| 91精品国产综合久久精品麻豆| av免费播放网站| 日产国产高清一区二区三区| 日本一区不卡| 精品网站在线| 在线视频欧美性高潮| 日韩中文字幕高清| 国产亚洲va综合人人澡精品| 日韩精品无码一区二区三区免费| 亚洲国产欧美在线观看| 欧美黑人巨大精品一区二区| a视频免费在线观看| 亚洲欧美色图小说| 亚洲视频在线不卡| 中文字幕免费一区二区三区| 亚洲自拍另类欧美丝袜| 亚洲wwwww| 精品日韩欧美在线| 一级片中文字幕| 国产日韩欧美制服另类| 亚洲成人天堂网| 久久久久久久久久久久久久久久久久| 国产日产欧美a一级在线| 日本中文字幕伦在线观看| 91精品一区二区三区久久久久久 | 九色视频在线播放| 欧美私人免费视频| 久久精品一区二区三区四区五区| 国内精品国产三级国产a久久| 亚洲五码在线观看视频| 粉嫩av一区二区| 日本免费久久高清视频| 97视频在线观看网站| 91精品国产乱| 日本学生初尝黑人巨免费视频| av电影在线观看完整版一区二区| 激情网站五月天| 久久亚洲成人| 国产区欧美区日韩区| 新片速递亚洲合集欧美合集| 色诱女教师一区二区三区| 国产强伦人妻毛片| 精品久久久久久久久久久久久久| www久久久久久久| 国产成人在线视频网站| 欧美a v在线播放| 久久中文视频| 国产精品香蕉视屏| av成人在线播放| 久久久久久久久综合| 国产理论电影在线观看| 欧美一区二区播放| 黑人精品无码一区二区三区AV| 国产精品黄色在线观看| xxxxxx黄色| 久久99国产精品成人| 欧美 日韩 亚洲 一区| 999国产精品视频| 精品一区二区三区自拍图片区| 国产精品蜜月aⅴ在线| 久久久久久综合网天天| 北条麻妃在线| 亚洲精品videossex少妇| 国产精品亚洲欧美在线播放| 欧美日韩在线免费| 午夜精品一区二区三区视频| 久久夜色精品一区| 国产成人av免费观看| 日韩av不卡一区二区| www.av蜜桃| 亚洲精品一二三区区别| 欧美精品一区二区视频 | 欧美日韩国产免费一区二区三区| 国产精品免费精品自在线观看 | 在线免费观看av网址| 亚洲综合图片区| 成人性生交大片免费看无遮挡aⅴ| 成人毛片老司机大片| www.cao超碰| 日本伊人色综合网| 久久婷婷五月综合色国产香蕉| 欧美1区2区| 一区二区在线观| 不卡中文字幕| 日韩在线三级| 免费一区二区| 久久久久一区二区| 欧美中文一区| 国产日本一区二区三区| 欧美影院在线| 91免费版黄色| 天堂久久av| 91香蕉电影院| 激情五月综合婷婷| 91免费国产网站| 国产一区精品福利| 成人福利网站在线观看| 福利一区和二区| 国产欧美日韩最新| 成人福利片在线| 国产在线播放不卡| 狂野欧美性猛交xxxx| 国产精品色悠悠| 国产伊人久久| 成人免费观看a| 成人午夜888| 91国产在线免费观看| 欧美在线在线| 国内一区二区三区在线视频| 国产女人18毛片水真多18精品| 99视频在线播放| 国产精品自在线拍| 久久精品ww人人做人人爽| 亲子伦视频一区二区三区| 九九九热999| 免费欧美一区| 在线观看福利一区| 亚洲综合色站| 久久视频这里有精品| 亚洲中午字幕| 乌克兰美女av| 国产麻豆91精品| 人妻 丝袜美腿 中文字幕| www.欧美色图| 国产精品成人一区二区三区电影毛片| 国产日产精品一区| 国产91在线播放九色| 一区二区三区蜜桃网| 国产成人在线免费观看视频| 色噜噜狠狠一区二区三区果冻| 成人免费一级片| 欧美精品一二三四| 国产特黄一级片| 亚洲福利视频在线| 国产视频网站在线| 美女福利精品视频| 五月天av在线| 91精品视频播放| 国内精品国产成人国产三级粉色 | 欧美在线亚洲| 春日野结衣av| 精品一区中文字幕| 日批免费观看视频| 国产无人区一区二区三区| 蜜臀久久精品久久久用户群体| 亚洲1区2区3区视频| 97人妻一区二区精品视频| 91精品国产福利| 青青草视频免费在线观看| 久久精品国产亚洲一区二区| 9999在线视频| 成人黄色中文字幕| 香蕉精品久久| 日本天堂免费a| 日韩精品视频网| 欧洲熟妇的性久久久久久| 日本一区二区三区在线不卡| 久久老司机精品视频| 欧美无人高清视频在线观看| 空姐吹箫视频大全| 日韩亚洲欧美中文高清在线| 久热在线观看视频| 91嫩草视频在线观看| 精品一区二区三区在线| 国产精品12345| 精品写真视频在线观看| 国产福利短视频| 亚洲午夜三级在线| 91av久久久| 亚洲欧美制服另类日韩| 污污的网站在线看| 成人黄色短视频在线观看| 蜜桃tv一区二区三区| 亚洲国产精品成人天堂| 精品一区二区国语对白| 欧美18—19性高清hd4k| 亚洲第一搞黄网站| 国产黄色片网站| 久久视频在线视频| 99精品国自产在线| 欧美一区二区视频在线| 亚洲清纯自拍| 91传媒理伦片在线观看| 亚洲三级在线免费观看| 中文字幕在线天堂| 亚洲精品视频在线播放| 国产盗摄一区二区| 97中文在线观看| 午夜天堂精品久久久久| www.色欧美| 国产精品电影院| 一级特黄特色的免费大片视频| 亚洲欧洲国产一区| 欧美momandson| 蜜桃av色综合| 亚洲欧美日本国产专区一区| 北京富婆泄欲对白| 偷窥少妇高潮呻吟av久久免费| 成人午夜福利视频| 欧美激情精品久久久| 久久99成人| 欧美日韩中文字幕在线播放| 国产精品一区一区三区| 欧美黑人性猛交xxx| 777a∨成人精品桃花网| 乱人伦中文视频在线| 成人福利网站在线观看11| 久久久久国产精品| 波多野结衣网页| 一区二区三区四区高清精品免费观看| 99久久精品国产一区二区成人| 欧美精品免费播放| 爱爱精品视频| 国产69精品久久久久久久| 91蜜桃在线观看| 糖心vlog精品一区二区| 久久久精品免费| 亚洲国产中文在线| 久在线观看视频| 日本一区二区三区四区在线视频| 一本到在线视频| 欧美福利视频网站| 秋霞影院一区二区三区| 欧美日韩在线免费播放| 亚洲欧洲一区二区在线播放| 精品人妻一区二区三区蜜桃| 久久久久久中文字幕| 亚洲bt欧美bt精品777| 啊啊啊国产视频| 亚洲欧洲综合另类| 欧美一区二区三区激情| 日本精品久久久| 午夜精品一区二区三区国产| 欧美性生交xxxxx| 在线免费一区三区| 成人日韩欧美| 麻豆精品传媒视频| 激情综合色综合久久| 久久精品亚洲无码| 亚洲一级免费视频| 涩爱av色老久久精品偷偷鲁| 国产91xxx| 国产精品福利一区| 天堂在线观看av| 国产精品一区二区久久| 在线欧美福利| 日本美女xxx| 亚洲国产欧美久久| 成人午夜sm精品久久久久久久| 国产黄色激情视频| 亚洲国产精品v| 国精产品乱码一区一区三区四区| 国产成人精品999| 国产精品观看| 91香蕉视频网| 精品网站999www| 涩爱av色老久久精品偷偷鲁| 日本美女高潮视频| 亚洲成国产人片在线观看| av成人手机在线| 精品欧美一区二区在线观看视频|