wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標(biāo)題: 基于51的小游戲設(shè)計(jì)思路和方法講解 [打印本頁(yè)]

作者: luodandelang    時(shí)間: 2017-6-22 13:36
標(biāo)題: 基于51的小游戲設(shè)計(jì)思路和方法講解
基于51的小游戲設(shè)計(jì)思路和方法講解
詳細(xì)圖文版請(qǐng)下載:
單片機(jī)游戲設(shè)計(jì).doc (165 KB, 下載次數(shù): 31)


內(nèi)容預(yù)覽:
單片機(jī)游戲設(shè)計(jì)
1。概念
對(duì)于大部分單片機(jī)+LCD的游戲設(shè)計(jì),基本采用前后臺(tái)方式,就是一個(gè)臺(tái)中斷,一個(gè)臺(tái)循環(huán)
(哪個(gè)前哪個(gè)后忘了),LCD部分基本是以固定點(diǎn)陣形式設(shè)計(jì),什么叫固定點(diǎn)陣??首先先
明確,我們?cè)O(shè)計(jì)的游戲不是什

么魔獸爭(zhēng)霸或CS,而是黑白形式的固定點(diǎn)陣游戲,例如常見著名游戲貪吃蛇或俄羅斯方
塊。他們的每個(gè)點(diǎn)
都是預(yù)先就固定下來的,而且是比較大的點(diǎn),這類專門的游戲機(jī)玻璃是經(jīng)過廠家開模出來
的,有固定的COM,SEG線,然后接到專門的單片機(jī)上,例如常用的6502指令集合的單片
機(jī),呵呵,我以前就用6502設(shè)計(jì)過一個(gè)。
對(duì)于業(yè)余設(shè)計(jì)的游戲,我們一般用如128*64的LCD來顯示,那么我們?cè)O(shè)計(jì)的時(shí)候首先應(yīng)該把
這個(gè)128*64的LCD分塊,也就是分出固定點(diǎn)陣出來。LCD的基本點(diǎn)陣是128*64,就是•
¥##¥總之就是好多個(gè)點(diǎn)啦,但我們事實(shí)上不一定要運(yùn)算這么多個(gè)點(diǎn),除非你做的游戲很
有看頭。例如你只用左邊64*64的地方來做貪吃蛇,那么你打算你的貪吃蛇的活動(dòng)空間是多
少呢?如果是8*8個(gè)點(diǎn)的話,算一下就是每個(gè)點(diǎn)64/8,64/8,也就是8*8個(gè)基本點(diǎn)陣,不過
想好玩一點(diǎn),當(dāng)然就是要有16*16個(gè)點(diǎn)的活動(dòng)空間啦,那么每個(gè)固定點(diǎn)陣就要占4*4的基本
點(diǎn)陣了。要注意,這些4*4的東西在64*64LCD上共16*16個(gè),每個(gè)都要用來獨(dú)立運(yùn)算。

2。時(shí)鐘
這個(gè)其實(shí)是游戲的速度,對(duì)于一般的弱智類游戲機(jī),他也代表了難度,物體在每個(gè)時(shí)鐘到
達(dá)的時(shí)候就傳動(dòng)一次,例如俄羅斯方塊沒個(gè)時(shí)刻向下跑一層。賽車游戲每個(gè)時(shí)刻想前走一
步。一般這類時(shí)鐘的時(shí)間在0.X秒到1秒之間,物體有規(guī)律地勻速運(yùn)動(dòng),讓人看到感覺是連
動(dòng)。

3。運(yùn)動(dòng)

在這里,我先介紹兩種比較普遍的弱智游戲機(jī)的物體運(yùn)動(dòng)規(guī)則:柔體傳動(dòng),剛體傳動(dòng)。

剛體傳動(dòng)
代表作是俄羅斯方塊,所謂剛體,就是硬硬的一個(gè)東東,運(yùn)動(dòng)的時(shí)候也不怎么旋轉(zhuǎn)(注
意,俄羅斯方塊是會(huì)旋轉(zhuǎn),但其實(shí)他是沒有經(jīng)過算法的旋轉(zhuǎn),純提取數(shù)組的方式,也就是
把一個(gè)放塊做成4個(gè)模式的點(diǎn)陣結(jié)構(gòu),其實(shí)就是4個(gè)方向,呵呵)對(duì)于剛體的傳動(dòng),在每個(gè)
時(shí)鐘到達(dá)的時(shí)候向一個(gè)方向(很可能是用戶輸入的)運(yùn)動(dòng)一個(gè)固定點(diǎn)陣。如果以坐標(biāo)來表
達(dá),就是物體的所有基本點(diǎn)陣同時(shí)向一個(gè)方向(X或Y)移動(dòng)一個(gè)單位。

