亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? game.asm

?? 編了個簡單的游戲
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
; Copyleft (c) 2007,God reserved all rights.
; 
; 文件名稱:game.asm
; 
; 當前版本:0.13
; 作    者:鄒偉
; 摘	要:各主要子程序都在此間
; 說	明:程序中用于輸出字符的位置未加說明則默認為相對于游戲區域左上角即(GM_LEFT,GM_TOP)

public setDSAndES , GA_gameInit , GA_gameCircle , stackPoint
extern main_quit:far,restart_the_game:far
include game.h
;設置塊坐標的宏
assignPos macro x,y
	mov (Brick ptr [si]).b_sPos.pos_bX,x
	mov (Brick ptr [si]).b_sPos.pos_bY,y
	add si,size Brick 
endm
assignBase macro x,y
	mov (ManyBrick ptr [di]).mb_sPos.pos_bX,x
	mov (ManyBrick ptr [di]).mb_sPos.pos_bY,y
endm

assume cs:GameCode,ds:MainData,ss:StackSpase
GameCode segment	
	;游戲循環---不斷獲取輸入,根據與定義規則合理的轉化為輸出
	GA_gameCircle proc far
	    GA_gameCircle_again:
	    	mov dir,KEY_WRONG_DIR
	    	lea bx,levelFPS
	    	mov di,level
	    	add di,challenge
	    	cmp di,LEVEL_LIMITT
	    	jbe level_ok
	    	mov di,LEVEL_LIMITT
	    level_ok:
	      	shl di,1
	      	mov cx,[bx+di]
	    	   wast_time:
			call delay
			cmp dir,KEY_WRONG_DIR
			je may_be_life_is_long
			call Brick_goNext
			mov dir,KEY_WRONG_DIR
			call ManyBrick_drawSelf
		   may_be_life_is_long:
		   loop wast_time			   		   
		   	cmp dir,KEY_WRONG_DIR		   		   
		   	jz user_press_no_dir_key
			call Brick_goNext
		    user_press_no_dir_key:
			mov dir,DIR_DOWN
			call Brick_goNext
		cmp game.ga_state,GS_OVER
		jz GA_over		
		call ManyBrick_drawSelf		
	   jmp GA_gameCircle_again
	   GA_over:
	   	call doGameOver
		ret
	GA_gameCircle endp	
	;每次游戲開始時的初始化調用
	GA_gameInit proc far
		call clrScreen
		;hide the cursor
		mov ch,020h
		mov cl,020h
		mov ah,01h
		int 10h
		;初始化隨機序列的第一個數,讀取BIOS提供的當前秒
		xor al,al
		out 70h,al
		in ax,71h		
		mov seed,ax
		;初始化,如:得分,游戲狀態,游戲地圖
		mov challenge,0
		mov game.ga_score,0
		mov game.ga_state,GS_RUNNING
		lea di,game.ga_map
		mov cx,GM_HEIGHT		
		cld
		xor ax,ax
		rep stosw
		mov nextNO,0
		call MB_gernicNext
		call MB_gernicNext
		call drawNextBrick
		call moreBeautiful
		;show some strings
		mov si,offset scoreStr
		mov dl,X_SCORE_STR
		mov dh,Y_SCORE_STR
		mov cx,6
		call showStr

		mov si,offset levelStr
		mov dl,X_LEVEL_STR
		mov dh,Y_LEVEL_STR
		mov cx,6
		call showStr

		mov si,offset levelDeltStr
		mov dl,X_adjustLevelDelt_STR
		mov dh,Y_adjustLevelDelt_STR
		mov cx,10
		call showStr

		mov si,offset modeStr
		mov dl,X_MODE_STR
		mov dh,Y_MODE_STR
		mov cx,10
		call showStr
	
		mov si,offset usageStr
		mov dl,-GM_LEFT
		mov dh,-4
		mov cx,usageStrCNT
		call showStr
		mov si,offset usageStrEx
		mov dl,-GM_LEFT
		mov dh,-3
		mov cx,usageStrExCNT
		call showStr
		mov si,offset linkToCoderStr
		mov dl,-GM_LEFT
		mov dh,-2
		mov cx,linkToCoderCNT
		call showStr		

		;show some digitials
		call showScore
		call calcLevel
		call showadjustLevelDelt
		call showMode
		ret
	GA_gameInit endp
	;全局初始化,調用一次,設置DS,ES指向同一個數據段,程序運行過程中不再改變
	setDSAndES proc far
		mov ax,MainData
		mov ds,ax
		mov es,ax
		ret
	setDSAndES endp
	;判斷游戲區域(dl,dh)位置是否為空
	;in  : dl-->x, dh-->y
	;out : flag register 
	isPosNotEmpty proc
		push dx
		push bx
		push ax
		push cx
		push di
		push si
		mov si,curMB
		mov si,(ManyBrick ptr [si]).mb_bCnt
		;ax--mask,第dl位置1
		mov ax,1
		mov cl,dl
		shl ax,cl		
		lea di,game.ga_map
		;map+2*dh 
		xor bh,bh
		mov bl,dh
		shl bl,1		
	   only_one_brick:
		and ax,[bx+di]
		je is_pos_empty_out
		cmp si,1
		jne is_pos_empty_out
		cmp bx,(2*GM_HEIGHT-2)
		je is_pos_empty_out_pre
		add bx,2
	   jmp only_one_brick
	   	;ensure the result is correct
	   is_pos_empty_out_pre:
	   	cmp bx,0
	   is_pos_empty_out:
	   	pop si
		pop di
		pop cx
		pop ax
		pop bx
		pop dx
		ret
	isPosNotEmpty endp
	;判斷游戲是否結束
	isGameOver proc
		push bx
		mov bx,curMB
		cmp (ManyBrick ptr [bx]).mb_sPos.pos_bY,Y_START		
	    jne still_alive
		;游戲的確結束了
		mov game.ga_state,GS_OVER
		call doGameOver
	    still_alive:
		pop bx
		ret
	isGameOver endp
	;游戲結束后,調用此過程,顯示一些提示信息,待等用戶下一步指示,重玩或退出
	doGameOver proc	   
		call clrScreen	
		call moreBeautiful
		mov si,offset gameOverStr
		mov cx,45
		mov dl,X_GAME_OVER ;x
		mov dh,Y_GAME_OVER ;y
		call showStr		
		mov ax,game.ga_score		
		mov cx,43
		call AXModCX
		and ax,3
		mov di,ax
		shl di,1
		mov cx,judgeCnt[di]		
		mov si,judgeTable[di]
		mov dl,X_JUDGE_STR
		mov dh,Y_JUDGE_STR
		call showStr
		mov al,CHAR_BRICK
	    wait_for_restart:
	    	call randomDraw
	    	call delay
	    jmp wait_for_restart
		ret
	doGameOver endp
	;in : ax--ax0, cx--cx0
	;out: ax=ax0/cx0, cx=ax0%cx0
	AXModCX	proc
		push dx
		xor dx,dx
		div cx
		mov cx,dx
		pop dx
		ret
	AXModCX endp
	;信手涂鴉
	randomDraw proc
		push dx
		push bx
			push ax
			call getRand
			mov cx,GM_WIDTH
			call AXModCX
			mov dl,cl
			call getRand
			mov cx,GM_HEIGHT
			call AXModCX
			mov dh,cl
			call getRand
			and al,7
			or al,8
			mov bl,al
			pop ax
			call drawBrick
		pop bx
		pop dx
		ret
	randomDraw endp
	;游戲暫停時調用此過程,顯示提示信息,按任意鍵繼續
	doGamePaused proc	
		push si
		push cx
		push dx
		push ax		
		mov si,offset gamePausedStr
		mov cx,46 ;46 chars
		mov dl,0 ;x
		mov dh,GM_HEIGHT/2;y
		call showStr				
		call waitForKeyPress
	    	mov game.ga_state,GS_RUNNING 	
	    	mov dl,0
	    	mov dh,GM_HEIGHT/2
		mov al,CHAR_CLEAR
		mov cx,46 ;46 chars
	    erase_paused_words:
		mov bl,COLOR_CLEAR
	    	call drawBrick
	    	inc dl
	    loop erase_paused_words
	    	call moreBeautiful
	    	call drawMap
	    	call ManyBrick_drawSelf
	    	pop ax
	    	pop dx
	    	pop cx
	    	pop si
		ret
	doGamePaused endp
	;clear the screen
	clrScreen proc
		push ax		
		mov ah,00h
		mov al,03h
		int 10h
		pop ax
		ret
	clrScreen endp
	;游戲完成時跳轉到此,表示對極富耐心者的景仰^_^,并退出游戲
	doGameFinished:
		call clrScreen
		call moreBeautiful
		mov si,offset gameFinishedStr
		mov cx,58 ;58 chars
		mov dl,-GM_LEFT+5
		mov dh,-2
		call showStr
	   dGF_keybuf_empty:
	   	call getRand
	   	call randomDraw
	   	mov ah,1
	   	int 16h	   	
	   jz dGF_keybuf_empty
		jmp main_quit
	;等待直到有鍵被按下
	waitForKeyPress proc
		push ax
	    key_buf_empty:
		mov ah,1
		int 16h		
	    jz key_buf_empty
	    	;ignore the key just press
	    	mov ah,0
		int 16h
	    	pop ax
		ret
	waitForKeyPress endp
	;方塊下落停止時,設置當前下落方塊所占用的地圖位置,并消除滿行
	lastBattle proc
		call ManyBrick_setMap
		call checkFull
		ret
	lastBattle endp
	;若map數組相應為置位 則在相應位置顯示一個方塊
	drawMap proc
		push ax
		push dx
		push bx
		push cx
		push si
		push di
		lea si,game.ga_map
		mov cx,GM_HEIGHT
		xor dh,dh		
	   drawMap_outer:
	   		push cx
	   		mov cx,GM_WIDTH
	   		xor dl,dl
	   		mov di,1
	   		push si
	   		mov si,[si]
	   		mov ah,3
	   	   drawMap_inner:
			mov bl,3
			sub bl,ah
			mov ah,bl
	   	   	test si,di
	   	   	jz clear_it
	   	   	;draw a brick
			mov al,CHAR_BRICK
			mov bl,COLOR_DIED_BRICK	   	   	
	   	   	jmp draw_map_over	   	   	
	   	   clear_it:
	   	   	cmp mode,2
	   	   jne ignor_background
	   	   	mov al,'|'
	   	   	mov bl,ah
	   	   	jmp draw_map_over
	   	   ignor_background:
			mov al,CHAR_CLEAR
			mov bl,COLOR_CLEAR
	   	   draw_map_over:
	   	   	call drawBrick
	   	   	inc dl
	   	   	shl di,1
	   	   loop drawMap_inner
	   	   	pop si	   	   
	   	   	pop cx
	   	add si,2
	   	inc dh
	   loop drawMap_outer
	   	pop di
	   	pop si
	   	pop cx
		pop bx
		pop dx
		pop ax
		ret
	drawMap endp
	;檢查是否有滿行的情況,滿則消除,并增加得分...
	checkFull proc
		push ax
		push bx
		push cx
		push dx
		xor dx,dx ;此次能消除的行數
		lea bx,game.ga_map
		add bx,2*(GM_HEIGHT-1)		
		mov cx,GM_HEIGHT
	   check_full_again:
	   	mov ax,[bx]
	   	cmp ax,GM_MASK
	   	jne brick_not_full
	   	inc dx
	   	call mapScrollDown
	   loop check_full_again
	   brick_not_full:
	   	sub bx,2
	   loop check_full_again
	   	test dx,dx
	   	jz get_zero_score
	   		;此次得分:2*行數-1
	   		shl dx,1
	   		dec dx
	   		add game.ga_score,dx
			call calcLevel	   	
	   		call showScore
	   get_zero_score:
	   	pop dx
	   	pop cx
	   	pop bx
	   	pop ax
		ret
	checkFull endp
	;根據得分計算當前關數
	calcLevel proc
		push ax
		push bx
		push cx
		mov bx,offset levelScoreLast		
		xor ah,ah
		mov cx,LEVEL_LIMITT
	   add_level_again:
	   	mov al,[bx]
	   	cmp game.ga_score,ax
	   	jae  calc_level_out
	   	dec bx
	   loop add_level_again
	   calc_level_out:	   				
		mov level,cx
		cmp level,LEVEL_LIMITT
		jb game_unfinished
		add sp,6
		jmp doGameFinished
	   game_unfinished:
	    	call showLevel
		pop cx
		pop bx
		pop ax
		ret
	calcLevel endp
	;顯示當前關
	showLevel proc
		push dx
		push bx
		push ax
		mov bl,COLOR_NUMBER
		mov dl,X_LEVEL_POS
		mov dh,Y_LEVEL_POS
		mov ax,level
		call showInt
		pop ax
		pop bx
		pop dx
		ret
	showLevel endp
	;顯示當前得分
	showScore proc
		push dx
		push bx
		push ax
		mov bl,COLOR_NUMBER
		mov dl,X_SCORE_POS
		mov dh,Y_SCORE_POS
		mov ax,game.ga_score
		call showInt
		pop ax
		pop bx
		pop dx
		ret
	showScore endp	
	;顯示當前自動提升的關數
	showAdjustLevelDelt proc
		push dx
		push bx
		push ax
		mov bl,COLOR_NUMBER
		mov dl,X_adjustLevelDelt_POS
		mov dh,Y_adjustLevelDelt_POS
		mov ax,challenge
		call showInt
		pop ax
		pop bx
		pop dx
		ret
	showAdjustLevelDelt endp	
	showMode proc
		push dx
		push bx
		push ax
		mov bl,COLOR_NUMBER
		mov dl,X_MODE_POS
		mov dh,Y_MODE_POS
		mov ax,mode
		call showInt
		call drawMap
		pop ax
		pop bx
		pop dx
		ret		
		ret
	showMode endp
	;在(dl,dh)為起始的位置顯示ax中的一個整數
	;in :	ax--the integer to be show
	;	dl--x , dh--y;
	showInt	proc
		push cx
		push si
		push di
		xor di,di
		mov cx,10
	    show_int_again:
	    	inc di
	    	push dx
	    	xor dx,dx
	    	;dx:ax /cx, ax  ,dx
	    	div cx
	    	mov si,ax
	    	mov al,dl
	    	pop dx
	    	add al,30h
		call drawBrick
		dec dl
		mov ax,si
		cmp ax,0		
	    jnz show_int_again
	    	cmp di,1
	    jne no_need_to_clear
		mov al,CHAR_CLEAR
		push bx
		mov bl,COLOR_CLEAR
	    	call drawBrick
	    	pop bx
	    no_need_to_clear:
	    	pop di
	    	pop si
	    	pop cx
		ret
	showInt endp
	;在(X_NEXT_BRICK,Y_NEXT_BRICK)處顯示下一個將要下落的方塊s
	drawNextBrick proc
		push bx
		push dx
		;first clear the last draw
		mov bx,curMB
		mov dx,WORD ptr (ManyBrick ptr [bx]).mb_sPos.pos_bX 
		mov (ManyBrick ptr [bx]).mb_sPos.pos_bX ,X_NEXT_BRICK
		mov (ManyBrick ptr [bx]).mb_sPos.pos_bY ,Y_NEXT_BRICK
		call ManyBrick_clearCur
		mov WORD ptr (ManyBrick ptr [bx]).mb_sPos.pos_bX,dx
		;second draw the next-brick
		mov bx,nextMB
		mov dx,WORD ptr (ManyBrick ptr [bx]).mb_sPos.pos_bX 
		mov (ManyBrick ptr [bx]).mb_sPos.pos_bX ,X_NEXT_BRICK
		mov (ManyBrick ptr [bx]).mb_sPos.pos_bY ,Y_NEXT_BRICK
		xchg bx,curMB
		call ManyBrick_drawSelf
		xchg curMB,bx
		mov WORD ptr (ManyBrick ptr [bx]).mb_sPos.pos_bX,dx
		pop dx
		pop bx
		ret
	drawNextBrick endp
	;游戲區域對應map數組在bx行處下卷,即清除bx所在行
	;in:	bx --the line to be clear
	mapScrollDown proc
		push bx
		push ax
		push cx
		dec cx
		je scroll_over
		push si
		push di
		mov di,bx
		lea si,[di-2]		
		std
	   	rep movsw
		pop di
		pop si
	   scroll_over:
	   	mov game.ga_map,0
	   	call drawMap
		pop cx
		pop ax
		pop bx
		ret
	mapScrollDown endp
	;根據當前下落的方塊所在位置設置游戲區域所代表的map數組
	ManyBrick_setMap proc
		push ax
		push bx
		push cx
		push dx
		push si
		push di
		push bp
		lea di,game.ga_map		
		mov bx,curMB
		mov cx,(ManyBrick ptr [bx] ).mb_bCnt
		lea si,(ManyBrick ptr [bx] ).mb_sBrick
		lea bp,(ManyBrick ptr [bx]).mb_sPos
	   setMap_again:		
			mov dh,(Brick ptr [si]).b_sPos.pos_bY
			add dh,ds:(Pos ptr[bp]).pos_bY
			mov dl,(Brick ptr [si]).b_sPos.pos_bX
			add dl,ds:(Pos ptr[bp]).pos_bX
			call isPosLeagel
			js setMap_ignore
			cmp dh,0
			js setMap_ignore			
			;map[dh]
			mov bl,dh
			shl bl,1
			xor bh,bh			
			;bx--&map[dh]
			lea bx,[bx+di]
			mov ax,1
			push cx
			mov cl,dl
			shl ax,cl
			pop cx
			or [bx],ax
	   	   setMap_ignore:
	   	add si,size Brick
	   	loop setMap_again
	   	cmp mode,0
	   jz color_stay
	   	call drawMap
	   color_stay:	   	
	   	pop bp
	   	pop di	   	
	   	pop si
	   	pop dx
		pop cx
		pop bx
		pop ax	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美洲天堂一区二卡三卡四卡视频| 成人黄色片在线观看| 蜜臀久久久久久久| 日韩av一区二| 久久激五月天综合精品| 国内精品免费在线观看| 国产一本一道久久香蕉| 99久久伊人精品| 欧美中文字幕一区二区三区| 欧美精品久久天天躁| 精品免费视频一区二区| 国产精品麻豆久久久| 亚洲国产婷婷综合在线精品| 免费av网站大全久久| 成人a级免费电影| 欧美二区在线观看| 亚洲国产精品高清| 日韩二区三区四区| 99久久婷婷国产综合精品电影 | 国产婷婷色一区二区三区四区| 亚洲同性gay激情无套| 午夜精品久久久久久久99水蜜桃 | 一本久久a久久精品亚洲| 欧美一级黄色片| 亚洲欧美福利一区二区| 狠狠色丁香久久婷婷综合_中 | 日韩综合一区二区| 99在线精品观看| 久久久久久久久蜜桃| 午夜欧美在线一二页| 91麻豆精品视频| 久久久久青草大香线综合精品| 亚洲一级二级三级| 96av麻豆蜜桃一区二区| 日本一区二区三级电影在线观看 | 精品少妇一区二区三区在线播放| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲日韩欧美一区二区在线| 九九热在线视频观看这里只有精品| 色天使久久综合网天天| 国产精品国产自产拍高清av| 国产jizzjizz一区二区| 久久精品亚洲乱码伦伦中文| 免费成人在线视频观看| 欧美一区二区福利在线| 首页综合国产亚洲丝袜| 欧美日韩亚洲综合| 日韩高清国产一区在线| 日韩精品中文字幕在线不卡尤物| 日本v片在线高清不卡在线观看| 欧美日韩成人一区| 蜜芽一区二区三区| 久久久综合九色合综国产精品| 国产精品伊人色| 国产精品久久久久久久第一福利| 99久久婷婷国产综合精品电影| 亚洲欧美一区二区不卡| 日本电影亚洲天堂一区| 午夜精品成人在线| 久久免费午夜影院| 国产成人啪午夜精品网站男同| 中文天堂在线一区| 欧美老肥妇做.爰bbww视频| 美女精品自拍一二三四| 国产欧美一区二区三区在线老狼| 在线视频一区二区免费| 天天影视涩香欲综合网| 国产日韩欧美一区二区三区乱码| 在线视频综合导航| 国产乱码字幕精品高清av | 色系网站成人免费| 久久er99精品| 亚洲综合色成人| 久久久久国产精品免费免费搜索| 在线亚洲免费视频| 粗大黑人巨茎大战欧美成人| 中文在线一区二区 | 欧美挠脚心视频网站| 国产在线精品视频| 香蕉久久一区二区不卡无毒影院| 日韩欧美高清一区| 欧美系列一区二区| 成人av在线一区二区三区| 日本中文一区二区三区| 亚洲免费观看高清完整版在线| 精品播放一区二区| 在线观看91精品国产麻豆| 一本色道久久综合狠狠躁的推荐 | 日本一区二区三区久久久久久久久不 | www.日韩在线| 国精产品一区一区三区mba视频 | 4438成人网| 欧美亚洲另类激情小说| 色婷婷综合久久久久中文 | 欧美无人高清视频在线观看| 亚洲丝袜美腿综合| 精品久久久久一区二区国产| 欧美中文字幕一二三区视频| 丰满少妇久久久久久久| 精品一区二区三区香蕉蜜桃| 免费高清在线视频一区·| 天天综合网 天天综合色| 天堂一区二区在线免费观看| 亚洲成人精品一区| 人妖欧美一区二区| 国内精品久久久久影院色| 国产麻豆午夜三级精品| 国产成人午夜精品影院观看视频 | 91网上在线视频| 成人精品鲁一区一区二区| 国产精品久久久久桃色tv| 91精品国产美女浴室洗澡无遮挡| 欧美日韩夫妻久久| 日韩美女一区二区三区四区| 久久综合一区二区| 中文字幕av免费专区久久| 亚洲视频免费观看| 天堂一区二区在线免费观看| 美女免费视频一区| av动漫一区二区| 色偷偷88欧美精品久久久| 欧美精品亚洲二区| 久久嫩草精品久久久精品一| 亚洲三级在线观看| 亚洲福利一二三区| 国产91富婆露脸刺激对白| 91视频xxxx| 欧美变态tickling挠脚心| 国产精品久久久久久久久晋中| 亚洲www啪成人一区二区麻豆| 国产精品久久久久三级| 天天爽夜夜爽夜夜爽精品视频| 韩国精品久久久| 欧美日韩大陆一区二区| 欧美国产视频在线| 精品在线一区二区三区| 日本韩国欧美国产| 国产精品久久精品日日| 久久er精品视频| 欧美老肥妇做.爰bbww| 亚洲欧美区自拍先锋| 国产91精品一区二区麻豆亚洲| 91精品国产欧美日韩| 夜夜嗨av一区二区三区四季av | 国产女人aaa级久久久级| 蜜臀av一级做a爰片久久| 95精品视频在线| 中文字幕视频一区| av资源站一区| 中文字幕va一区二区三区| 国内精品免费在线观看| 欧美日韩高清一区| 亚洲欧洲精品一区二区三区不卡| 麻豆91免费看| 6080日韩午夜伦伦午夜伦| 亚洲一区在线观看视频| 国产成人在线影院| 欧美mv和日韩mv的网站| 国产伦精品一区二区三区免费迷 | 国产精品家庭影院| 成人深夜福利app| 中文字幕一区三区| 99精品国产一区二区三区不卡| 中文字幕一区二区三| 97se亚洲国产综合自在线观| 一区二区三区在线播放| 色菇凉天天综合网| 亚洲第一av色| 日韩免费观看2025年上映的电影| 另类的小说在线视频另类成人小视频在线 | 日韩激情视频网站| 久久一区二区视频| 99精品国产热久久91蜜凸| 尤物在线观看一区| 日韩一区二区精品| 成人伦理片在线| 亚洲成人资源网| 久久久久久一二三区| 欧洲生活片亚洲生活在线观看| 五月婷婷综合网| 亚洲欧洲日产国码二区| 欧美午夜精品久久久久久超碰| 午夜不卡av在线| 国产农村妇女毛片精品久久麻豆| 在线亚洲人成电影网站色www| 久久综合综合久久综合| 亚洲欧美日韩国产一区二区三区 | 亚洲免费观看高清完整| 精品福利一二区| 欧美午夜宅男影院| 国产成人精品aa毛片| 免费观看成人鲁鲁鲁鲁鲁视频| 一区二区在线观看av| 久久久久免费观看| 日韩一二三四区| 欧美中文字幕一区| 一本大道综合伊人精品热热| 国产精品一二三四区| 另类综合日韩欧美亚洲| 午夜精品成人在线|