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

鴻蒙分布式1024一起玩專注游戲

開發 前端 分布式
1024一起專注游戲是在屏幕上畫上N x N個方格(如4x4共16個),格子內任意填寫上從1開始順序生成的數字(如1 ~ 16共16個數字)。

[[430078]]

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

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

https://harmonyos.51cto.com

一, 前言

1024一起專注游戲是在屏幕上畫上N x N個方格(如4x4共16個),格子內任意填寫上從1開始順序生成的數字(如1 ~ 16共16個數字)。游戲時,要求玩家用手指按從小到大(如1 ~ 16)的順序依次指出其位置,按完所有數字后,顯示所用的時間(秒)。所用時間越短,注意力水平越高。能夠培養注意力集中、分配、控制能力;拓展視幅;加快視頻;提高視覺的穩定性、辨別人、定向搜索能力。此游戲為最簡單,最有效也是最科學的注意力訓練方法。尋找目標數字時,注意力是需要極度集中的,把這短暫的高強度的集中精力過程反復練習,大腦的集中注意力功能就會不斷的加固,提高。注意水平越來越高。

同時,1024一起專注游戲使用了鴻蒙分布式協同技術,在訓練小孩子專注力和耐力時,大人也可以一起陪伴訓練,只要兩臺鴻蒙系統手機或一臺手機一臺平板,大人,小孩就可以同時一起在玩一個游戲,比如大人在其中一臺手機上按了一部份小數字,然后點擊分布式協同圖標,拉起另一臺手機的1024一起專注游戲,小孩可以接著按大人沒有按完的數字,最終顯示出所用的時間。

二, 實現效果

開發工具環境下視頻:https://www.bilibili.com/video/BV1B34y1m7M5?spm_id_from=333.999.0.0

手機+手機環境下視頻:https://www.bilibili.com/video/BV1kh411b7QM?spm_id_from=333.999.0.0

手機+平板環境下視頻:https://www.bilibili.com/video/BV1ov411M7sq?spm_id_from=333.999.0.0

1024一起玩專注游戲-鴻蒙HarmonyOS技術社區
1024一起玩專注游戲-鴻蒙HarmonyOS技術社區

三, 創建工程

在這當作你已經安裝好最新版本DevEco-Studio開發工具, 點擊File -> New -> New Project… 彈出Create HarmonyOS Project窗口, 這里我選擇空白Java模板創建, 上一個視頻播放實例是用JS寫的界面,這個游戲界面就用Java來寫,還是JS寫界面快,調試也快些.

1024一起玩專注游戲-鴻蒙HarmonyOS技術社區
1024一起玩專注游戲-鴻蒙HarmonyOS技術社區
1024一起玩專注游戲-鴻蒙HarmonyOS技術社區

四, 主界面開發

在展示源代碼之前,先介紹一下使用到了JAVA哪些組件:

DirectionalLayout, TableLayout, DependentLayout, Button, Image, Text, ListContainer, CommonDialog,通過查看Java UI參考文檔,就可以做出你喜歡的應用了。

先介紹公共類Java代碼,有了這些公共類,以后做類似功能的應用,可以直接復制公共類文件可以使用:

LogUtil 日志打印類:

  1. public class LogUtil { 
  2.     private static final HiLogLabel LABEL_LOG = new HiLogLabel(3, 0xD000F00, "1024Game"); 
  3.     private static final String LOG_FORMAT = "%{public}s: %{public}s"
  4.  
  5.     private LogUtil() { 
  6.  
  7.     } 
  8.     public static void debug(String className, String msg) { 
  9.         HiLog.debug(LABEL_LOG, LOG_FORMAT, className, msg); 
  10.     } 
  11.     public static void info(String className, String msg) { 
  12.         HiLog.info(LABEL_LOG, LOG_FORMAT, className, msg); 
  13.     } 
  14.     public static void info(Class<?> classType, final String format, Object... args) { 
  15.         String buffMsg = String.format(Locale.ROOT, format, args); 
  16.         HiLog.info(LABEL_LOG, LOG_FORMAT, classType == null ? "null" : classType.getSimpleName(), buffMsg); 
  17.     } 
  18.     public static void error(String tag, String msg) { 
  19.         HiLog.error(LABEL_LOG, LOG_FORMAT, tag, msg); 
  20.     } 

SelectDeviceDialog設備選擇對話框:

  1. public class SelectDeviceDialog { 
  2.     private static final int DIALOG_WIDTH = 840; 
  3.     private static final int DIALOG_HEIGHT = 900; 
  4.     private CommonDialog commonDialog; 
  5.  
  6.     public SelectDeviceDialog(Context context, List<DeviceInfo> devices, SelectResultListener listener) { 
  7.         initView(context, devices, listener); 
  8.     } 
  9.     private void initView(Context context, List<DeviceInfo> devices, SelectResultListener listener) { 
  10.         // 創建一個公共對話框 
  11.         commonDialog = new CommonDialog(context); 
  12.         // 設置對齊方式居中 
  13.         commonDialog.setAlignment(LayoutAlignment.CENTER); 
  14.         // 設置對話框尺寸 
  15.         commonDialog.setSize(DIALOG_WIDTH, DIALOG_HEIGHT); 
  16.         // 設置對話框自動關閉 
  17.         commonDialog.setAutoClosable(true); 
  18.         // 加載XML布局文件 
  19.         Component dialogLayout = 
  20.                 LayoutScatter.getInstance(context).parse(ResourceTable.Layout_dialog_select_device, nullfalse); 
  21.         // 設置對話框內容 
  22.         commonDialog.setContentCustomComponent(dialogLayout); 
  23.         // 查找到列表容器 
  24.         if (dialogLayout.findComponentById(ResourceTable.Id_list_devices) instanceof ListContainer) { 
  25.             // 獲取列表容器對象 
  26.             ListContainer devicesListContainer = 
  27.                     (ListContainer) dialogLayout.findComponentById(ResourceTable.Id_list_devices); 
  28.             // 設備列表適配器 
  29.             DevicesListAdapter devicesListAdapter = new DevicesListAdapter(devices, context); 
  30.             // 設置設備列表容器項提供者 
  31.             devicesListContainer.setItemProvider(devicesListAdapter); 
  32.             // 設置設備列表項單擊事件 
  33.             devicesListContainer.setItemClickedListener((listContainer, component, position, id) -> { 
  34.                 // 回調選擇的設備信息 
  35.                 listener.callBack(devices.get(position)); 
  36.                 // 關閉對話框 
  37.                 commonDialog.hide(); 
  38.             }); 
  39.         } 
  40.         dialogLayout.findComponentById(ResourceTable.Id_cancel).setClickedListener(component -> { 
  41.             // 關閉對話框 
  42.             commonDialog.hide(); 
  43.         }); 
  44.     } 
  45.     // 顯示對話框 
  46.     public void show() { 
  47.         commonDialog.show(); 
  48.     } 
  49.     /** 
  50.      * 內部接口, 選擇設備后回調事件 
  51.      */ 
  52.     public interface SelectResultListener { 
  53.         void callBack(DeviceInfo deviceInfo); 
  54.     } 

DevicesListAdapter設備列表適配器:

  1. public class DevicesListAdapter extends BaseItemProvider { 
  2.     // 開始下標從0開始 
  3.     private static final int SUBSTRING_START = 0; 
  4.     // 結束下標為4 
  5.     private static final int SUBSTRING_END = 4; 
  6.     // 設備信息列表 
  7.     private List<DeviceInfo> deviceInfoList; 
  8.     // 當前上下文 
  9.     private Context context; 
  10.  
  11.     // 帶參構造方法 
  12.     public DevicesListAdapter(List<DeviceInfo> deviceInfoList, Context context) { 
  13.         this.deviceInfoList = deviceInfoList; 
  14.         this.context = context; 
  15.     } 
  16.     @Override 
  17.     public int getCount() { 
  18.         return deviceInfoList == null ? 0 : deviceInfoList.size(); 
  19.     } 
  20.     @Override 
  21.     public Object getItem(int i) { 
  22.         return Optional.of(deviceInfoList.get(i)); 
  23.     } 
  24.     @Override 
  25.     public long getItemId(int i) { 
  26.         return i; 
  27.     } 
  28.     @Override 
  29.     public Component getComponent(int i, Component component, ComponentContainer componentContainer) { 
  30.         // 定義設備視圖內部類 
  31.         ViewHolder viewHolder = null
  32.         // 定義組件 
  33.         Component mComponent = component; 
  34.         // 組件為空時 
  35.         if (mComponent == null) { 
  36.             // 查找設備列表項布局XML 
  37.             mComponent = LayoutScatter.getInstance(context).parse(ResourceTable.Layout_item_device_list, nullfalse); 
  38.             // 初始化設備視圖類 
  39.             viewHolder = new ViewHolder(); 
  40.             // 判斷組件布局里是否包含設備名稱文本組件 
  41.             if (mComponent.findComponentById(ResourceTable.Id_device_name) instanceof Text) { 
  42.                 // 獲取設備列表項布局XML的設備名稱文件組件,并賦值給內部類設備視圖設備名稱屬性緩存 
  43.                 viewHolder.devicesName = (Text) mComponent.findComponentById(ResourceTable.Id_device_name); 
  44.             } 
  45.             // 判斷組件布局里是否包含設備Id文本組件 
  46.             if (mComponent.findComponentById(ResourceTable.Id_device_id) instanceof Text) { 
  47.                 // 獲取設備列表項布局XML的設備Id文件組件,并賦值給內部類設備視圖設備Id屬性緩存 
  48.                 viewHolder.devicesId = (Text) mComponent.findComponentById(ResourceTable.Id_device_id); 
  49.             } 
  50.             mComponent.setTag(viewHolder); 
  51.         } else { 
  52.             // 如果組件不為空, 并且標簽包含內部類設備視圖 
  53.             if (mComponent.getTag() instanceof ViewHolder) { 
  54.                 // 從組件標簽獲取出設備視圖 
  55.                 viewHolder = (ViewHolder) mComponent.getTag(); 
  56.             } 
  57.         } 
  58.         // 設備視圖不為空時 
  59.         if (viewHolder != null) { 
  60.             // 設置設備名稱內容 
  61.             viewHolder.devicesName.setText(deviceInfoList.get(i).getDeviceName()); 
  62.             String deviceId = deviceInfoList.get(i).getDeviceId(); 
  63.             deviceId = deviceId.substring(SUBSTRING_START, SUBSTRING_END) + "******" 
  64.                     + deviceId.substring(deviceId.length() - SUBSTRING_END); 
  65.             // 設置設備名稱Id 
  66.             viewHolder.devicesId.setText(deviceId); 
  67.         } 
  68.         return mComponent; 
  69.     } 
  70.     /** 
  71.      * 內部類, 設備視圖 
  72.      */ 
  73.     private static class ViewHolder { 
  74.         // 設備名稱 
  75.         private Text devicesName; 
  76.         // 設備Id 
  77.         private Text devicesId; 
  78.     } 

MainAbilitySlice主界面功能講解 :

主界面主要功能就是用表格布局生成3x3, 4x4, 5x5, 6x6, 7x7, 8x8, 9x9 七個按鈕,點擊后跳轉游戲界面,初始化相應的數字按鈕,用到了Slice之間跳轉傳參數, 源碼都有詳細注釋,有興趣小伙伴可以到gitee查看源碼。

PlayAbilitySlice游戲界面功能講解:

游戲界面主要功能也是用表格布局生成相應主界面傳過來的參數按鈕,數字顯示順序隨機, 分布式協同拉起GameServiceAbility游戲服務,并且在點擊每個數字按鈕時,通過訂閱Event,把當前點到哪個數字,相關變量都接收到,然后更新相應的數據, 源碼都有詳細注釋,有興趣小伙伴可以到gitee查看源碼。

GameServiceAbility游戲服務講解:

游戲服務主要功能是如果請求是Ability的,接收到參數后,再流轉到其它界面傳參;如果是其它請求,接收到參數后,通過公共事件發布出去,讓訂閱了此事件的Ability更新數據,源碼都有詳細注釋,有興趣小伙伴可以到gitee查看源碼。

講解到此了,不要忘記了config.json文件的權限配置哦,在module下添加。

  1. "reqPermissions": [ 
  2.       { 
  3.         "name""ohos.permission.GET_DISTRIBUTED_DEVICE_INFO" 
  4.       }, 
  5.       { 
  6.         "name""ohos.permission.DISTRIBUTED_DATASYNC" 
  7.       }, 
  8.       { 
  9.         "name""ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE" 
  10.       }, 
  11.       { 
  12.         "name""ohos.permission.READ_USER_STORAGE" 
  13.       }, 
  14.       { 
  15.         "name""ohos.permission.WRITE_USER_STORAGE" 
  16.       }, 
  17.       { 
  18.         "name""ohos.permission.GET_BUNDLE_INFO" 
  19.       } 
  20.     ] 

同時,在游戲界面入口也是要提供動態授權:

  1. private static void grantPermission(Context context) { 
  2.    LogUtil.info(TAG, "grantPermission"); 
  3.    if (context.verifySelfPermission(DISTRIBUTED_DATASYNC) != IBundleManager.PERMISSION_GRANTED) { 
  4.        if (context.canRequestPermission(DISTRIBUTED_DATASYNC)) { 
  5.            context.requestPermissionsFromUser(new String[] {DISTRIBUTED_DATASYNC}, PERMISSION_CODE); 
  6.        } 
  7.    } 

五, 總結

有興趣的小伙伴可以下載源碼查看, 項目代碼基本都有注釋了,游戲規則很簡單,就是在界面按順序點擊數字,時間越短,說明注意力越集中。 源碼同步到gitee碼云。

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

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

https://harmonyos.51cto.com

 

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

2023-06-27 13:47:00

分布式事務本地事務

2023-11-07 08:13:53

分布式網絡

2022-06-28 08:16:35

MySQL數據容災

2021-05-28 09:52:00

鴻蒙HarmonyOS應用

2020-12-10 11:23:52

鴻蒙Harmony分布式

2018-10-28 17:54:00

分布式事務數據

2024-09-27 09:56:43

2021-05-13 06:21:26

Dubbo框架RPC

2022-12-12 18:17:09

2013-11-21 10:52:34

NVIDIAIBM超級計算機

2012-11-08 17:33:53

智慧云

2021-02-22 07:58:51

分布式鏈路追蹤

2021-08-16 09:55:41

鴻蒙HarmonyOS應用

2012-06-25 09:37:24

Web

2022-02-17 20:18:27

JS鴻蒙操作系統

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2019-10-10 09:16:34

Zookeeper架構分布式

2020-11-06 12:12:35

HarmonyOS

2023-05-29 14:07:00

Zuul網關系統
點贊
收藏

51CTO技術棧公眾號

日韩精品欧美国产精品忘忧草 | 欧美三级午夜理伦三级在线观看 | 日韩精品综合在线| 乱色精品无码一区二区国产盗| 在线国产精品一区| 一区三区二区视频| 黄色片免费网址| 8x8ⅹ拨牐拨牐拨牐在线观看| 久久精品网站免费观看| 亚洲www在线观看| 日韩高清免费av| 成人看的羞羞网站| 亚洲成avwww人| 亚洲一区二区蜜桃| 高清电影在线观看免费| 国产精品免费看片| 国产精品日韩一区二区| 中文字幕欧美人妻精品| 亚洲国产免费| 久久久精品免费| av中文字幕免费观看| 午夜久久av| 欧美色精品在线视频| 无码专区aaaaaa免费视频| 日本在线观看视频| 久久久久亚洲综合| 国产欧美日韩综合一区在线观看| 国产精品成人久久久| 国产日韩1区| 欧美精品在线免费| 色偷偷www8888| re久久精品视频| 日韩av在线网址| 国产伦理在线观看| 国产成年精品| 欧美日韩国产首页在线观看| av网址在线观看免费| 久草免费在线色站| 亚洲精品一二三四区| 亚洲国产欧美日韩| 经典三级在线| xnxx国产精品| 久久精品成人一区二区三区蜜臀| 精品人妻一区二区三区麻豆91| 全国精品久久少妇| 国产精品91视频| 97人妻一区二区精品视频| 国产欧美亚洲一区| 777国产偷窥盗摄精品视频| 日本三级欧美三级| 亚洲视频碰碰| 国内精品一区二区三区| 久久精品这里有| 影音先锋中文字幕一区| 色综合久综合久久综合久鬼88 | 国产精品成人a在线观看| 深夜福利一区二区| 一区二区三区在线播放视频| 欧美成人激情| 久久精品国产v日韩v亚洲| 中文字幕91视频| 91精品综合| 欧美肥婆姓交大片| 国产成人亚洲欧洲在线| 一本色道久久精品| 日本久久久久久| 怡红院av久久久久久久| 三级影片在线观看欧美日韩一区二区 | 欧美一级黄色影院| 91亚洲天堂| 亚洲午夜久久久久久久久电影网| 国产欧美久久久久| 少妇av在线| 一区二区国产盗摄色噜噜| 欧美日韩一区二区三区电影| 日本韩国在线视频爽| 国产精品黄色在线观看| 一级日韩一区在线观看| 色视频在线免费观看| 国产精品久久久久久妇女6080| 小说区图片区图片区另类灬| eeuss影院www在线观看| 中文字幕不卡在线播放| 清纯唯美一区二区三区| 瑟瑟视频在线| 亚洲欧美激情插 | 欧美视频一二三| www.玖玖玖| 国产亚洲一区二区手机在线观看 | 97在线公开视频| 国产一区二区三区香蕉| 7777精品久久久大香线蕉小说| www视频在线| fc2成人免费人成在线观看播放| 精品一区在线播放| 奇米影视888狠狠狠777不卡| 国产精品福利一区二区三区| av动漫在线免费观看| 黄色污网站在线观看| 一本久久精品一区二区| 怡红院亚洲色图| 91国内精品白嫩初高生| 亚洲精品视频久久| 成人免费精品动漫网站| 亚洲小说区图片区| 日韩av片免费在线观看| 国产又粗又猛又爽又黄的视频一| 久久成人久久爱| 亚洲va码欧洲m码| 国产高清一级毛片在线不卡| 亚洲日本va午夜在线影院| 久艹在线免费观看| 九九九精品视频| 精品久久一二三区| 国产精品免费无码| 国内精品福利| 国产精品人成电影| 俄罗斯嫩小性bbwbbw| 欧美国产国产综合| 老汉色影院首页| 国产一区二区三区朝在线观看| 日韩一区二区三区电影在线观看| 天堂www中文在线资源| 久久一区二区三区电影| 久久久久久欧美| 91中文字幕在线播放| 91美女视频网站| 99久久久无码国产精品性色戒| 九色porny自拍视频在线观看| 在线观看91精品国产入口| 影音先锋资源av| 久久久久蜜桃| 国产精品第1页| 色婷婷在线视频| 亚洲色图在线播放| 亚洲老女人av| 伊人久久大香线蕉| 欧美精品久久久久久久久久| 艳妇乳肉豪妇荡乳av无码福利| 99免费精品视频| 制服国产精品| 美女福利一区二区| 亚洲第一网站免费视频| 乱h高h女3p含苞待放| 日本成人在线一区| 欧美日韩在线播放一区二区| 日韩特级毛片| 欧美一级久久久| www.黄色com| 久久爱www久久做| 日本在线一区| 一个人www视频在线免费观看| 精品美女一区二区| 26uuu成人网| 久久精品二区亚洲w码| 日本一区高清不卡| а√在线天堂官网| 亚洲精品小视频| 日韩三级一区二区三区| 成人高清视频在线| 男人插女人视频在线观看| 亚洲精品午夜| 欧美极品少妇xxxxⅹ喷水| av高清一区二区| 依依成人精品视频| 成年人看片网站| 伊人久久亚洲美女图片| 国产精品白丝jk白祙| 91网址在线观看| 精品粉嫩aⅴ一区二区三区四区| 日本中文在线视频| 国产在线不卡视频| 国产精品国三级国产av| 伊人久久大香线蕉av超碰| 欧美精品video| 国产aⅴ一区二区三区| 亚洲国产一区二区在线播放| 五月天丁香社区| 西西人体一区二区| 久久综合给合久久狠狠色| 色多多在线观看| 亚洲精品中文字幕av| 色屁屁影院www国产高清麻豆| 久久这里只有精品首页| 国产精彩免费视频| 午夜av一区| 久久精品中文字幕一区二区三区| 激情国产在线| 曰本色欧美视频在线| 一区二区美女视频| 亚洲影院免费观看| 欧美一级片黄色| 肉色丝袜一区二区| 三年中文高清在线观看第6集| 高清国产一区二区三区四区五区| 97热在线精品视频在线观看| 九一在线视频| 91精品一区二区三区在线观看| 欧美精品成人久久| 久久久久久久久久久久久女国产乱 | 色天天综合色天天久久| 中文字幕在线观看二区| 国产美女娇喘av呻吟久久| 久久成人福利视频| 激情五月综合网| 亚洲已满18点击进入在线看片| а√天堂中文在线资源8| 伊人伊人伊人久久| 四虎在线免费看| 欧美欧美欧美欧美首页| 日韩激情在线播放| 国产精品欧美极品| xfplay5566色资源网站| 青青青爽久久午夜综合久久午夜| www国产无套内射com| 伊人久久综合影院| 国产精品视频在线播放| 在线精品亚洲欧美日韩国产| 北条麻妃一区二区三区中文字幕 | 欧美成人性网| 久久99热精品这里久久精品| 免费成人av电影| 日韩欧美黄色影院| 国产日韩在线免费观看| 一区二区日韩电影| 成年人视频软件| 91日韩在线专区| 国产精品一级无码| 捆绑变态av一区二区三区| 免费高清在线观看免费| 欧美激情日韩| 在线观看一区二区三区三州| 欧美18免费视频| 91av免费看| 欧美性www| 日韩美女免费线视频| 丁香花视频在线观看| 精品国产视频在线| aⅴ在线视频男人的天堂| 日韩成人av网址| 亚洲精品久久久久久久久久| 欧美久久一二区| 中文字幕乱码人妻二区三区| 色视频欧美一区二区三区| 日韩女同强女同hd| 亚洲国产精品久久不卡毛片| 成人在线观看高清| 国产欧美一区二区精品性| 国产亚洲精品熟女国产成人| 91在线一区二区| v天堂中文在线| 成人在线视频一区| 中文字幕第10页| 国产在线观看免费一区| 加勒比av中文字幕| 国产91丝袜在线播放0| 性鲍视频在线观看| 国产精品中文欧美| 亚洲成人av免费观看| 国内不卡的二区三区中文字幕| 亚洲综合欧美激情| 美腿丝袜在线亚洲一区| 亚洲精品中文字幕无码蜜桃| 久久大逼视频| 日本男人操女人| 日韩精品国产欧美| 欧美婷婷精品激情| 精品一区在线看| www.国产福利| 国产福利91精品一区二区三区| 天堂在线一区二区三区| 国产一区二区视频在线播放| 亚洲热在线视频| 国产91精品久久久久久久网曝门| 在线观看网站黄| 国产成人福利片| 在线中文字日产幕| 91香蕉国产在线观看软件| 美国黄色特级片| 中文字幕一区二区三区视频| 裸体武打性艳史| 午夜视频在线观看一区二区三区| 黑人一级大毛片| 色8久久人人97超碰香蕉987| 中文字幕一区二区三区四区免费看| 欧美性大战久久久久久久蜜臀| 在线观看毛片网站| 日韩亚洲欧美在线| 手机看片1024国产| 亚洲午夜精品久久久久久久久久久久| av电影在线观看| 欧美成人午夜激情在线| 性欧美18xxxhd| 成人精品久久久| jizz性欧美23| 色综合电影网| 欧美在线精品一区| 国产91在线免费| 奇米色一区二区| 少妇激情一区二区三区视频| 久久久蜜桃精品| 九九热这里有精品视频| 欧美网站在线观看| 国产又黄又粗又硬| 亚洲精品国产suv| 国产淫片在线观看| 51精品在线观看| 91丨精品丨国产| 久久综合一区二区三区| 一区二区三区午夜探花| 动漫av网站免费观看| 蜜桃在线一区二区三区| 美国黄色a级片| 一区二区久久久久久| 日韩在线视频不卡| 日韩一区二区三区四区| 国产98在线| 美日韩精品免费视频| 影音成人av| 国产亚洲自拍偷拍| 午夜久久免费观看| 欧美午夜性生活| 不卡av电影在线播放| 中国女人特级毛片| 色综合久久综合中文综合网| 中文字幕人妻一区二区在线视频 | 日本在线视频1区| 久久艹在线视频| av在线一区不卡| 久久国产精品 国产精品| 亚洲国产专区校园欧美| 爽爽爽在线观看| 国产日韩欧美制服另类| 国产一级在线视频| 91精品国产色综合久久ai换脸| 国产在线日本| 国产成人福利网站| 日韩免费电影在线观看| 成年人深夜视频| 国产乱码精品1区2区3区| 国产在视频线精品视频| 色综合久久久久综合| 欧美一级片免费| 久久6免费高清热精品| 亚洲伦理一区二区| 婷婷久久青草热一区二区| 亚洲综合不卡| 日本黄色www| 亚洲国产aⅴ成人精品无吗| 国产日产亚洲系列最新| 日韩视频免费在线观看| 欧美黄页在线免费观看| 视频一区不卡| 蜜桃传媒麻豆第一区在线观看| 成人做爰69片免网站| 91黄色免费版| 搞黄视频在线观看| 日韩女优在线播放| 国产欧美一区| 欧美色图色综合| 欧美高清在线精品一区| 国产精华7777777| 亚洲天堂久久av| 日韩欧美精品一区二区综合视频| 欧美婷婷久久| 久久精品伊人| 国产视频精品免费| 欧美乱妇一区二区三区不卡视频| 一广人看www在线观看免费视频| 国产精品福利在线观看| 色婷婷色综合| 久久艹这里只有精品| 一区二区三区欧美| 蜜臀av免费在线观看| 97视频免费看| 精品九九在线| 116极品美女午夜一级| 国产女主播一区| 国产又粗又黄又爽| 欧美成人性生活| 国产伦精品一区二区三区在线播放| 99在线精品免费视频| 99久久er热在这里只有精品15| 国产区在线观看视频| 亚洲欧洲日产国码av系列天堂| 成人精品三级| 自拍偷拍亚洲色图欧美| 成人一级片网址| 波多野结衣电影在线播放| x99av成人免费| 91亚洲无吗| 日韩精品视频久久| 中文字幕一区不卡| 日韩精品系列| 成人www视频在线观看| 伊人久久婷婷| 波多野结衣家庭教师在线观看| 欧美嫩在线观看| 中文字幕这里只有精品| dy888午夜|