柔體傳動(dòng)
代表作是貪吃蛇,貪吃蛇跑動(dòng)的時(shí)候并不是整條蛇向一個(gè)方向動(dòng)的(呵呵,蛇蛇身體僵硬
了),而是在每個(gè)時(shí)鐘的到來,物體由能量頭帶動(dòng)(如蛇頭),每個(gè)點(diǎn)的方向都向下一個(gè)
點(diǎn)傳播,然后自己向新的方向走動(dòng)一步,走動(dòng)后,下一個(gè)點(diǎn)由于得到了上一個(gè)點(diǎn)的方向并
同樣地運(yùn)動(dòng)一步,所以,他會(huì)馬上填補(bǔ)上一個(gè)點(diǎn)的地方,如此類推。
說的好象沒說,看不懂沒關(guān)系,因?yàn)閷?shí)際的算法可以簡(jiǎn)化(傻瓜才會(huì)一個(gè)個(gè)點(diǎn)來走的),
實(shí)際上在設(shè)計(jì)貪吃蛇的時(shí)候,只需要把蛇尾巴的那個(gè)點(diǎn)陣去掉,然后在蛇頭的新方向放一
個(gè)點(diǎn)陣就是了。期間需要記錄下每個(gè)蛇身的固定點(diǎn)陣的位置,并且在每個(gè)運(yùn)動(dòng)時(shí)刻過后刷
新一次每個(gè)點(diǎn)的位置。

4。顯示接口
我們用的一般是點(diǎn)陣式LCD,就是一大片點(diǎn)點(diǎn),128*64,132*64,240*128等等等等啦,這
些又叫條屏,就是一寫就寫一條——8個(gè)點(diǎn)(有的也提供寫一個(gè)點(diǎn)的功能,但貴,至少我沒
有),那么如果你只想寫一個(gè)點(diǎn)怎么辦?那就得先把這個(gè)點(diǎn)所在的條讀出來,然后通過
與,或,的運(yùn)算后,再放回到LCD上,這時(shí)候就要涉及到一個(gè)讀LCD的問題了,有的LCD提供
讀的功能,你寫過什么在上面他記的很清楚(就好象老丁實(shí)驗(yàn)板上的LCD),但有的便宜貨
就不行了,那么我們?cè)趺崔k?沒關(guān)系,你在內(nèi)存中提取出一片空間,虛擬一個(gè)LCD出來,每
次寫在真實(shí)LCD上面的時(shí)候,也同時(shí)寫到內(nèi)存的哪個(gè)虛擬LCD上,那么你要讀出LCD的值的時(shí)
候?qū)嶋H就是讀出虛擬LD上的數(shù)據(jù),然后與或后,再重新寫到LCD上,記得也要寫到虛擬LCD
上哦。你可以把這片緩沖叫做顯存(COOL吧??)


5。流程
這是成功設(shè)計(jì)游戲的靈魂,你在設(shè)計(jì)游戲之前必須能正確構(gòu)思到一個(gè)基本模型出來。這個(gè)
基本是菜鳥和蝦米的一個(gè)區(qū)別,有了構(gòu)思,其他的其實(shí)都是時(shí)間問題了。
以貪吃蛇為例,我們需要有這樣的基本思路:(普通手機(jī)上的那種)

蛇運(yùn)動(dòng)處理,吃到食物的處理,放新食物的處理,死亡的處理。

以上是基本的思路,至于那些記錄分?jǐn)?shù),音樂效果,玩到一定分?jǐn)?shù)會(huì)自動(dòng)加速度等不是游
戲的必須,可以在后期處理!
分析下來:

運(yùn)動(dòng):根據(jù)用戶輸入按鍵進(jìn)行柔體傳動(dòng)。
吃到食物:置沒有食物標(biāo)志了,蛇長(zhǎng)大一個(gè)點(diǎn)陣。
放新食物:判斷食物標(biāo)志,如果沒有食物,就要放食物,判斷放的食物是否和蛇身重疊,
重疊了要重放。
死亡處理:判斷是否撞中自己或撞墻。

