• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于函數(shù)式編程語(yǔ)言的事件驅(qū)動(dòng)模型的設(shè)計(jì)與實(shí)現(xiàn)

    2016-11-09 01:11:23劉德財(cái)高建華
    關(guān)鍵詞:移動(dòng)游戲編程語(yǔ)言監(jiān)聽(tīng)

    劉德財(cái) 高建華

    (上海師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 上海 200234)

    ?

    基于函數(shù)式編程語(yǔ)言的事件驅(qū)動(dòng)模型的設(shè)計(jì)與實(shí)現(xiàn)

    劉德財(cái)高建華

    (上海師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系上海 200234)

    函數(shù)式編程語(yǔ)言在移動(dòng)游戲研發(fā)中使用十分普遍,例如客戶端的Lua、JavaScript,服務(wù)端的Ruby、Erlang、JavaScript。但目前對(duì)移動(dòng)游戲開(kāi)發(fā)框架的設(shè)計(jì)大多是基于傳統(tǒng)面向?qū)ο蟮姆椒?,并沒(méi)有很好地利用函數(shù)式編程語(yǔ)言的特性。針對(duì)項(xiàng)目代碼模塊的通信問(wèn)題,通過(guò)借鑒面向?qū)ο?OOP)中的觀察者模式以及現(xiàn)有的函數(shù)式編程語(yǔ)言的開(kāi)源框架Node.js,設(shè)計(jì)并實(shí)現(xiàn)一種適用于函數(shù)式編程語(yǔ)言的事件驅(qū)動(dòng)模型FPEDM(Functional Programming Event Driven Model)。該模型具有簡(jiǎn)單易用,擴(kuò)展性強(qiáng),與移動(dòng)游戲軟件耦合度低、復(fù)用性好的特點(diǎn),應(yīng)用到項(xiàng)目開(kāi)發(fā)中可大大提高開(kāi)發(fā)效率,簡(jiǎn)化項(xiàng)目框架的復(fù)雜度。

    函數(shù)式編程事件驅(qū)動(dòng)模型

    0 引 言

    隨著移動(dòng)智能設(shè)備的配置不斷提高以及移動(dòng)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,移動(dòng)游戲的開(kāi)發(fā)設(shè)計(jì)變得越來(lái)越重要。移動(dòng)游戲的開(kāi)發(fā)和傳統(tǒng)的端游開(kāi)發(fā)有著很大的區(qū)別,端游一般開(kāi)發(fā)周期長(zhǎng),項(xiàng)目龐大復(fù)雜,引擎技術(shù)由于不開(kāi)源而更新周期較長(zhǎng),開(kāi)發(fā)語(yǔ)言一般為面向?qū)ο笳Z(yǔ)言,如C++、Java等,而移動(dòng)游戲則開(kāi)發(fā)周期短,游戲版本迭代快,引擎技術(shù)開(kāi)源使得引擎技術(shù)更新較快,開(kāi)發(fā)語(yǔ)言趨向于函數(shù)式編程的動(dòng)態(tài)語(yǔ)言,如Lua,JavaScript,Ruby等。目前在移動(dòng)游戲開(kāi)發(fā)框架設(shè)計(jì)領(lǐng)域的研究比較少,實(shí)際開(kāi)發(fā)中很多也還是照搬了傳統(tǒng)面向?qū)ο?OOP)的設(shè)計(jì)思想,沒(méi)有很好地利用函數(shù)式編程語(yǔ)言的特性,使游戲項(xiàng)目變得龐大復(fù)雜,并不能很好地適應(yīng)開(kāi)發(fā)周期短、項(xiàng)目變更快的移動(dòng)開(kāi)發(fā),同時(shí)編程語(yǔ)言本身的差異也使得在實(shí)現(xiàn)OOP設(shè)計(jì)思想上有困難。

    本文就移動(dòng)游戲開(kāi)發(fā)框架設(shè)計(jì)中的代碼模塊間通信問(wèn)題進(jìn)行設(shè)計(jì)和研究,通過(guò)借鑒面向?qū)ο?OOP)的觀察者模式和開(kāi)源框架Node.js[1],設(shè)計(jì)并實(shí)現(xiàn)了基于函數(shù)式編程語(yǔ)言的一種事件驅(qū)動(dòng)的模型框架FPEDM,該模型具有易使用,易擴(kuò)展,可復(fù)用的特點(diǎn),同時(shí)模型也充分利用了FP語(yǔ)言的特點(diǎn),更加適合FP語(yǔ)言編寫(xiě)的移動(dòng)游戲項(xiàng)目,更為重要的是把設(shè)計(jì)思想提取成為了一個(gè)文件,不依賴任何具體的移動(dòng)游戲項(xiàng)目。FPEDM應(yīng)用在實(shí)際開(kāi)發(fā)中可大大提升項(xiàng)目開(kāi)發(fā)效率和軟件質(zhì)量。

    1 相關(guān)知識(shí)

    1.1函數(shù)式編程

    函數(shù)式編程和指令式編程(面向過(guò)程編程和面向?qū)ο缶幊?相比較,函數(shù)式編程提升了函數(shù)的地位,函數(shù)是第一類對(duì)象和數(shù)據(jù)的集合,使得編程者對(duì)程序的狀態(tài)和執(zhí)行次序不必太關(guān)心[2]。

    1.2函數(shù)式編程語(yǔ)言

    函數(shù)式編程語(yǔ)言的構(gòu)成范式的理論基礎(chǔ)是由Alonzo Church等提出并證明與圖靈機(jī)等價(jià)的lambda演算系統(tǒng),在該范式下,程序由函數(shù)和對(duì)函數(shù)的應(yīng)用上下文構(gòu)成[3]。相對(duì)于Objective-C,蘋(píng)果最新發(fā)布的開(kāi)發(fā)語(yǔ)言Swift一個(gè)很重要的改進(jìn)就是就加入了函數(shù)式編程的支持。

    1.3事件驅(qū)動(dòng)模型

    事件驅(qū)動(dòng)模型在軟件設(shè)計(jì)中主要涵蓋三個(gè)方面:事件源、事件和事件處理者[4]。事件(如GUI中的敲入一個(gè)鍵、單擊鼠標(biāo))發(fā)生后,事件源就會(huì)激發(fā)與此事件相應(yīng)的消息,事件調(diào)度器將事件傳給事件處理者的處理函數(shù)進(jìn)行處理。

    2 FPEDM的設(shè)計(jì)和實(shí)現(xiàn)

    2.1FPEDM的設(shè)計(jì)

    傳統(tǒng)的軟件工程中,事件驅(qū)動(dòng)模型的設(shè)計(jì)一般如圖1所示。首先由事件注冊(cè)者在事件調(diào)度器中注冊(cè)/移除注冊(cè)特定的事件,事件處理者同時(shí)向調(diào)度器監(jiān)聽(tīng)/取消監(jiān)聽(tīng)特定的事件,事件源發(fā)生事件后告知事件調(diào)度器發(fā)生了某個(gè)事件,事件調(diào)度器收到后通過(guò)派發(fā)告知正在監(jiān)聽(tīng)這個(gè)事件的每一個(gè)處理者,讓所有處理者對(duì)事件作出響應(yīng)[5]。

    傳統(tǒng)的事件驅(qū)動(dòng)模型設(shè)計(jì)充分體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想,優(yōu)點(diǎn)是可擴(kuò)展性好,缺點(diǎn)是設(shè)計(jì)較為復(fù)雜。一個(gè)事件的完成需要多個(gè)參與者,如圖1所示一般需要四個(gè)參與者,這也導(dǎo)致開(kāi)發(fā)人員在理解和使用上成本較高,這在開(kāi)發(fā)周期長(zhǎng)的大型項(xiàng)目中是能夠承受的。但在開(kāi)發(fā)周期較短、迭代迅速的移動(dòng)游戲項(xiàng)目中,顯得有些設(shè)計(jì)過(guò)度,不利于移動(dòng)游戲項(xiàng)目的快速開(kāi)發(fā)和BUG排查。

    圖1 面向?qū)ο蟮氖录?qū)動(dòng)模型

    本文通過(guò)借鑒面向?qū)ο笾械挠^察者設(shè)計(jì)模式[6]和開(kāi)源框架Node.js[7],設(shè)計(jì)了如圖2所示的基于函數(shù)式編程語(yǔ)言的事件驅(qū)動(dòng)模型(FPEDM)。FPEDM中一個(gè)事件的參與者只剩下事件源和事件處理者,其中事件源通過(guò)引用FPEDM文件,具有了注冊(cè)/取消注冊(cè)事件和事件派發(fā)的功能,事件處理者通過(guò)向事件源(同時(shí)也是事件調(diào)度器)監(jiān)聽(tīng)/取消監(jiān)聽(tīng)特定的事件。FPEDM中的事件源在事件發(fā)生時(shí)派發(fā)事件,所有正在監(jiān)聽(tīng)這一事件的事件處理者都會(huì)收到,從而作出響應(yīng)。FPEDM使得整個(gè)事件驅(qū)動(dòng)的模型變得簡(jiǎn)單易用,模型不依賴于具體的移動(dòng)游戲項(xiàng)目,做到了思想和代碼的100%復(fù)用,并且實(shí)現(xiàn)了和圖1一樣的功能。

    圖2 FPEDM

    2.2FPEDM的實(shí)現(xiàn)

    從圖2中可以看到, FPEDM的關(guān)鍵就是FPEDM文件的實(shí)現(xiàn)。從2.1節(jié)可以知道,事件驅(qū)動(dòng)模型包含6個(gè)過(guò)程:注冊(cè)/取消注冊(cè),監(jiān)聽(tīng)/取消監(jiān)聽(tīng),發(fā)生和派發(fā),其中發(fā)生是事件源的職責(zé),事件源應(yīng)該明確知道事件何時(shí)發(fā)生。因此FPEDM文件只需實(shí)現(xiàn)注冊(cè)/取消注冊(cè),監(jiān)聽(tīng)/取消監(jiān)聽(tīng)、派發(fā)5個(gè)過(guò)程以及引用FPEDM文件的方法即可。

    本文中描述FPEDM文件的實(shí)現(xiàn)采用的是moonscript風(fēng)格的偽代碼,moonscript是lua的模板編程語(yǔ)言。

    FPEDM文件對(duì)于注冊(cè)/取消注冊(cè)采用了一張哈希表(Hash table)進(jìn)行維護(hù),具體結(jié)構(gòu)如圖3所示,該數(shù)據(jù)結(jié)構(gòu)充分利用了函數(shù)式編程語(yǔ)言的函數(shù)是第一類對(duì)象的特點(diǎn)。哈希表中的關(guān)鍵碼值為事件ID,關(guān)鍵碼值所對(duì)應(yīng)的是所有正在監(jiān)聽(tīng)這一事件的處理函數(shù)的指引(函數(shù)式編程語(yǔ)言中沒(méi)有指針概念,本文稱為指引)的集合。

    圖3 FPEDM的數(shù)據(jù)結(jié)構(gòu)

    FPEDM文件的添加監(jiān)聽(tīng)方法如圖4所示,其中輸入為事件源,事件ID以及監(jiān)聽(tīng)者(處理函數(shù)),函數(shù)中第一個(gè)參數(shù)self為函數(shù)的調(diào)用者。從圖2可以知道FPEDM文件是被事件源引用的,所以這個(gè)self就是事件源,第3行的findOrCreateListenerTable函數(shù)是創(chuàng)建或者找到已存在的圖3所示的數(shù)據(jù)結(jié)構(gòu),即得到event_id的所有處理函數(shù)的指引集合,第4行為向這個(gè)集合中添加監(jiān)聽(tīng)者listener,最后返回self(事件源)是為了方法的鏈?zhǔn)秸{(diào)用。

    圖4FPEDM文件的addListener方法

    FPEDM文件的移除監(jiān)聽(tīng)方法如圖5所示,其中輸入為事件源,事件ID以及監(jiān)聽(tīng)者(處理函數(shù)),第4、5行得到event_id的處理函數(shù)集合,并從中移除listener,第6、7行為移除一次性的監(jiān)聽(tīng)者。一次性監(jiān)聽(tīng)者的添加和圖4方法基本一致,只是在event_id后添加once字符組成新event_id以區(qū)別正常監(jiān)聽(tīng)者,它會(huì)在收到事件作出響應(yīng)后自動(dòng)移除監(jiān)聽(tīng)。

    圖5FPEDM文件的removeListener方法

    FPEDM文件派發(fā)事件的方法如圖6所示,輸入為事件源,事件ID,以及事件派發(fā)時(shí)所帶的參數(shù)(可以多個(gè)參數(shù)),第2-5行得到event_id的處理函數(shù)集合,并依次調(diào)用。每次調(diào)用時(shí)都會(huì)把派發(fā)所帶的參數(shù)傳給處理函數(shù),這樣使得事件源和監(jiān)聽(tīng)者之間可以進(jìn)行數(shù)據(jù)交流,第6-10行為處理一次性監(jiān)聽(tīng)者的響應(yīng),并在10行自動(dòng)移除監(jiān)聽(tīng)。

    圖6FPEDM文件的emit方法

    引用FPEDM文件的EventEmitter方法如圖7所示,從圖2可知輸入為事件源,第2行對(duì)引用對(duì)象(事件源)設(shè)置標(biāo)志位,標(biāo)記其擁有了FPEDM文件的方法,3-9行依次把FPEDM文件中的方法賦予引用對(duì)象(事件源),并借鑒了Node.js的API風(fēng)格為每個(gè)方法取了別名,便于理解和實(shí)際應(yīng)用。

    圖7FPEDM文件的EventEmitter方法

    3 FPEDM的評(píng)價(jià)

    3.1簡(jiǎn)單易用

    項(xiàng)目使用FPEDM十分簡(jiǎn)易,它和Web的js文件使用方法類似,只需要在事件源文件中引用FPEDM文件,調(diào)用EventEmitter注冊(cè)自身后即可。圖8展示了FPEDM的使用。

    圖8FPEDM的使用示例

    3.2充分利用了函數(shù)式編程語(yǔ)言的特點(diǎn)

    FPEDM充分利用了FP語(yǔ)言編程的文件模塊化和函數(shù)為第一類對(duì)象的特點(diǎn),無(wú)需再把FP語(yǔ)言偽裝成OOP語(yǔ)言來(lái)使用,靈活度提高了不少,代碼之間的邏輯關(guān)系變得更加清晰,沒(méi)有復(fù)雜的繼承和龐大的UML類圖。

    3.3分布式的事件管理機(jī)制

    傳統(tǒng)事件調(diào)度器一般都存在輪詢代碼,不斷輪詢每一個(gè)事件的狀態(tài),從而做出是否派發(fā)事件的決定。FPEDM中的事件源通過(guò)引用FPEDM文件后,可以實(shí)現(xiàn)自己管理自己的事件,無(wú)需單獨(dú)的事件調(diào)度器存在。由于這種分布式的事件管理機(jī)制,在一定程度上可以消除移動(dòng)游戲項(xiàng)目中的代碼中心瓶頸問(wèn)題。

    3.4實(shí)現(xiàn)了模型和代碼的100%復(fù)用

    由于FPEDM的代碼獨(dú)立成了一個(gè)模塊文件,使得只要是和FPEDM文件使用同一門(mén)語(yǔ)言編寫(xiě)的移動(dòng)游戲項(xiàng)目,無(wú)需任何的修改即可直接使用,而且使用過(guò)程十分簡(jiǎn)單方便。同時(shí)理論上任何FP語(yǔ)言都可以實(shí)現(xiàn)FPEDM文件,所以對(duì)使用FP語(yǔ)言編寫(xiě)的項(xiàng)目來(lái)說(shuō),使用FPEDM都是一個(gè)不錯(cuò)的選擇。

    3.5保留了OOP式事件驅(qū)動(dòng)模型的優(yōu)勢(shì)

    表1列出了FPEDM和傳統(tǒng)面向?qū)ο?OOP)的事件驅(qū)動(dòng)模型對(duì)比結(jié)果,因?yàn)閮蓚€(gè)模型都是對(duì)軟件的一種設(shè)計(jì),所以對(duì)比的指標(biāo)采用了軟件工程中常用的評(píng)價(jià)指標(biāo),包括了復(fù)用性,易用性,可維護(hù)性和擴(kuò)展性[8]。從表1的結(jié)果可以看出FPEDM保留了OOP式事件驅(qū)動(dòng)模型的可維護(hù)性和擴(kuò)展性特點(diǎn),提升了事件驅(qū)動(dòng)模型的代碼復(fù)用性,降低了事件驅(qū)動(dòng)模型的使用和理解門(mén)檻,在移動(dòng)游戲開(kāi)發(fā)中的實(shí)際效果也證實(shí)了這些優(yōu)勢(shì)。

    表1 OOP式事件驅(qū)動(dòng)模型和FPEDM對(duì)比

    4 結(jié) 語(yǔ)

    本文通過(guò)借鑒傳統(tǒng)軟件設(shè)計(jì)思想中的觀察者模式和開(kāi)源框架Node.js,設(shè)計(jì)并實(shí)現(xiàn)了基于函數(shù)式編程語(yǔ)言的FPEDM,并把其和傳統(tǒng)OOP式事件驅(qū)動(dòng)模型相比較,得出FPEDM具有簡(jiǎn)單易用、充分利用了FP語(yǔ)言特性、分布式事件管理機(jī)制、代碼復(fù)用率100%和保留了OOP式事件驅(qū)動(dòng)模型優(yōu)勢(shì)的特點(diǎn),使其十分適合用于移動(dòng)游戲項(xiàng)目(FP語(yǔ)言開(kāi)發(fā))的開(kāi)發(fā)和設(shè)計(jì)。日后的研究主要是實(shí)現(xiàn)FPEDM中多事件協(xié)作的處理和事件的異步驅(qū)動(dòng)等。

    [1] Node.js的模塊機(jī)制.https://Node.js.org/api/modules.html.

    [2] 微軟關(guān)于函數(shù)式編程的定義和解釋.https://msdn.microsoft.com/en-us/library/bb669144.aspx.

    [3] 李向陽(yáng),連小綺.函數(shù)式程序范式在語(yǔ)義web中的應(yīng)用[J].中國(guó)科技信息,2006,12(24):79,87.

    [4] 韓彪,吳眾欣,欒鐘治,等.一種適于主-從模式網(wǎng)絡(luò)計(jì)算的事件驅(qū)動(dòng)架構(gòu)[J].西安交通大學(xué)學(xué)報(bào),2010,44(2):39-43.

    [5] Westermann U,Jain R. Toward a Common Event Model for Multimedia Applications[J]. MultiMedia, IEEE, 2007,14(1):19-29.

    [6] Zhu G K. Applying Software Design Patterns in Electromagnetic Field Simulators[J]. Antennas and Propagation Magazine, IEEE, 2012,54(2):174-179.

    [7] 王金龍,宋斌,丁銳. Node.js:一種新的Web應(yīng)用構(gòu)建技術(shù)[J].現(xiàn)代電子技術(shù),2015,38(6):70-73.

    [8] Ian Sommerville. 軟件工程[M]. 程成,陳霞,等譯.北京:機(jī)械工業(yè)出版社,2013: 178-192.

    DESIGN AND IMPLEMENTATION OF EVENT-DRIVEN MODEL BASED ON FUNCTIONAL PROGRAMMING LANGUAGE

    Liu DecaiGao Jianhua

    (Department of Computer Science and Technology, Shanghai Normal University, Shanghai 200234,China)

    Functional programming language (FPL) has been widely used in the development of mobile games, such as Lua and JavaScript on client, Ruby, Erlang and JavaScript on server. However, most of the designs in regard to mobile game development framework are based on traditional object-oriented method, they do not make good use of the characteristics of FPL. In this paper, focuses on the communication in modules of project code, we designed and implemented an event-driven model applicable to FPL, named FPEDM, by referring the observer pattern of object-oriented programming (OOP) and existing open source framework of FPL Node.js. The model is simple and easy to use, has strong scalability, low coupling dependency with specific mobile game projects, and good reusability. By applying it to project development, the development efficiency can be greatly improved, the complexity of the project framework can be simplified as well.

    Functional programmingEvent-driven model

    2015-06-06。國(guó)家自然科學(xué)基金項(xiàng)目(61073163);上海市企業(yè)自主創(chuàng)新專項(xiàng)資金項(xiàng)目(滬CXY-2013-88)。劉德財(cái),碩士生,主研領(lǐng)域:軟件可靠性設(shè)計(jì)理論與方法。高建華,教授。

    TP3

    A

    10.3969/j.issn.1000-386x.2016.09.002

    猜你喜歡
    移動(dòng)游戲編程語(yǔ)言監(jiān)聽(tīng)
    壓力-體積轉(zhuǎn)換在CFC編程語(yǔ)言中的實(shí)現(xiàn)解析
    二季度全球移動(dòng)游戲平均周下載量同比增長(zhǎng)20%
    千元監(jiān)聽(tīng)風(fēng)格Hi-Fi箱新選擇 Summer audio A-401
    Q1中國(guó)移動(dòng)游戲市場(chǎng)收入超500億元
    綜藝報(bào)(2020年8期)2020-05-11 11:56:40
    Java編程語(yǔ)言的特點(diǎn)與應(yīng)用
    淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
    電子制作(2018年1期)2018-04-04 01:48:36
    網(wǎng)絡(luò)監(jiān)聽(tīng)的防范措施
    電子制作(2017年20期)2017-04-26 06:58:02
    面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
    應(yīng)召反潛時(shí)無(wú)人機(jī)監(jiān)聽(tīng)航路的規(guī)劃
    局域網(wǎng)監(jiān)聽(tīng)軟件的設(shè)計(jì)
    河南科技(2014年5期)2014-02-27 14:08:21
    国产精品人妻久久久影院| 国产精华一区二区三区| 欧美日韩精品成人综合77777| 小蜜桃在线观看免费完整版高清| 亚洲va在线va天堂va国产| 亚洲怡红院男人天堂| 不卡视频在线观看欧美| 国产黄色小视频在线观看| 波多野结衣高清无吗| 啦啦啦韩国在线观看视频| 人妻少妇偷人精品九色| 成年女人永久免费观看视频| 美女大奶头视频| 少妇熟女aⅴ在线视频| 亚洲欧美精品综合久久99| 性插视频无遮挡在线免费观看| 国产精品无大码| 国产伦在线观看视频一区| 三级国产精品片| 国产国拍精品亚洲av在线观看| 大话2 男鬼变身卡| 男女那种视频在线观看| 成年免费大片在线观看| 亚洲五月天丁香| 菩萨蛮人人尽说江南好唐韦庄 | 99久国产av精品国产电影| 亚洲美女视频黄频| 小蜜桃在线观看免费完整版高清| videos熟女内射| videos熟女内射| 国语对白做爰xxxⅹ性视频网站| 国产精品久久久久久精品电影| 亚洲中文字幕日韩| 国产一区有黄有色的免费视频 | 熟妇人妻久久中文字幕3abv| 久久99热6这里只有精品| АⅤ资源中文在线天堂| 国产一级毛片七仙女欲春2| 天堂网av新在线| a级毛片免费高清观看在线播放| 精品人妻偷拍中文字幕| 国产探花极品一区二区| 如何舔出高潮| 最近手机中文字幕大全| 亚洲一级一片aⅴ在线观看| 国产av码专区亚洲av| 赤兔流量卡办理| a级毛色黄片| 日本av手机在线免费观看| 日本色播在线视频| 熟妇人妻久久中文字幕3abv| 99热全是精品| 久久久久久国产a免费观看| 亚洲色图av天堂| 成人亚洲精品av一区二区| 亚洲精品影视一区二区三区av| 日本色播在线视频| 两性午夜刺激爽爽歪歪视频在线观看| 特大巨黑吊av在线直播| 国产黄a三级三级三级人| 久久久午夜欧美精品| 日韩在线高清观看一区二区三区| 99久国产av精品国产电影| 九色成人免费人妻av| 国产午夜福利久久久久久| 欧美97在线视频| 人妻系列 视频| 日本爱情动作片www.在线观看| 午夜福利网站1000一区二区三区| 亚洲性久久影院| 晚上一个人看的免费电影| 久久国内精品自在自线图片| 有码 亚洲区| 日本午夜av视频| 亚洲精品aⅴ在线观看| 国产黄片美女视频| 色尼玛亚洲综合影院| 99久久精品国产国产毛片| 激情 狠狠 欧美| 精品一区二区免费观看| 午夜福利高清视频| 麻豆成人av视频| 亚洲在线自拍视频| 麻豆精品久久久久久蜜桃| 美女cb高潮喷水在线观看| 狂野欧美激情性xxxx在线观看| 亚洲欧洲国产日韩| 国产极品精品免费视频能看的| 精品久久久噜噜| 国产亚洲一区二区精品| 亚洲欧美中文字幕日韩二区| 亚洲av成人av| 欧美bdsm另类| 国产精品福利在线免费观看| 一个人看的www免费观看视频| 一级毛片aaaaaa免费看小| 麻豆乱淫一区二区| 春色校园在线视频观看| 综合色av麻豆| 久久精品国产自在天天线| h日本视频在线播放| 国产久久久一区二区三区| 精品人妻熟女av久视频| 一本一本综合久久| 非洲黑人性xxxx精品又粗又长| 91精品伊人久久大香线蕉| 国产精品日韩av在线免费观看| 精品人妻视频免费看| 永久网站在线| 成年版毛片免费区| 国产伦精品一区二区三区四那| 99久久成人亚洲精品观看| 水蜜桃什么品种好| 亚洲av免费在线观看| 久久欧美精品欧美久久欧美| 久久久久国产网址| 精品人妻一区二区三区麻豆| 韩国av在线不卡| 日日干狠狠操夜夜爽| 两个人视频免费观看高清| 久久久精品欧美日韩精品| 五月玫瑰六月丁香| 精品久久久久久电影网 | 国产精品日韩av在线免费观看| 国产成人精品久久久久久| 两性午夜刺激爽爽歪歪视频在线观看| 99久久精品一区二区三区| 国产成人a区在线观看| 99久久人妻综合| 九九爱精品视频在线观看| 亚洲精品456在线播放app| 免费黄色在线免费观看| 国产精华一区二区三区| 好男人视频免费观看在线| 岛国在线免费视频观看| 青春草亚洲视频在线观看| 国产精品爽爽va在线观看网站| 亚洲熟妇中文字幕五十中出| 高清日韩中文字幕在线| 久久精品夜夜夜夜夜久久蜜豆| 国产午夜精品久久久久久一区二区三区| 亚洲欧美精品自产自拍| 国产激情偷乱视频一区二区| 欧美一级a爱片免费观看看| 亚洲图色成人| 18禁动态无遮挡网站| 桃色一区二区三区在线观看| 男插女下体视频免费在线播放| 日日干狠狠操夜夜爽| 亚洲av一区综合| 99在线人妻在线中文字幕| 看非洲黑人一级黄片| 汤姆久久久久久久影院中文字幕 | 精品人妻熟女av久视频| 99久久无色码亚洲精品果冻| 一边亲一边摸免费视频| 国产一区二区在线观看日韩| 精品人妻视频免费看| 国产午夜精品久久久久久一区二区三区| 日产精品乱码卡一卡2卡三| 午夜福利在线观看免费完整高清在| 亚洲色图av天堂| 国产精品一区二区三区四区免费观看| 观看免费一级毛片| 亚洲精品456在线播放app| 国产黄色视频一区二区在线观看 | av在线亚洲专区| 欧美变态另类bdsm刘玥| 免费观看精品视频网站| 亚洲在线观看片| 国产在视频线在精品| 亚洲国产成人一精品久久久| 好男人视频免费观看在线| 深夜a级毛片| 蜜桃亚洲精品一区二区三区| 淫秽高清视频在线观看| 2021少妇久久久久久久久久久| 亚洲av一区综合| 在线观看美女被高潮喷水网站| 偷拍熟女少妇极品色| 色综合站精品国产| 欧美性猛交╳xxx乱大交人| 舔av片在线| 嫩草影院精品99| 综合色丁香网| 91在线精品国自产拍蜜月| 久久精品综合一区二区三区| 久久久精品94久久精品| 国产成年人精品一区二区| 爱豆传媒免费全集在线观看| 久久久精品欧美日韩精品| 99热网站在线观看| 亚洲怡红院男人天堂| 国产精品国产三级国产av玫瑰| 精品久久久久久久久av| 国产精品精品国产色婷婷| 一个人免费在线观看电影| 精品免费久久久久久久清纯| 日本av手机在线免费观看| 一个人免费在线观看电影| 毛片一级片免费看久久久久| 国产成人a∨麻豆精品| 日本欧美国产在线视频| 久久国内精品自在自线图片| 一本一本综合久久| 中文字幕精品亚洲无线码一区| 亚洲成人久久爱视频| 国产精品一二三区在线看| 免费黄色在线免费观看| 国产精品久久久久久久久免| 级片在线观看| 联通29元200g的流量卡| 亚洲人成网站在线观看播放| 久久精品国产亚洲av涩爱| 精品午夜福利在线看| 久久久久久国产a免费观看| 日日干狠狠操夜夜爽| 男人的好看免费观看在线视频| 亚洲最大成人手机在线| 成人性生交大片免费视频hd| 日本黄色片子视频| 欧美极品一区二区三区四区| 国产在视频线在精品| 成人欧美大片| 久久精品国产亚洲av涩爱| 日本黄大片高清| 久久精品人妻少妇| 最新中文字幕久久久久| 国产高清视频在线观看网站| 日本免费a在线| 午夜福利在线观看吧| 久久精品国产亚洲网站| 中文字幕亚洲精品专区| 直男gayav资源| 秋霞伦理黄片| 久久精品国产亚洲av涩爱| 永久网站在线| 91aial.com中文字幕在线观看| 午夜a级毛片| 亚洲av免费在线观看| 有码 亚洲区| 一区二区三区四区激情视频| 日韩高清综合在线| 日韩 亚洲 欧美在线| 欧美成人午夜免费资源| 久久久久免费精品人妻一区二区| 欧美日韩国产亚洲二区| 少妇熟女aⅴ在线视频| 国语自产精品视频在线第100页| 两性午夜刺激爽爽歪歪视频在线观看| 99视频精品全部免费 在线| 成人毛片a级毛片在线播放| 午夜日本视频在线| 国产午夜精品久久久久久一区二区三区| 最新中文字幕久久久久| 精品一区二区免费观看| 亚洲综合色惰| 日本猛色少妇xxxxx猛交久久| 综合色av麻豆| 91在线精品国自产拍蜜月| 18禁裸乳无遮挡免费网站照片| 男女视频在线观看网站免费| 91精品伊人久久大香线蕉| 男女视频在线观看网站免费| 亚洲精品国产av成人精品| 国产亚洲av嫩草精品影院| 一个人免费在线观看电影| 国产高清有码在线观看视频| 国产精品爽爽va在线观看网站| 久久久久久久午夜电影| 少妇裸体淫交视频免费看高清| 卡戴珊不雅视频在线播放| 国产亚洲一区二区精品| 天堂影院成人在线观看| 麻豆一二三区av精品| 在线观看66精品国产| 中文天堂在线官网| 成人国产麻豆网| 一级毛片电影观看 | 少妇人妻精品综合一区二区| 免费黄网站久久成人精品| 99热这里只有是精品50| 国产成人午夜福利电影在线观看| 亚洲成色77777| 亚洲精品亚洲一区二区| 国产精品久久久久久精品电影| 亚洲国产欧美人成| 丝袜美腿在线中文| 国产视频内射| 一级爰片在线观看| 免费看光身美女| 在线观看av片永久免费下载| 丰满人妻一区二区三区视频av| 国产黄片视频在线免费观看| 在线免费观看不下载黄p国产| 中文字幕人妻熟人妻熟丝袜美| 国产精品不卡视频一区二区| 精品熟女少妇av免费看| 亚洲欧洲日产国产| 亚洲国产精品成人久久小说| 日本黄色片子视频| 亚洲在线观看片| 三级经典国产精品| 久久久亚洲精品成人影院| 免费av毛片视频| 色播亚洲综合网| 晚上一个人看的免费电影| 日韩在线高清观看一区二区三区| 在线观看av片永久免费下载| 精品国产三级普通话版| 偷拍熟女少妇极品色| 国产精品久久久久久av不卡| a级毛片免费高清观看在线播放| 国产极品精品免费视频能看的| 精品人妻偷拍中文字幕| 国产精品一区二区性色av| 久久久久国产网址| 白带黄色成豆腐渣| 国产老妇女一区| 午夜福利高清视频| 精品人妻视频免费看| 少妇高潮的动态图| 国产老妇女一区| 哪个播放器可以免费观看大片| 日本黄色视频三级网站网址| 天堂中文最新版在线下载 | 中文在线观看免费www的网站| 久久精品国产亚洲av天美| 国产精品久久电影中文字幕| 日本三级黄在线观看| 又黄又爽又刺激的免费视频.| 国产精品1区2区在线观看.| 大话2 男鬼变身卡| 高清午夜精品一区二区三区| 日韩欧美 国产精品| 少妇人妻一区二区三区视频| 七月丁香在线播放| 日本猛色少妇xxxxx猛交久久| 激情 狠狠 欧美| 搡老妇女老女人老熟妇| 亚洲五月天丁香| 亚洲欧美日韩卡通动漫| 欧美成人a在线观看| 一区二区三区乱码不卡18| 简卡轻食公司| 中文字幕制服av| 真实男女啪啪啪动态图| 高清视频免费观看一区二区 | 国产免费视频播放在线视频 | 插逼视频在线观看| 人体艺术视频欧美日本| 我的老师免费观看完整版| 亚洲自拍偷在线| 精品午夜福利在线看| 深爱激情五月婷婷| 日本一二三区视频观看| 亚洲久久久久久中文字幕| 精品99又大又爽又粗少妇毛片| 国产精品麻豆人妻色哟哟久久 | 国产精华一区二区三区| 国产精品久久久久久精品电影小说 | 99久久无色码亚洲精品果冻| 日韩亚洲欧美综合| 久久久国产成人精品二区| 国产乱人偷精品视频| 天堂网av新在线| 不卡视频在线观看欧美| 寂寞人妻少妇视频99o| 村上凉子中文字幕在线| 亚洲伊人久久精品综合 | 日本免费一区二区三区高清不卡| 女人久久www免费人成看片 | 国产在视频线在精品| 久久久久九九精品影院| 欧美xxxx性猛交bbbb| 晚上一个人看的免费电影| 国产色爽女视频免费观看| 午夜免费男女啪啪视频观看| www.av在线官网国产| 国产免费福利视频在线观看| 汤姆久久久久久久影院中文字幕 | 日本猛色少妇xxxxx猛交久久| 18禁在线播放成人免费| 97热精品久久久久久| 亚洲欧美日韩高清专用| 中文字幕免费在线视频6| 小蜜桃在线观看免费完整版高清| 岛国毛片在线播放| 1000部很黄的大片| 国产精品久久久久久精品电影| 69人妻影院| 亚洲一区高清亚洲精品| 国产免费又黄又爽又色| 内射极品少妇av片p| 一个人看的www免费观看视频| 男的添女的下面高潮视频| 黄片无遮挡物在线观看| АⅤ资源中文在线天堂| 国产黄片视频在线免费观看| 日韩一区二区三区影片| 国产色婷婷99| 免费av不卡在线播放| 日韩精品青青久久久久久| 九九久久精品国产亚洲av麻豆| 男女边吃奶边做爰视频| 好男人视频免费观看在线| 日韩 亚洲 欧美在线| 欧美极品一区二区三区四区| 亚洲欧美成人精品一区二区| 精品人妻偷拍中文字幕| 色综合亚洲欧美另类图片| 免费观看人在逋| 一级黄片播放器| av在线老鸭窝| 国产精品国产高清国产av| 国产精品久久久久久久电影| eeuss影院久久| 麻豆国产97在线/欧美| 亚洲精品影视一区二区三区av| 国产精品美女特级片免费视频播放器| 国产在视频线在精品| 欧美不卡视频在线免费观看| 亚洲一级一片aⅴ在线观看| 亚洲五月天丁香| 男人狂女人下面高潮的视频| 国产伦在线观看视频一区| 欧美又色又爽又黄视频| 国产精品三级大全| 狠狠狠狠99中文字幕| 成人av在线播放网站| 男人和女人高潮做爰伦理| 变态另类丝袜制服| 特大巨黑吊av在线直播| 国产黄色视频一区二区在线观看 | .国产精品久久| 国产不卡一卡二| 嫩草影院入口| 91精品国产九色| 欧美日本视频| 日韩精品青青久久久久久| 亚洲最大成人av| 亚洲av不卡在线观看| 久久久久国产网址| 久久精品夜夜夜夜夜久久蜜豆| 嫩草影院新地址| 18禁动态无遮挡网站| 国内精品一区二区在线观看| av免费观看日本| 亚洲av熟女| 中文字幕亚洲精品专区| 白带黄色成豆腐渣| 国产国拍精品亚洲av在线观看| 禁无遮挡网站| 国产在视频线在精品| 久久99精品国语久久久| 深爱激情五月婷婷| 女的被弄到高潮叫床怎么办| 欧美区成人在线视频| 日韩欧美三级三区| av女优亚洲男人天堂| 久久久久久久久中文| 汤姆久久久久久久影院中文字幕 | 午夜精品一区二区三区免费看| 美女脱内裤让男人舔精品视频| av免费观看日本| 亚洲五月天丁香| 国产精品人妻久久久久久| 男人舔奶头视频| 综合色丁香网| av黄色大香蕉| 色网站视频免费| 欧美精品国产亚洲| 亚洲成人久久爱视频| 久久精品熟女亚洲av麻豆精品 | 欧美xxxx性猛交bbbb| 日韩一区二区视频免费看| 在线观看一区二区三区| 插阴视频在线观看视频| 国产精品电影一区二区三区| 国内揄拍国产精品人妻在线| 日韩高清综合在线| 免费一级毛片在线播放高清视频| 日本wwww免费看| videossex国产| 日韩一区二区视频免费看| 精品人妻偷拍中文字幕| 美女xxoo啪啪120秒动态图| 日本黄色片子视频| 三级经典国产精品| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 看片在线看免费视频| 午夜福利在线在线| 精品午夜福利在线看| 91精品伊人久久大香线蕉| 日本三级黄在线观看| 在线天堂最新版资源| 欧美日韩综合久久久久久| 国产精品久久久久久精品电影| 精品久久久久久久末码| av线在线观看网站| 色网站视频免费| 免费不卡的大黄色大毛片视频在线观看 | 色尼玛亚洲综合影院| 国产免费男女视频| 国产一区二区三区av在线| 搡老妇女老女人老熟妇| 男人狂女人下面高潮的视频| 国产伦理片在线播放av一区| 精品久久久久久久久亚洲| 性插视频无遮挡在线免费观看| 中文字幕人妻熟人妻熟丝袜美| 在线天堂最新版资源| 国产成人精品婷婷| 非洲黑人性xxxx精品又粗又长| 国产精品99久久久久久久久| 国产一区二区在线观看日韩| 99国产精品一区二区蜜桃av| 国产高清三级在线| 国产免费一级a男人的天堂| 国国产精品蜜臀av免费| 韩国av在线不卡| 天天一区二区日本电影三级| 国产成人91sexporn| 禁无遮挡网站| 美女被艹到高潮喷水动态| 日韩一区二区视频免费看| 人妻夜夜爽99麻豆av| 久久久久久国产a免费观看| 欧美丝袜亚洲另类| 尾随美女入室| 日韩人妻高清精品专区| 国产一区二区在线av高清观看| 亚洲最大成人手机在线| 成人一区二区视频在线观看| 亚洲真实伦在线观看| 嫩草影院精品99| 日本黄色片子视频| 搞女人的毛片| 国产精品国产三级国产av玫瑰| 51国产日韩欧美| 国产免费男女视频| 又粗又硬又长又爽又黄的视频| 亚洲欧美中文字幕日韩二区| 欧美日本视频| 最近最新中文字幕免费大全7| 女人被狂操c到高潮| 亚洲av二区三区四区| 亚洲内射少妇av| 最近2019中文字幕mv第一页| 欧美三级亚洲精品| 一级二级三级毛片免费看| 精品人妻一区二区三区麻豆| 国产真实伦视频高清在线观看| 亚洲精品影视一区二区三区av| 亚洲在线自拍视频| 午夜日本视频在线| 岛国在线免费视频观看| 国产又黄又爽又无遮挡在线| 日日啪夜夜撸| 亚洲婷婷狠狠爱综合网| 亚洲三级黄色毛片| av播播在线观看一区| 亚洲精品影视一区二区三区av| 99热精品在线国产| 波多野结衣高清无吗| 一个人免费在线观看电影| 久久精品国产亚洲av天美| 在线天堂最新版资源| 精品午夜福利在线看| 国产成人aa在线观看| 精品少妇黑人巨大在线播放 | 国产午夜精品久久久久久一区二区三区| av免费观看日本| 亚洲精品国产av成人精品| 秋霞伦理黄片| 3wmmmm亚洲av在线观看| 在线免费十八禁| 久久鲁丝午夜福利片| 亚洲综合色惰| 少妇人妻精品综合一区二区| 成人高潮视频无遮挡免费网站| 国产男人的电影天堂91| 中文字幕免费在线视频6| 国产成人精品久久久久久| 免费大片18禁| 真实男女啪啪啪动态图| 日本与韩国留学比较| 18禁裸乳无遮挡免费网站照片| 亚洲av中文字字幕乱码综合| 色噜噜av男人的天堂激情| 国产人妻一区二区三区在| 久久久久久久久久久免费av| 亚洲伊人久久精品综合 | 国产成人freesex在线| 菩萨蛮人人尽说江南好唐韦庄 | 国产一区二区亚洲精品在线观看| 亚洲国产成人一精品久久久| 日韩一本色道免费dvd| 成人午夜高清在线视频| 黄色欧美视频在线观看| 亚洲欧美成人综合另类久久久 | 成年免费大片在线观看| 人人妻人人看人人澡| 国产精品av视频在线免费观看| 一级毛片我不卡| 久久人妻av系列| 日韩一本色道免费dvd| 亚洲av一区综合| 亚洲在线自拍视频| 中文欧美无线码| 在线免费十八禁| 伊人久久精品亚洲午夜| 亚洲av成人av| av黄色大香蕉| 久久婷婷人人爽人人干人人爱|