亚洲欧美第一页_禁久久精品乱码_粉嫩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在线网站| 日韩美女一区二区三区四区| 69久久夜色精品国产69蝌蚪网| 日韩欧美高清在线| 一区二区三区视频在线看| 韩国三级电影一区二区| 欧美日韩精品免费观看视频| 亚洲国产精品高清| 久久精品国产999大香线蕉| 欧美亚洲综合久久| 亚洲欧洲精品一区二区三区| 老司机午夜精品| 欧美人妖巨大在线| 依依成人综合视频| 一本大道久久a久久综合婷婷| 精品久久久久久久久久久院品网| 亚洲一区二区美女| 色婷婷综合视频在线观看| 亚洲国产激情av| 国产成人精品一区二区三区四区| 日韩精品专区在线影院重磅| 亚洲成人免费视| 欧美日韩色一区| 亚洲伊人色欲综合网| av不卡免费电影| 国产精品国产自产拍高清av王其| 国产一区二区不卡老阿姨| 日韩精品中文字幕一区| 美国十次综合导航| 日韩视频国产视频| 久久国产精品第一页| 欧美v亚洲v综合ⅴ国产v| 日日噜噜夜夜狠狠视频欧美人| 欧美伊人久久大香线蕉综合69| 日韩一区在线播放| 色综合久久66| 亚洲激情中文1区| 欧美手机在线视频| 三级成人在线视频| 日韩欧美激情一区| 国产成人免费视频网站 | 欧美一级一级性生活免费录像| 一区二区三区四区精品在线视频 | 国产美女久久久久| 亚洲国产精品成人综合| 成人中文字幕电影| 亚洲人成在线观看一区二区| 在线免费观看日韩欧美| 亚洲午夜电影网| 日韩一区二区精品在线观看| 另类的小说在线视频另类成人小视频在线 | 国产激情一区二区三区桃花岛亚洲| 久久婷婷综合激情| av电影在线观看一区| 亚洲18色成人| 国产亚洲1区2区3区| 色综合天天综合| 日韩中文字幕一区二区三区| 精品少妇一区二区三区| 成人精品视频一区| 舔着乳尖日韩一区| 精品国产乱码久久久久久老虎| 国产激情一区二区三区桃花岛亚洲| 亚洲日本在线天堂| 日韩欧美一区二区免费| 波多野结衣亚洲一区| 亚洲sss视频在线视频| 久久这里只有精品6| 色94色欧美sute亚洲线路二| 久久精品理论片| 国产精品高清亚洲| 欧美一二区视频| 成人午夜在线免费| 日本欧美一区二区| 亚洲欧美视频在线观看| 91精品婷婷国产综合久久性色 | 日韩av电影天堂| 国产网站一区二区三区| 欧美精品在线一区二区三区| 国产成人超碰人人澡人人澡| 亚洲一区二区四区蜜桃| 欧美视频一二三区| 成人app网站| 国产精品一卡二| 日韩在线卡一卡二| 亚洲免费看黄网站| 国产精品三级电影| 欧美精品一区二区三区蜜桃| 91.com视频| 色综合网色综合| 国产麻豆视频一区二区| 肉丝袜脚交视频一区二区| 国产精品久久久久影院亚瑟| 欧美日韩一级二级三级| 国产91精品精华液一区二区三区 | 欧美日韩成人一区二区| 国产电影精品久久禁18| 天堂午夜影视日韩欧美一区二区| 欧美一区二区三区白人| 91免费在线看| 国产一区二区不卡在线| 亚洲18色成人| 亚洲午夜久久久久久久久电影院| 精品国产一区二区三区久久久蜜月 | 国产成人精品免费在线| 亚洲mv大片欧洲mv大片精品| 中国色在线观看另类| 日韩欧美激情在线| 欧美日本韩国一区二区三区视频| 在线观看免费视频综合| 成人听书哪个软件好| 精品在线播放午夜| 一区二区三区中文字幕在线观看| 精品免费视频.| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩久久不卡| 色一情一乱一乱一91av| 成人午夜在线免费| 成人免费视频网站在线观看| 国内成+人亚洲+欧美+综合在线 | 91美女福利视频| 国产自产视频一区二区三区| 欧美一级一级性生活免费录像| 精品亚洲成a人在线观看| 日韩在线观看一区二区| 亚洲高清视频在线| 久久国产剧场电影| 蜜桃传媒麻豆第一区在线观看| 日本在线观看不卡视频| 麻豆精品国产传媒mv男同| 国产在线不卡一区| 国产精品一二三四区| 99精品黄色片免费大全| 成人av动漫网站| 色婷婷av一区| 欧美日韩免费一区二区三区视频| 日韩一区二区电影在线| 欧美一区2区视频在线观看| 欧美精品一区二区不卡| 久久久精品国产免费观看同学| 国产欧美日韩精品一区| 国产精品婷婷午夜在线观看| 欧美激情一区二区在线| 久久精品人人做人人爽人人| 亚洲黄色性网站| 亚洲成av人**亚洲成av**| 日本aⅴ亚洲精品中文乱码| 久久精品免费观看| 国产乱码精品一区二区三区av | 成人av网址在线观看| 欧美视频在线不卡| 91精品国模一区二区三区| 久久久综合网站| 亚洲男同性恋视频| 欧美a级一区二区| 国产一区二区久久| 91女神在线视频| 欧美变态口味重另类| 国产精品久久久久aaaa樱花| 亚洲v精品v日韩v欧美v专区 | 久久久影视传媒| 亚洲影院理伦片| 91首页免费视频| 欧美伦理电影网| 亚洲女人小视频在线观看| 香蕉加勒比综合久久| a亚洲天堂av| 91精品国产综合久久精品app| 国产日韩欧美综合在线| 亚洲国产美国国产综合一区二区| 成人午夜视频网站| 欧美日韩精品欧美日韩精品| 亚洲你懂的在线视频| 久久99精品一区二区三区| 91网站视频在线观看| 欧美精品一区二| 亚洲男女一区二区三区| 韩国一区二区视频| 91久久精品国产91性色tv| 精品日韩欧美在线| 国产色爱av资源综合区| 免费成人美女在线观看.| 色吧成人激情小说| 精品国产一区a| 亚洲第一在线综合网站| 成人午夜免费电影| 欧美一区二区三区影视| 亚洲男人天堂一区| 大胆亚洲人体视频| 51午夜精品国产| 天天综合色天天综合| 99在线热播精品免费| 26uuu精品一区二区| 三级影片在线观看欧美日韩一区二区| 欧美亚洲国产一卡| 亚洲欧美一区二区三区久本道91| 国产美女精品人人做人人爽| 精品污污网站免费看| 欧美大片免费久久精品三p| 国产精品三级av在线播放|