這就是基本要做的東西,實(shí)際上就是程序要做的東西,那么把上面的東西連成一個(gè)流程是
怎樣的呢?我以文字表達(dá):

蛇向一個(gè)固定方向進(jìn)行柔體傳動(dòng),沒個(gè)運(yùn)動(dòng)時(shí)鐘到達(dá)要做:1。判斷食物標(biāo)志,沒有食物了
就放一個(gè),放的時(shí)候判斷,不能和蛇身重疊 2。得到用戶按鍵值,蛇走一步,并判斷是否
撞死了,沒撞死,再判斷是否吃到東西了,沒有吃到,就等下一個(gè)運(yùn)動(dòng)時(shí)鐘,吃了?就增
長(zhǎng)一點(diǎn)。置一個(gè)沒有食物的標(biāo)志。然后等待下一個(gè)時(shí)刻的來臨。


呵呵,其實(shí)程序就是這么簡(jiǎn)單,基本設(shè)計(jì)只有LCD部分和按鍵部分是和單片機(jī)有關(guān)的,其他
都是程序思維和算法。對(duì)于菜鳥來說,難度在于思維,而不是單片機(jī)。
說了屁話一堆,還得放上個(gè)能玩的,這里我介紹我的貪吃蛇程序,在丁丁的DX實(shí)驗(yàn)板上跑
的,很久以前就寫的了,老丁也玩過,基本和手機(jī)上的那個(gè)區(qū)別不是很大。
程序注意:這是在DX51板子上跑的程序,有些函數(shù)部分采用了丁丁寫的底層:例如鍵盤
掃描,漢字顯示,LCD顯示等,為了保障老丁的利益,我沒有完全給出所有的底層部分,其
實(shí)他們和貪吃蛇本身沒有太大關(guān)系。貪婪者別以為拿來就用,我只希望大家用來交流學(xué)
習(xí)。其實(shí)改改就能玩的了。
注釋應(yīng)該很詳盡,有不懂自己想啦。
還有,我有點(diǎn)反感有些人公布程序了,但卻把很多注釋去掉,這個(gè)不知道是什么心態(tài)
呢??希望大家能大方點(diǎn),要給,就要給最好的!!
////////////////////////////////////////////////////////////
/*snake_flag是游戲標(biāo)志,第一位是跑動(dòng)標(biāo)志,在定時(shí)器中斷上設(shè)置,下面程序沒有定時(shí)
器中斷函數(shù),因?yàn)槎〞r(shí)器函數(shù)在丁板上是給很多個(gè)程序共用的,函數(shù)根據(jù)標(biāo)志判斷當(dāng)前是
為那個(gè)進(jìn)程服務(wù)*/

//貪吃蛇游戲程序,屏左半部用于游戲活動(dòng),右半部為分?jǐn)?shù)顯示
//游戲屏為16*16游戲點(diǎn)陣,可容納蛇身塊數(shù)256。每個(gè)游戲點(diǎn)陣又由4*4個(gè)LCD基本點(diǎn)陣組

//蛇行標(biāo)志在定時(shí)器上置位,這里為游戲的主體部分。


#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

#define LCMD XBYTE[0xAfff] // 液晶數(shù)據(jù)口
#define LCMC XBYTE[0xAbff] // 液晶命令口

#define TIME_RUN 10 //定時(shí)器分品系
數(shù)

#include "study.h"
#include "reg51.h"
#include "absacc.h"
#include "intrins.h"

//游戲部分
//x,y最大極限
#define MAX_GAME_X 15
#define MAX_GAME_Y 15


#define lcd_no_read 1 //編譯選項(xiàng),把這項(xiàng)屏蔽掉就
采用LCD讀出方式,否則采用顯存形式


uchar snake_flag, //蛇頭標(biāo)志 7 6 5 4 3 2
1 0

// 上 下 左 右 x gameover food run
snake_len, //蛇身長(zhǎng)度
snake_food; //食物位置,高4位Y,低4位x

uchar xdata snake_body[256]; //蛇身每個(gè)部分的數(shù)據(jù)

// 7 6 5 4 3 2 1 0
//
高4位Y方向 低4位X方向

#ifdef lcd_no_read
uchar xdata lcd_buf[8][64];//lcd緩沖,用于記錄LCD內(nèi)部的點(diǎn)陣,可以理解為顯存
//當(dāng)
LCD無讀出功能時(shí),就要采用顯示緩沖。本LCD為可讀,一般不用這個(gè)功能
//緩
沖只記錄蛇身活動(dòng)的部分,即LCD左半屏
#endif




/******************************************************
* 游戲LCD部分,根據(jù)游戲的特點(diǎn)把LCD分成16*16塊
* 用作游戲點(diǎn)陣,
*******************************************************/

//
//函數(shù)名:clr_game_dot
//功能:清一個(gè)游戲點(diǎn)
//輸入?yún)?shù):游戲點(diǎn)的X,Y坐標(biāo)
//注意事項(xiàng):這里的X,Y坐標(biāo)和LCD底層的X,Y坐標(biāo)不同,他最大只能是
MAX_GAME_X,MAX_GAME_Y
//使用方式:內(nèi)部調(diào)用
void clr_game_dot(uchar x,uchar y)
{
uchar lcd_x,i,tmp;
while(x>MAX_GAME_X)x-=(MAX_GAME_X+1); //這個(gè)是寫程序習(xí)慣的保護(hù)措
施,預(yù)防輸入范圍過大
while(y>MAX_GAME_Y)y-=(MAX_GAME_Y+1);
lcd_x=x<<2;
LCMC=lcd_x&0x0f; //設(shè)置x位置
LCMC=(lcd_x>>4)|0x10;
LCMC=0xb0+y/2; //設(shè)置Y位置
LCMC=0xe0;

if(y%2)//行的下半部
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read //以下是顯存法的清點(diǎn)程序,
其他例如亮點(diǎn)的部分和這個(gè)原理一樣

tmp=lcd_buf[y>>1][(x<<2)+i];
//先從緩沖讀出要修改的LCD片的數(shù)據(jù)
tmp&=0x0f;
//清對(duì)應(yīng)的游戲點(diǎn)
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;
//把新數(shù)據(jù)寫回緩沖
#else
tmp=LCMD;tmp=LCMD;
//讀LCD的方法,要求連讀2次
LCMD=tmp&0x0f;

#endif
}
}
else //行的上半部,下同
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read

tmp=lcd_buf[y>>1][(x<<2)+i];
tmp&=0xf0;
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;
#else
tmp=LCMD;tmp=LCMD;
LCMD=tmp&0xf0;
#endif
}
}
LCMC=0xee;
}

//函數(shù)名:fill_game_dot
//功能:亮一個(gè)游戲點(diǎn)
//輸入?yún)?shù):游戲坐標(biāo)的X,Y坐標(biāo)
//注意事項(xiàng):這里的X,Y坐標(biāo)和LCD底層的X,Y坐標(biāo)不同,他最大只能是
MAX_GAME_X,MAX_GAME_Y
// 這個(gè)函數(shù)和上面的clr_game_dot基本相同,只是在寫LCD數(shù)據(jù)的時(shí)候是全1而
不是0
//使用方式:內(nèi)部調(diào)用
void fill_game_dot(uchar x,uchar y)
{
uchar lcd_x,i,tmp;
while(x>MAX_GAME_X)x-=(MAX_GAME_X+1);
while(y>MAX_GAME_Y)y-=(MAX_GAME_Y+1);
lcd_x=x<<2;
LCMC=lcd_x&0x0f; //設(shè)置x位置
LCMC=(lcd_x>>4)|0x10;
LCMC=0xb0+y/2; //設(shè)置Y位置
LCMC=0xe0;
if(y%2)//行的下半部
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read
tmp=lcd_buf[y>>1][(x<<2)+i];
tmp|=0xf0;
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;
#else
tmp=LCMD;tmp=LCMD;
LCMD=tmp|0xf0;
#endif
}
}
else
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read
tmp=lcd_buf[y>>1][(x<<2)+i];
tmp|=0x0f;
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;
#else
tmp=LCMD;tmp=LCMD;
LCMD=tmp|0x0f;
#endif
}
}
LCMC=0xee;
}

//函數(shù)名:fill_game_dot2
//功能:亮一個(gè)游戲點(diǎn)(另一種方式,這里用來顯示食物用)
//輸入?yún)?shù):X,Y
//注意事項(xiàng):X,Y為游戲的點(diǎn)陣,非LCD點(diǎn)陣...還有LCD填充數(shù)據(jù)是0x05或0x50
//使用方式:內(nèi)部調(diào)用,顯示蛇的食物的時(shí)候用這個(gè)函數(shù),區(qū)分開蛇身和食物.
void fill_game_dot2(uchar x,uchar y)
{
uchar lcd_x,i,tmp;
while(x>MAX_GAME_X)x-=(MAX_GAME_X+1);
while(y>MAX_GAME_Y)y-=(MAX_GAME_Y+1);
lcd_x=x<<2;
LCMC=lcd_x&0x0f; //設(shè)置x位置
LCMC=(lcd_x>>4)|0x10;
LCMC=0xb0+y/2; //設(shè)置Y位置
LCMC=0xe0;
if(y%2)
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read
tmp=lcd_buf[y>>1][(x<<2)+i];
tmp|=0x50;
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;

#else
tmp=LCMD;tmp=LCMD;
LCMD=tmp|0x50;
#endif
}
}
else
{
for(i=0;i<4;i++)
{
#ifdef lcd_no_read
tmp=lcd_buf[y>>1][(x<<2)+i];
tmp|=0x05;
LCMD=tmp;
_nop_();
lcd_buf[y>>1][(x<<2)+i]=tmp;
#else
tmp=LCMD;tmp=LCMD;
LCMD=tmp|0x05;
#endif
}
}
LCMC=0xee;
}


/************************************************************
*
* 游戲算法部分(8*8LCD)
*
**************************************************************/

//函數(shù)名 game_init()
//功能:游戲開始的時(shí)候初始化畫面的,這里只是簡(jiǎn)單地把132*64LCD用一條中間線劃分開來
//注意事項(xiàng):暫時(shí)在中間畫條線用來劃分游戲空間
//使用方式:內(nèi)部調(diào)用,
void game_init()
{
uchar i;
uchar xdata *da;
for(da=0;da<0x8000;da++)//清空xDATA,
*da=0x0;

cls(9); //丁丁的清屏函
數(shù)
initlcd();
for(i=0;i<8;i++)
{
LCMC=64&0x0f;
LCMC=(64>>4)|0x10; //線在x=64,
LCMC=0xb0+i; //y=(0-15)的地方
LCMC=0xe0; //把LCD劃分,左邊用來游戲
LCMD=0xff;
}
LCMC=0xee;

}


//函數(shù)名:snake_init
//功能:蛇初始化
//注意事項(xiàng):初始化只有3節(jié)蛇身,向右跑
//使用情況:內(nèi)部調(diào)用
void snake_init()
{
fill_game_dot(0,0); //顯示射身
fill_game_dot(1,0);
fill_game_dot(2,0);
snake_len=2;
snake_flag=0x10; //蛇的初始化,3個(gè)身.向右跑
snake_body[0]=0x02; //裝入射身數(shù)據(jù)
snake_body[1]=0x01;
snake_body[2]=0x00;
//一開始游戲時(shí)的文字部分
setcursor(8,0);
lcdstring("分?jǐn)?shù)為:\r\n");
setcursor(8,2);
lcddigit(snake_len-2);
}

//函數(shù)名:show_mark
//功能:顯示當(dāng)前分?jǐn)?shù),暫時(shí)以蛇身個(gè)數(shù)為分?jǐn)?shù)
//參數(shù)說明:0,和非0, 0代表游戲中的顯示,!0代表掛了的顯示
//注意事項(xiàng):調(diào)用到LCD.c顯示函數(shù),并需要漢字庫(kù)的支持.
// 返回值在GAMEOVER時(shí)候有效,返回0退出游戲,1從新游

//使用情況:snake_run()在蛇吃到食物的時(shí)候調(diào)用,在GAMEOVER后調(diào)用
uchar show_mark(uchar mode)
{
uchar ch;
setcursor(8,0);
lcdstring("分?jǐn)?shù)為:\r\n");
setcursor(8,2);
lcddigit(snake_len-2);
if(mode)//gameover中顯示
{
setcursor(8,0);
lcddigit(snake_len-2);
lcdstring(" 分.");
setcursor(8,2);
lcdstring("C退出");
setcursor(8,4);
lcdstring("回車?yán)^續(xù)");
do ch=getkey(1000);
while( (ch!='C') && (ch!='Y') );
//游戲結(jié)束了會(huì)在這里死等,直到用戶按鍵
if(ch=='Y')
return(1);
else
return(0);
}

return(0);

}

//函數(shù)名:snake_run
//功能:蛇運(yùn)行函數(shù)
//輸入?yún)?shù):一個(gè)全局變量flag_snake,蛇根據(jù)這個(gè)變量判斷運(yùn)動(dòng)方向
//注意事項(xiàng):蛇跑動(dòng)函數(shù),用于判斷路徑,食物,長(zhǎng)大,死亡
//使用情況:內(nèi)部調(diào)用
void snake_run()
{
uchar tmp_head_x,tmp_head_y;
uchar i;

…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………



作者: NIKOTAO    時(shí)間: 2018-6-26 21:07
看看!!!!




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
亚洲精品中文字幕在线| 亚洲av综合色区无码一二三区 | 女人又爽又黄免费女仆| 欧美少妇在线观看| 国产日韩欧美黄色| 国产丝袜高跟一区| 亚洲成a人片综合在线| 国产成人在线免费观看| 一个色综合网| 欧美视频精品全部免费观看| av免费在线免费观看| 狠狠操第一页| 香蕉久久成人网| 久草热在线观看| 男女做暖暖视频| 精品国产乱码久久久久久久久| 免费人成网ww777kkk手机| 午夜影院免费在线观看| 国产人妻人伦精品1国产丝袜| 波多野结衣综合网| 精品国产综合久久| 热久久这里只有精品| 亚洲欧美第一页| 欧美性色综合网| 亚洲欧洲韩国日本视频| 国产高清不卡二三区| 亚洲少妇自拍| 一区二区成人| 影音先锋在线亚洲| 国产精品久久电影观看| 亚洲人成在线免费观看| 欧美天堂亚洲电影院在线播放| 中文字幕av一区二区三区高| 精品在线播放午夜| 亚洲专区欧美专区| 91成人国产| 视频精品在线观看| 粉嫩久久久久久久极品| 向日葵视频成人app网址| 亚洲电影视频在线| 性欧美一区二区| 在线视频观看一区二区| 免费看的黄色大片| 天天综合中文字幕| 日韩欧美精品在线不卡| 国产一区二区三区高清| 91精品啪在线观看麻豆免费| 国产99视频在线观看| 91精品国产777在线观看| 久久天天躁狠狠躁夜夜爽蜜月 | 日本10禁啪啪无遮挡免费一区二区| 国产狼人综合免费视频| 国产精品video| 欧美性视频精品| 午夜精品福利视频| 久久久久久久激情视频| 色综合色综合久久综合频道88| 综合欧美国产视频二区| 亚洲最新中文字幕| 一区二区三区高清国产| 中文字幕不卡av| 日韩亚洲第一页| 日韩网站免费观看| 欧美国产精品v| av电影在线观看不卡| 成人国产电影网| 99riav一区二区三区| 国产亚洲制服色| 中文字幕一区二区三区蜜月| 亚洲欧美一区二区视频| 综合久久国产九一剧情麻豆| 亚洲欧美日韩国产一区二区三区 | 国产网站免费看| 国产尤物视频| 公交车上扒开嫩j挺进去| 1pon在线| 麻豆app在线观看| 日本中文字幕电影在线免费观看 | 天天干夜夜夜操| 亚洲天堂小视频| 女同性恋一区二区三区| 一级黄色片大全| 内射一区二区三区| 男人日女人网站| 国产免费一区二区三区最新不卡 | 亚洲高清一二三区| 亚洲欧美一区二区三区情侣bbw| 亚洲偷熟乱区亚洲香蕉av| 性猛交╳xxx乱大交| 91精品国产一区二区三区蜜臀 | 久热这里只精品99re8久| 久久青青草综合| 永久域名在线精品| 日韩av在线第一页| 精品国产午夜福利在线观看| 人妻体内射精一区二区| 久久久久无码国产精品不卡| 中文字幕久久久久| 狠狠综合久久久综合| 国产一区二区在线免费播放| 国产情侣av自拍| 日本xxxx免费| 我要看黄色一级片| 中文字幕人妻丝袜乱一区三区| 国产精品九九九九| 思思99精品视频在线观看| 美女高潮黄又色高清视频免费| 友田真希在线| 国产超级va在线视频| 亚洲成av在线| 欧美日韩精品在线一区| 天堂久久一区二区三区| 久久婷婷成人综合色| 狠狠躁夜夜躁人人爽超碰91| 精品福利一区二区三区免费视频| 欧美大胆a视频| 91精品中文在线| 艳母动漫在线免费观看| 亚洲精品在线视频播放| 国产传媒免费在线观看| 国产a级免费视频| 91www成人久久| 久青草国产在线| www.夜夜操| 小水嫩精品福利视频导航| av资源在线| 精品无人区麻豆乱码久久久| 毛片av一区二区三区| 中文字幕一区二区三区色视频 | 国产精品视频麻豆| 欧美日韩精品一区二区三区四区| 在线不卡国产精品| 亚洲av无码乱码在线观看性色| 天堂在线免费观看视频| 五月婷婷六月丁香综合| 成年免费视频黄网站在线观看| 青青草娱乐在线| 日韩欧美精品电影| 成人免费看片39| 国产一区欧美日韩| 黄色一区二区在线观看| 欧美激情无毛| 91首页免费视频| 在线观看一区日韩| 久久97精品久久久久久久不卡 | 欧美系列一区二区| 欧美成人午夜激情在线| 久久精品99| 亚洲综合伊人久久| 国产午夜免费福利| 国产精品冒白浆免费视频| 国产女人在线观看| 动漫视频在线一区| 久久er99精品| 欧美综合在线视频| 午夜精品视频网站| 欧洲金发美女大战黑人| 中文字幕成人动漫| 无码精品黑人一区二区三区| 性欧美精品孕妇| 欧美美女在线直播| 成人久久视频在线观看| 欧美一区二区播放| 91沈先生作品| 中文字幕日韩久久| ,亚洲人成毛片在线播放| gogo高清免费视频| 国产精久久一区二区| 美女爽到高潮91| 欧美在线视频你懂得| 国产成人精品久久| 韩国日本在线视频| 色av性av丰满av| 黄色无遮挡网站| 亚洲欧美一级| 国产综合色精品一区二区三区| 欧美三级蜜桃2在线观看| 日韩美女免费线视频| 日韩一级片播放| 亚洲天堂中文网| 影音先锋电影在线观看| 亚洲精品3区| 国产日产欧美一区二区视频| 一本大道亚洲视频| 久久99欧美| 在线视频第一页| 一二三四在线观看免费高清中文在线观看| 成人免费视频| 久久成人综合| 伊人夜夜躁av伊人久久| 久久久噜噜噜久久久| 青青草视频国产| 欧美国产在线看| 成人黄网18免费观看的网站| 日韩毛片免费看| 国产suv精品一区二区883| 欧美成人a∨高清免费观看| 9a蜜桃久久久久久免费| 韩国三级hd两男一女| 日本韩国在线观看| 青春草在线视频| 天堂av在线一区| 在线免费观看一区| 国产精品免费一区二区三区| 国产精品成av人在线视午夜片 | 日本色图欧美色图| 丁香高清在线观看完整电影视频| 亚洲一本视频| 欧美亚洲高清一区二区三区不卡| 成人做爽爽免费视频| 国产999免费视频| 天天综合永久入口| av影视在线看| 先锋影音久久久| 欧美日韩国产在线播放网站| 999国内精品视频在线| 老鸭窝一区二区| 日本大片在线看黄a∨免费| 欧美亚洲综合视频| 成人综合婷婷国产精品久久免费| 国产婷婷成人久久av免费高清| 亚洲一一在线| 欧美精品成人久久| 91天堂在线| 97精品视频在线看| 欧美自拍偷拍一区| 鲁丝一区二区三区免费| 国产一级免费av| 91久久影院| 国产精品av久久久久久麻豆网| 欧洲激情一区二区| 日韩av免费电影| 久久精品www| 日韩欧美在线番号| 影音先锋中文字幕一区二区| 日韩精品专区在线影院重磅| 好色先生视频污| 一区二区日韩视频| 美女视频在线免费| 久久这里只有精品首页| 国产成人综合亚洲| 国产精品麻豆免费版现看视频| 毛片手机在线观看| 亚洲经典视频在线观看| 日韩精品极品毛片系列视频| 男人操女人免费| 老少交欧美另类| 亚洲精品456| 欧美日韩成人在线一区| 日本黄网站色大片免费观看| 欧美 日韩 人妻 高清 中文| 亚洲午夜剧场| 午夜不卡av免费| 色女孩综合网| 精品国精品国产自在久不卡| 欧美gay视频| 中文字幕一区二区三区色视频| 午夜国产精品一区| 国产偷久久久精品专区| youjizz在线视频| 午夜欧美大片免费观看| 丰满少妇在线观看| 99国产牛牛视频在线网站| 国产一区二区观看| 日韩一区二区三区精品视频| 国产乱子伦农村叉叉叉| 99久免费精品视频在线观78| 欧美aaaaaaaaaaaa| 精品中文视频在线| 免费看的av网站| 美乳在线观看| 久久国产视频网| 国产不卡av在线免费观看| 久久久91视频| 日本蜜桃在线观看视频| 亚洲中国最大av网站| 亚洲啪啪av| 欧美乱强性伦xxxxx| 国产精品99久久久久久动医院| 国产亚洲精品v| 国产精品探花一区二区在线观看| www.精选视频.com| 国产精品99一区二区| 最新日韩中文字幕| 污污内射在线观看一区二区少妇| 黄页免费在线| 国产精品一区免费在线观看| 国产在线精品成人一区二区三区| 色一情一乱一伦| 狠狠色丁香婷婷| 亚洲激情专区| 97国产精品视频| 日韩视频免费观看高清| 中文字幕一区久| 色综合激情五月| 激情六月丁香婷婷| 猫咪成人官网| 日本特级黄色片| 625成人欧美午夜电影| 亚洲一卡二卡三卡四卡五卡| 黑人巨茎大战欧美白妇| 超碰在线91| 久久最新视频| 国产精品久久久久av免费| 日本黄色中文字幕| 日韩欧美高清一区二区三区| 91精品免费在线| 蜜臀av粉嫩av懂色av| 国产在线观看黄| 国产精品麻豆视频| 免费的av在线| 波霸ol色综合网| 大白屁股一区二区视频| 茄子视频成人在线观看| 成人精品第一区二区三区| 久久久蜜桃一区二区人| 国产精品久久久久久久久快鸭| 欧美日韩精品综合| 国产原创在线播放| 日韩1区2区3区| 99久久久精品免费观看国产| 天天干天天草天天射| 午夜国产精品视频免费体验区| 欧美最猛性xxxxx亚洲精品| 97久久人国产精品婷婷| 精品久久精品| 性色av一区二区三区免费| 亚洲天堂网视频| 成人亚洲一区二区| 欧美亚洲日本网站| 国精产品一品二品国精品69xx| 欧美永久精品| 国产精品美女呻吟| 香蕉视频免费看| 久久国产毛片| 国产亚洲自拍偷拍| 天堂网视频在线观看| 国产伦精品一区二区三区免费| 欧洲国产精品| 蜜桃av网站| 国产欧美日韩激情| 国内外免费激情视频| 成年人视频在线看| 欧亚洲嫩模精品一区三区| 亚洲欧美在线不卡| 欧美free嫩15| 国产亚洲在线播放| 亚洲国产精品无码久久久| 99精品视频在线| 国产欧美在线播放| 国产三级电影| 国产成人av电影在线播放| 伦av综合一区| 久久99精品这里精品3| 玖玖精品视频| 欧美日韩在线高清| 先锋影音av资源网| 国产精品久久久久久户外露出 | 亚洲精选国产| 国产精品白丝jk白祙| 免费网站观看电影入口| 26uuu色噜噜精品一区二区| 免费观看精品视频| 18av在线播放| 日韩精品极品在线观看| 无码人妻一区二区三区线| 欧美精品国产一区二区| 久久精品国产精品国产精品污 | 九九精品在线| 91福利视频在线观看| av电影网站在线观看| 欧美成人毛片| 欧美俄罗斯性视频| 美女禁区视频免费观看精选| 国产美女主播视频一区| www..com日韩| 99久久精品免费观看国产| 亚洲成成品网站| 日韩精品在线观看免费| 亚洲黄色三级| 宅男噜噜99国产精品观看免费| 欧美新色视频| 欧美一区二区福利在线| 最新日本视频| 日韩精品亚洲aⅴ在线影院| 欧美黄色小视频| 台湾佬成人中文网222vvv| 国产精品99久久久久久久女警| 欧美啪啪免费视频| 久久免费电影| 中文字幕亚洲欧美在线| 日韩在线视频第一页| 成人精品在线视频观看| 日韩成人精品视频在线观看| 成人四虎影院| 日韩免费观看网站| 黄色网址免费在线| 精品成人在线视频| 久青草免费视频| 亚洲专区免费|