日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux控制台单人五子棋简书,实现一个质量过硬五子棋

發(fā)布時間:2024/3/26 linux 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux控制台单人五子棋简书,实现一个质量过硬五子棋 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

測試棋力在相同配置下,初級水平基本相當于五子棋大師的特級大師水平。

一樓上圖:

主頁面.png

五子棋的引擎和自定義控件我封裝在lib中,可以通過

implementation 'win.regin:renju:1.0.0'來引用,而ndk的調(diào)用類Ai是用kotlin編寫的,上傳的時候傳不上去,做為一個jar包引用了。

五子棋自定義控件代碼,關(guān)鍵地方有注釋:

package win.regin.renju;

import android.annotation.SuppressLint;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Point;

import android.util.AttributeSet;

import android.view.MotionEvent;

import android.view.View;

import java.util.ArrayList;

import java.util.List;

/**

* @author :Reginer in 2018/7/9 20:00.

* 聯(lián)系方式:QQ:282921012

* 功能描述:

*/

public class RenjuView extends View {

/**

* 棋盤面板寬度

*/

private int mPanelWidth;

/**

* 棋盤每格的行高

*/

private float mLineHeight;

/**

* 棋盤尺寸

*/

private static final int MAX_LINE = 15;

/**

* 棋子占行高比例

*/

private float ratioPieceOfLineHeight = 0.9f;

private float startPos;

private float endPos;

/**

* 白棋數(shù)組

*/

private ArrayList mWhiteArray = new ArrayList<>();

/**

* 黑棋數(shù)組

*/

private ArrayList mBlackArray = new ArrayList<>();

/**

* 棋盤數(shù)組

*/

private ArrayList chessArray = new ArrayList<>();

private int[][] mBoard = new int[MAX_LINE][MAX_LINE];

/**

* 勝利玩家

*/

private int mWinner;

/**

* 連成五個的棋子

*/

private ArrayList fiveArray = new ArrayList<>();

/**

* 游戲是否結(jié)束

*/

private boolean mIsGameOver = false;

private int gameMode = RenjuConstant.HUMAN_COMPUTER;

/**

* 玩家以及AI得分紀錄

*/

private int userScore, aiScore;

/**

* 玩家執(zhí)子

*/

private int userChess;

/**

* 當前回合是否輪到玩家

*/

private boolean isUserBout;

/**

* 顯示棋子編號

*/

private boolean isDrawChessNum = true;

private RenjuCallback callBack;

private Paint mPaint = new Paint();

private Bitmap mWhitePiece;

private Bitmap mBlackPiece;

private Point suggestPoint;

public RenjuView(Context context) {

this(context, null);

}

public RenjuView(Context context, AttributeSet attrs) {

this(context, attrs, 0);

}

public RenjuView(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

mPaint.setColor(Color.BLACK);

//抗鋸齒

mPaint.setAntiAlias(true);

mPaint.setDither(true);

mPaint.setStyle(Paint.Style.STROKE);

mPaint.setTextSize(24);

mPaint.setTextAlign(Paint.Align.CENTER);

mWhitePiece = BitmapFactory.decodeResource(getResources(), R.drawable.ic_white_chess);

mBlackPiece = BitmapFactory.decodeResource(getResources(), R.drawable.ic_black_chess);

userScore = 0;

aiScore = 0;

start();

}

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int widthSize = MeasureSpec.getSize(widthMeasureSpec);

int widthMode = MeasureSpec.getMode(widthMeasureSpec);

int heightSize = MeasureSpec.getSize(heightMeasureSpec);

int heightMode = MeasureSpec.getMode(heightMeasureSpec);

int measureSize = Math.min(widthSize, heightSize);

if (widthMode == MeasureSpec.UNSPECIFIED) {

measureSize = heightSize;

} else if (heightMode == MeasureSpec.UNSPECIFIED) {

measureSize = widthSize;

}

setMeasuredDimension(measureSize, measureSize);

}

@Override

protected void onSizeChanged(int w, int h, int oldW, int oldH) {

super.onSizeChanged(w, h, oldW, oldH);

mPanelWidth = w;

float outLine = 10.0f;

mLineHeight = (mPanelWidth * 1.0f - 2.0f * outLine) / MAX_LINE;

startPos = outLine;

endPos = w - outLine;

int pieceSize = (int) (mLineHeight * ratioPieceOfLineHeight);

mWhitePiece = Bitmap.createScaledBitmap(mWhitePiece, pieceSize, pieceSize, false);

mBlackPiece = Bitmap.createScaledBitmap(mBlackPiece, pieceSize, pieceSize, false);

}

private Point getValidPoint(int x, int y) {

return new Point((int) (x / mLineHeight), (int) (y / mLineHeight));

}

public int getChessCount() {

return chessArray.size();

}

public void removeLastChess() {

Point p = chessArray.get(chessArray.size() - 1);

chessArray.remove(chessArray.size() - 1);

if (mBoard[p.y][p.x] == RenjuConstant.BLACK_CHESS) {

mBlackArray.remove(mBlackArray.size() - 1);

} else if (mBoard[p.y][p.x] == RenjuConstant.WHITE_CHESS) {

mWhiteArray.remove(mWhiteArray.size() - 1);

}

mBoard[p.y][p.x] = RenjuConstant.N0_CHESS;

}

public void undo() {

final int canUndoSize = 2;

if (chessArray.size() >= canUndoSize) {

mIsGameOver = false;

suggestPoint = null;

removeLastChess();

removeLastChess();

}

postInvalidate();

}

@SuppressLint("ClickableViewAccessibility")

@Override

public boolean onTouchEvent(MotionEvent event) {

if (mIsGameOver || !isUserBout) {

return false;

}

int action = event.getAction();

if (action == MotionEvent.ACTION_DOWN) {

return true;

}

if (action == MotionEvent.ACTION_UP) {

int x = (int) event.getX();

int y = (int) event.getY();

Point p = getValidPoint(x, y);

if (mWhiteArray.contains(p) || mBlackArray.contains(p)) {

return false;

}

suggestPoint = null;

addChess(p, userChess);

setUserBout(!isHumanComputer());

if (!isHumanComputer()) {

userChess = (userChess == RenjuConstant.WHITE_CHESS) ? RenjuConstant.BLACK_CHESS : RenjuConstant.WHITE_CHESS;

}

checkGameOver();

invalidate();

if (!mIsGameOver) {

callBack.atBell(p, false, isUserBlack());

}

return true;

}

return super.onTouchEvent(event);

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

drawBoard(canvas);

drawPiece(canvas);

}

public void addChess(Point point, int chessType) {

mBoard[point.y][point.x] = chessType;

chessArray.add(point);

if (chessType == RenjuConstant.BLACK_CHESS) {

mBlackArray.add(point);

} else if (chessType == RenjuConstant.WHITE_CHESS) {

mWhiteArray.add(point);

}

invalidate();

}

public void setGameMode(int gameMode) {

this.gameMode = gameMode;

}

public int getGameMode() {

return gameMode;

}

public void checkGameOver() {

boolean blackWin = checkFiveInLine(mBlackArray);

boolean whiteWin = !blackWin && checkFiveInLine(mWhiteArray);

if (whiteWin || blackWin) {

mIsGameOver = true;

mWinner = whiteWin ? RenjuConstant.WHITE_CHESS : RenjuConstant.BLACK_CHESS;

if (mWinner == userChess) {

userScore++;

} else {

aiScore++;

}

callBack.gameOver(mWinner);

invalidate();

} else if (isFull()) {

mIsGameOver = true;

mWinner = RenjuConstant.N0_CHESS;

callBack.gameOver(mWinner);

invalidate();

}

}

public boolean checkFiveInLine(List points) {

List dirArray = new ArrayList<>();

dirArray.add(new Point(1, 0));

dirArray.add(new Point(0, 1));

dirArray.add(new Point(1, 1));

dirArray.add(new Point(1, -1));

for (Point p : points) {

for (Point dir : dirArray) {

if (checkFiveOneLine(dir, p.x, p.y, points)) {

return true;

}

}

}

return false;

}

/**

* 檢查棋子在某個方向是否已經(jīng)連五

*

* @param dir dir

* @param x x

* @param y y

* @param points points

* @return 勝利

*/

public boolean checkFiveOneLine(Point dir, int x, int y, List points) {

int count = 1;

fiveArray.clear();

fiveArray.add(new Point(x, y));

final int successSize = 5;

for (int i = 1; i < successSize; i++) {

Point p = new Point(x + dir.x * i, y + dir.y * i);

if (points.contains(p)) {

fiveArray.add(p);

count++;

} else {

break;

}

}

for (int i = 1; i < successSize; i++) {

Point p = new Point(x - dir.x * i, y - dir.y * i);

if (points.contains(p)) {

fiveArray.add(p);

count++;

} else {

break;

}

}

return count >= 5;

}

private void drawPiece(Canvas canvas) {

mPaint.setStrokeWidth(2.0f);

mPaint.setTextSize(24);

Paint.FontMetricsInt fontMetrics = mPaint.getFontMetricsInt();

for (int i = 0; i < mWhiteArray.size(); i++) {

Point whitePoint = mWhiteArray.get(i);

float left = startPos + (whitePoint.x + (1 - ratioPieceOfLineHeight) / 2) * mLineHeight;

float top = startPos + (whitePoint.y + (1 - ratioPieceOfLineHeight) / 2) * mLineHeight;

canvas.drawBitmap(mWhitePiece, left, top, null);

if (isDrawChessNum) {

mPaint.setColor(Color.BLACK);

float textTop = startPos + whitePoint.y * mLineHeight;

float textBottom = textTop + mLineHeight;

float baseline = (textTop + textBottom - fontMetrics.ascent - fontMetrics.descent) / 2;

float centerX = startPos + (whitePoint.x + 0.5f) * mLineHeight;

canvas.drawText(String.format("%S", 2 + i * 2), centerX, baseline, mPaint);

}

}

for (int i = 0; i < mBlackArray.size(); i++) {

Point blackPoint = mBlackArray.get(i);

float left = startPos + (blackPoint.x + (1 - ratioPieceOfLineHeight) / 2) * mLineHeight;

float top = startPos + (blackPoint.y + (1 - ratioPieceOfLineHeight) / 2) * mLineHeight;

canvas.drawBitmap(mBlackPiece, left, top, null);

if (isDrawChessNum) {

mPaint.setColor(Color.WHITE);

float textTop = startPos + blackPoint.y * mLineHeight;

float textBottom = textTop + mLineHeight;

float baseline = (textTop + textBottom - fontMetrics.ascent - fontMetrics.descent) / 2;

float centerX = startPos + (blackPoint.x + 0.5f) * mLineHeight;

canvas.drawText(String.format("%S", 1 + i * 2), centerX, baseline, mPaint);

}

}

}

private void drawBoard(Canvas canvas) {

mPaint.setColor(Color.BLACK);

mPaint.setStrokeWidth(2.0f);

int w = mPanelWidth;

float lineHeight = mLineHeight;

//畫棋盤線

for (int i = 0; i < MAX_LINE; i++) {

int startX = (int) (startPos + lineHeight / 2);

int endX = (int) (endPos - lineHeight / 2);

int y = (int) (startPos + (0.5 + i) * lineHeight);

canvas.drawLine(startX, y, endX, y, mPaint);

}

for (int i = 0; i < MAX_LINE; i++) {

int startY = (int) (startPos + lineHeight / 2);

int endY = (int) (endPos - lineHeight / 2);

int x = (int) (startPos + (0.5 + i) * lineHeight);

canvas.drawLine(x, startY, x, endY, mPaint);

}

//畫棋盤坐標

mPaint.setTextSize(20);

mPaint.setStrokeWidth(1.7f);

Paint.FontMetricsInt fontMetrics = mPaint.getFontMetricsInt();

for (int i = 0; i < MAX_LINE; i++) {

float y = startPos + (0.5f + i) * lineHeight;

float textTop = y - 0.5f * mLineHeight;

float textBottom = y + 0.5f * mLineHeight;

float baseline = (textTop + textBottom - fontMetrics.ascent - fontMetrics.descent) / 2;

float x = 12;

canvas.drawText(String.format("%S", MAX_LINE - i), x, baseline, mPaint);

}

for (int i = 0; i < MAX_LINE; i++) {

float y = w - 12;

float textTop = y - 0.5f * mLineHeight;

float textBottom = y + 0.5f * mLineHeight;

float baseline = (textTop + textBottom - fontMetrics.ascent - fontMetrics.descent) / 2;

float x = startPos + (0.5f + i) * lineHeight;

String text = String.valueOf((char) ('A' + i));

canvas.drawText(text, x, baseline, mPaint);

}

//棋盤邊緣線

mPaint.setStrokeWidth(4.0f);

int min = (int) lineHeight / 2 + 4, max = w - min;

canvas.drawLine(min - 2, min, max + 2, min, mPaint);

canvas.drawLine(min - 2, max, max + 2, max, mPaint);

canvas.drawLine(min, min, min, max, mPaint);

canvas.drawLine(max, min, max, max, mPaint);

//畫五個小黑點

mPaint.setStrokeWidth(8f);

final float startSize = 3.5f;

final float endSize = MAX_LINE - 3.5f;

final float middleSize = MAX_LINE / 2f;

//左上

canvas.drawCircle(startPos + startSize * lineHeight, startPos + startSize * lineHeight, 5, mPaint);

//右上

canvas.drawCircle(startPos + endSize * lineHeight, startPos + startSize * lineHeight, 5, mPaint);

//左下

canvas.drawCircle(startPos + startSize * lineHeight, startPos + endSize * lineHeight, 5, mPaint);

//右下

canvas.drawCircle(startPos + endSize * lineHeight, startPos + endSize * lineHeight, 5, mPaint);

//中間

canvas.drawCircle(startPos + middleSize * lineHeight, startPos + middleSize * lineHeight, 5, mPaint);

mPaint.setColor(Color.GREEN);

mPaint.setStrokeWidth(4.0f);

if (!mIsGameOver) {

//標識最后一子

if (chessArray.size() > 0) {

drawCircle(canvas, chessArray.get(chessArray.size() - 1));

}

//標識建議位置

if (suggestPoint != null) {

mPaint.setColor(Color.GRAY);

drawCircle(canvas, suggestPoint);

}

} else {

//標識連五

for (Point point : fiveArray) {

drawCircle(canvas, point);

}

}

}

public void drawCircle(Canvas canvas, Point point) {

float cx = startPos + (0.5f + point.x) * mLineHeight;

float cy = startPos + (0.5f + point.y) * mLineHeight;

float radius = ratioPieceOfLineHeight * mLineHeight / 2;

canvas.drawCircle(cx, cy, radius, mPaint);

}

public void showSuggest(Point point) {

this.suggestPoint = point;

postInvalidate();

}

public void showChessNum() {

isDrawChessNum = !isDrawChessNum;

postInvalidate();

}

public void start() {

for (int i = 0; i < MAX_LINE; i++) {

for (int j = 0; j < MAX_LINE; j++) {

mBoard[i][j] = 0;

}

}

mBlackArray.clear();

mWhiteArray.clear();

chessArray.clear();

suggestPoint = null;

mIsGameOver = false;

mWinner = 0;

userChess = RenjuConstant.BLACK_CHESS;

invalidate();

}

public boolean isFull() {

for (int i = 0; i < MAX_LINE; i++) {

for (int j = 0; j < MAX_LINE; j++) {

if (mBoard[i][j] == RenjuConstant.N0_CHESS) {

return false;

}

}

}

return true;

}

public void setUserChess(int userChess) {

this.userChess = userChess;

}

public void setUserBout(boolean userBout) {

isUserBout = userBout;

}

public void setCallBack(RenjuCallback callBack) {

this.callBack = callBack;

}

public int getUserScore() {

return userScore;

}

public int getAiScore() {

return aiScore;

}

public boolean isGameOver() {

return mIsGameOver;

}

public int getUserChess() {

return userChess;

}

/**

* 玩家是否執(zhí)黑

*

* @return boolean

*/

public boolean isUserBlack() {

return userChess == (isHumanComputer() ? RenjuConstant.BLACK_CHESS : RenjuConstant.WHITE_CHESS);

}

/**

* 是否人機

*

* @return 人機

*/

public boolean isHumanComputer() {

return gameMode == RenjuConstant.HUMAN_COMPUTER;

}

}

主要都在onDraw方法中:

坐標.png

棋盤線和小黑點.png

用約束布局布置頁面:

布局頁面.png

Ai實現(xiàn)類代碼,也就是jar包代碼,如果需要定制,可修改方法的訪問修飾符:

package win.regin.renju

import android.graphics.Point

import kotlinx.coroutines.experimental.android.UI

import kotlinx.coroutines.experimental.launch

/**

* @author :Reginer in 2018/7/9 20:07.

* 聯(lián)系方式:QQ:282921012

* 功能描述:五子棋ai

*/

class Ai(private val callBack: RenjuCallback) {

var aiChess: Int = RenjuConstant.N0_CHESS

private val aiObject: Long

private var lastPoint: Point? = null

private val timeMap = arrayListOf(2000, 5000, 10000, 30000, 60000)

/**

* ai是否正在思考

*/

var isAiThing = false

/**

* 獲取ai

*/

private external fun getAiObject(): Long

/**

* 思考最佳點

*/

private external fun getBestPoint(aiObject: Long, move: Int): Int

/**

* 重新開始

*/

private external fun aiRestart(aiObject: Long)

/**

* 悔棋

*/

private external fun aiUndo(aiObject: Long)

/**

* 玩家下一子

*/

private external fun aiMove(aiObject: Long, move: Int)

/**

* 思考結(jié)束時間

*/

private external fun setStepTime(aiObject: Long, time: Int)

/**

* 提示

*/

private external fun getSuggest(aiObject: Long): Int

init {

this.aiObject = getAiObject()

}

/**

* 當前回合輪到AI

*

* @param p p

*/

fun aiBout(p: Point?) {

launch {

isAiThing = true

lastPoint = p

val lastMove: Int = if (null == lastPoint) {

-1

} else {

lastPoint!!.x * 16 + lastPoint!!.y

}

val best = getBestPoint(aiObject, lastMove)

val bestPoint = Point(getPointX(best), getPointY(best))

launch(UI) {

callBack.atBell(bestPoint, true, aiChess == RenjuConstant.BLACK_CHESS)

isAiThing = false

}

}

}

fun addChess(p: Point) {

lastPoint = p

aiMove(aiObject, p.x * 16 + p.y)

}

/**

* AI建議

*

* @return Point

*/

fun suggest(): Point {

isAiThing = true

val p = getSuggest(aiObject)

isAiThing = false

return Point(getPointX(p), getPointY(p))

}

fun restart() {

isAiThing = true

aiRestart(aiObject)

isAiThing = false

}

fun undo() {

isAiThing = true

aiUndo(aiObject)

isAiThing = false

}

/**

* 設(shè)置級別

* @param level 0初級 1中級 2高級 3大師 4特大

*/

fun setLevel(level: Int) {

isAiThing = true

setStepTime(aiObject, timeMap[level])

isAiThing = false

}

/**

* 獲取玩家執(zhí)子

*/

fun getUserChess(): Int {

return if (aiChess == RenjuConstant.WHITE_CHESS) RenjuConstant.BLACK_CHESS else RenjuConstant.WHITE_CHESS

}

private fun getPointX(p: Int): Int {

return p shr 4

}

private fun getPointY(p: Int): Int {

return p and 15

}

companion object {

init {

System.loadLibrary("renju-lib")

}

}

}

下面開始擼代碼:

進入頁面選擇執(zhí)子:

/**

* 初始化PopWindow

*

* @param width 寬度

* @param height 高度

*/

private fun initPop(width: Int, height: Int) {

if (mChooseChess == null) {

val view = View.inflate(this, R.layout.view_pop_choose_chess, null)

val white = view.findViewById(R.id.choose_white)

val black = view.findViewById(R.id.choose_black)

white.setOnClickListener {

SoundPlayUtils.play(HintConstant.GAME_START)

rvRenju.setUserBout(false)

rvRenju.userChess = RenjuConstant.WHITE_CHESS

mAi.aiChess = RenjuConstant.BLACK_CHESS

aiThink(null)

mChooseChess?.dismiss()

}

black.setOnClickListener {

SoundPlayUtils.play(HintConstant.GAME_START)

rvRenju.setUserBout(true)

rvRenju.userChess = RenjuConstant.BLACK_CHESS

mAi.aiChess = RenjuConstant.WHITE_CHESS

mChooseChess?.dismiss()

}

mChooseChess = PopupWindow(view, width, height)

mChooseChess?.isOutsideTouchable = false

mChooseChess?.showAtLocation(rvRenju, Gravity.CENTER, 0, 0)

}

}

落子:

override fun atBell(p0: Point, isAi: Boolean, isBlack: Boolean) {

imgFlag.setImageResource(if (isBlack) R.drawable.ic_white_chess

else R.drawable.ic_black_chess)

SoundPlayUtils.play(HintConstant.GAME_MOVE)

if (isAi) aiAtBell(p0) else userAtBell(p0)

}

/**

* ai落子

*/

private fun aiAtBell(p: Point?) {

rvRenju.addChess(p, mAi.aiChess)

rvRenju.setUserBout(true)

rvRenju.checkGameOver()

}

/**

* 玩家落子

*/

private fun userAtBell(p: Point) {

if (rvRenju.isHumanComputer) aiThink(p) else mAi.addChess(p)

}

新局:

newRenju -> {

if (rvRenju.isHumanComputer) {

mChooseChess?.showAtLocation(rvRenju, Gravity.CENTER, 0, 0)

}

mAi.restart()

rvRenju.start()

}

悔棋:

undo -> {

if (rvRenju.chessCount >= 2) {

mAi.undo()

rvRenju.undo()

}

}

Ai級別:

level -> {

var levelPosition = SpUtils[RenjuConstant.RENJU_LEVEL, 0] as Int

levelPosition = if (levelPosition < 4) levelPosition + 1 else 0

level.text = resources.getStringArray(R.array.renju_level)[levelPosition]

SpUtils.put(RenjuConstant.RENJU_LEVEL,levelPosition)

mAi.setLevel(levelPosition)

}

提示:

suggest -> {

if (!rvRenju.isGameOver) {

rvRenju.setUserBout(false)

launch {

val suggestPoint = mAi.suggest()

launch(UI) {

rvRenju.setUserBout(true)

rvRenju.showSuggest(suggestPoint)

}

}

}

}

模式:人機、人人:

mode -> {

if (TextUtils.equals(mode.text.toString(), getString(R.string.human_human))) {

mode.text = getString(R.string.human_computer)

rvRenju.gameMode = RenjuConstant.HUMAN_COMPUTER

mAi.aiChess = rvRenju.userChess

rvRenju.userChess = mAi.getUserChess()

rvRenju.setUserBout(false)

aiThink(null)

} else {

mode.text = getString(R.string.human_human)

rvRenju.gameMode = RenjuConstant.HUMAN_HUMAN

}

}

游戲結(jié)束:

override fun gameOver(winner: Int) {

SoundPlayUtils.play(HintConstant.GAME_OVER)

toast(

when (winner) {

RenjuConstant.BLACK_CHESS -> R.string.black_win

RenjuConstant.WHITE_CHESS -> R.string.white_win

else -> R.string.no_win

})

}

總結(jié)

以上是生活随笔為你收集整理的linux控制台单人五子棋简书,实现一个质量过硬五子棋的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

51精品国自产在线 | 在线免费黄色 | 国产手机在线观看视频 | 福利一区二区三区四区 | 91麻豆视频网站 | 亚洲精品视 | 国产午夜一区二区 | 午夜精品中文字幕 | 久久国产热视频 | 啪啪动态视频 | 精品久久网 | 久久精品99精品国产香蕉 | 中文字幕在线看视频 | 青青草国产精品视频 | 手机成人在线 | 精品久久久一区二区 | 伊人五月天.com | 中文字幕av电影下载 | 免费h精品视频在线播放 | 天天曰天天 | 国产资源精品在线观看 | 亚洲精品一区二区三区在线观看 | 婷婷在线精品视频 | 国产一级片毛片 | 精品国产一区二区三区不卡 | 婷婷去俺也去六月色 | 欧美少妇xxx | 岛国av在线 | 精品国产一区二区三区久久久蜜臀 | 国产精品麻豆免费版 | 久久久久麻豆v国产 | 成年人免费在线看 | 中文字幕在线日本 | 色婷在线 | 麻豆va一区二区三区久久浪 | 久久久高清视频 | 色av男人的天堂免费在线 | 99这里只有精品视频 | 日日躁夜夜躁xxxxaaaa | 成人动漫一区二区三区 | 欧美大片大全 | 蜜臀aⅴ国产精品久久久国产 | 午夜av在线免费 | 中文字幕视频观看 | 亚洲一区二区麻豆 | 国产午夜三级一二三区 | 在线观看日韩中文字幕 | 天天插日日射 | 久久噜噜少妇网站 | 精品久久久久久久 | 国产永久网站 | 午夜精品一区二区国产 | www.夜色321.com | 午夜精品久久久久久久99无限制 | 欧美极品一区二区三区 | 亚洲一级国产 | 国产1级视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 国产成人av福利 | 久久久久久久av麻豆果冻 | 成av在线 | 99久久夜色精品国产亚洲 | 国产午夜精品视频 | 激情网站免费观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 悠悠av资源片 | 精品中文字幕在线 | 嫩草伊人久久精品少妇av | 91av精品 | 婷婷在线资源 | 91免费黄视频 | 日本在线观看视频一区 | 人人超碰97 | 正在播放国产91 | 国产一级片免费观看 | av在线免费观看网站 | 永久免费毛片在线观看 | 人人狠狠综合久久亚洲婷 | 麻豆国产网站入口 | 中文字幕中文字幕 | av888av.com| 亚洲欧美综合 | 97超碰人人 | 久久成人午夜视频 | 亚洲国产人午在线一二区 | 91精品国产网站 | 国产字幕在线观看 | 韩国精品一区二区三区六区色诱 | 在线视频观看91 | 亚洲精品国偷拍自产在线观看 | 欧美欧美| 91九色视频国产 | 在线影院 国内精品 | 人人澡人人爽欧一区 | 在线观看视频一区二区三区 | 夜夜操天天摸 | 日本少妇久久久 | 国产精品自产拍在线观看 | www国产在线 | 亚洲精品在线一区二区三区 | 六月丁香婷 | 久久99久久99免费视频 | av888av.com | 99免费在线| 久久精品视频99 | 婷婷五天天在线视频 | 日韩av五月天 | 欧美日韩精品影院 | 9999免费视频 | 久久免费观看少妇a级毛片 久久久久成人免费 | 亚洲热视频| 久久毛片网 | 中文伊人 | 99视频在线免费 | 一本色道久久精品 | 在线观看日本高清mv视频 | www.久艹| 成人av免费在线播放 | 日韩欧美一区二区三区在线观看 | 久久久久99精品成人片三人毛片 | 色综合久久久网 | 五月天色中色 | 97视频在线观看网址 | 欧美另类交人妖 | 久久99精品一区二区三区三区 | 97国产情侣爱久久免费观看 | 日韩色综合 | 成人午夜黄色 | 国产精品久久二区 | 精品久久久久一区二区国产 | 国产精品久久久久久久久久久久午 | 99视频在线精品免费观看2 | 在线观看aa | 天堂av在线网 | 久久99国产一区二区三区 | 在线有码中文字幕 | 日韩欧美一区二区三区免费观看 | 亚洲精品视频播放 | 欧美片一区二区三区 | 欧美日韩久久久 | 欧美国产精品久久久久久免费 | 99免费视频 | 波多野结衣视频网址 | 久久免费毛片 | 色妞色视频一区二区三区四区 | 欧美怡红院 | 国产精品一区二区三区在线播放 | 久久精品2| 久久涩视频 | 欧美激情xxxx | 91在线国内视频 | www五月| 欧美一区免费观看 | 成人免费在线看片 | 视频在线一区二区三区 | 国产裸体bbb视频 | 黄色91免费观看 | 国产视频亚洲精品 | 久久国产精品一区二区三区 | 欧美aa在线 | 99爱这里只有精品 | 手机av在线网站 | 免费av在线网站 | 亚洲天堂激情 | 国产成免费视频 | 国产综合香蕉五月婷在线 | 2021国产精品视频 | 欧美一级久久 | 三级在线视频观看 | 亚洲美女视频在线 | 伊人影院99| 亚洲美女精品视频 | 国产不卡免费视频 | 欧美久久久久久久久中文字幕 | 超碰在线人人艹 | 日韩欧美电影在线观看 | 最新色站| 日日夜夜爱 | 日韩精品一区二区三区免费视频观看 | 免费av成人在线 | 国产精品一区二区白浆 | 蜜臀久久99精品久久久酒店新书 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 97夜夜澡人人爽人人免费 | 日韩在线 一区二区 | 人人草天天草 | 夜夜躁天天躁很躁波 | 色.www| 丁香五婷 | 亚洲在线视频播放 | 亚洲国产影院av久久久久 | 国产又粗又猛又爽 | 99精品免费久久久久久日本 | 97av视频| 久久亚洲美女 | 2022中文字幕在线观看 | 日韩一区二区三区在线观看 | 欧美日韩视频 | 中文在线8新资源库 | 日韩高清不卡一区二区三区 | 国产资源免费在线观看 | 久久免费黄色网址 | 99热亚洲精品 | av丁香花| 日韩在线短视频 | 91av免费观看 | 日韩在线视频免费看 | 在线a视频 | 毛片基地黄久久久久久天堂 | 免费在线观看av电影 | 亚洲国产中文字幕在线观看 | 日韩电影在线观看一区二区三区 | www.五月天婷婷.com | www.99久久.com | 1024在线看片 | 久久久久国产一区二区三区 | 日本护士三级少妇三级999 | 天天艹天天操 | 欧美va在线观看 | 免费情缘 | 亚洲最新合集 | 在线高清一区 | 在线观看视频日韩 | 91在线国内视频 | 色999在线 | 日韩丝袜在线观看 | 亚洲专区在线 | 97国产在线播放 | 日韩一区二区三区在线看 | 99国产精品免费网站 | 91在线精品秘密一区二区 | 成年人在线电影 | 亚洲高清国产视频 | 免费a视频在线 | 久久99久久99精品免视看婷婷 | 亚洲一区欧美激情 | 偷拍视频一区 | 亚洲欧美日韩精品久久久 | 国产精品久久久精品 | 日批在线观看 | 久草免费电影 | 国产中文字幕91 | 在线看成人 | 96视频免费在线观看 | 天天射天天艹 | 精品国产人成亚洲区 | 久久兔费看a级 | 精品中文字幕在线观看 | 91高清免费看 | www夜夜操 | 成人网页在线免费观看 | 四虎在线观看 | www91在线 | 久久久久久久久久久影院 | 麻豆国产在线播放 | 97在线观看视频国产 | 91av视频免费观看 | 免费看片黄色 | 丁香网五月天 | 国产成人久久精品亚洲 | 成年人免费观看国产 | 91看片淫黄大片91 | 中文字幕乱码在线播放 | 亚洲精品国产精品国自产在线 | 国产黄在线看 | 草久在线播放 | 中文区中文字幕免费看 | 麻豆国产精品一区二区三区 | 亚洲日本在线视频观看 | 亚洲成人黄色在线 | 成年人国产在线观看 | 国产成人亚洲精品自产在线 | 国产精品免费一区二区三区 | 91日韩在线视频 | 91精品网站在线观看 | 国产精品久久久久久久久久久免费看 | 粉嫩av一区二区三区四区在线观看 | 亚洲一区二区黄色 | 久久久亚洲精品 | 日韩欧美有码在线 | 美女视频黄在线 | 992tv又爽又黄的免费视频 | 中文字幕精品三级久久久 | 欧美日韩aa | 国产成人精品一区二区在线观看 | 国产精品永久在线观看 | 一区二区三区四区不卡 | 久久国产精品久久国产精品 | 亚洲黄色免费网站 | av在线等| 亚洲激情av | 一区二区久久 | 成人免费一级 | 日本狠狠干 | 色精品视频 | 欧美 日韩 成人 | 91激情视频在线观看 | 久久久久国产精品一区 | 91精品视频免费观看 | 精品视频免费 | 亚洲伦理中文字幕 | 黄色免费大片 | 五月天六月色 | 99精品免费观看 | 国产精品爽爽久久久久久蜜臀 | 国产精选视频 | 国产蜜臀av | 久久av免费| 亚洲精品66| 在线观看中文字幕视频 | 人人爽人人澡 | 波多野结衣视频在线 | 国产精品日韩在线 | 亚洲精品白浆高清久久久久久 | 天天干天天干天天射 | 在线日韩精品视频 | 久久免费黄色网址 | 又黄又刺激 | 黄色成人免费电影 | 久草在线最新视频 | 国产精品久久久久久久免费 | 久久无码av一区二区三区电影网 | 日韩精品欧美一区 | 国产精品视频你懂的 | 国产精品岛国久久久久久久久红粉 | 8090yy亚洲精品久久 | 中文字幕av免费 | 99色在线观看 | 水蜜桃亚洲一二三四在线 | 婷婷视频导航 | 亚洲乱码在线观看 | 伊人婷婷在线 | 久草在线视频免费资源观看 | 国产一级免费在线观看 | 欧美黄色高清 | 亚洲a色| av在线播放快速免费阴 | 午夜av一区二区三区 | 久久精品免费观看 | 国产一级在线免费观看 | 久久久www成人免费毛片麻豆 | 99人久久精品视频最新地址 | 成人91在线| 在线国产91| 激情自拍av| 久久精品资源 | 成人午夜黄色影院 | 操处女逼| 国产日韩欧美在线 | 日本一区二区三区免费观看 | ,久久福利影视 | 国产一级性生活视频 | 国产91粉嫩白浆在线观看 | www.成人精品 | 久热国产视频 | 国产视频 亚洲精品 | 久久久www成人免费精品张筱雨 | 黄色成年 | 久久久国产毛片 | 亚洲女人av | 免费a级黄色毛片 | 在线免费观看国产 | 97视频在线观看网址 | 日韩大片免费在线观看 | 国产高清永久免费 | 天天爽天天爽 | 视频在线91| 亚洲福利精品 | 夜添久久精品亚洲国产精品 | 伊人射| 中文理论片 | wwwav视频| 奇人奇案qvod | 一色屋精品视频在线观看 | 99视频国产在线 | 国产精品99久久久久久小说 | 久久久久久久久久久福利 | 亚洲色影爱久久精品 | 亚洲精品视频免费在线观看 | 久久99在线观看 | 欧美在线资源 | 91高清免费在线观看 | 国产v在线播放 | 在线国产黄色 | 又色又爽又黄高潮的免费视频 | 国产精品视频免费看 | 久久精品美女 | 国产成人在线免费观看 | 三三级黄色片之日韩 | 国产精品福利在线播放 | 99欧美精品 | 国产视频观看 | 一二三区av | 久久久久亚洲天堂 | 成 人 黄 色 片 在线播放 | 97色综合 | 久久久久成人免费 | 成人免费视频播放 | 97超碰网 | 国产人成免费视频 | 色婷婷综合久色 | 国产不卡免费av | 久草在线视频新 | 国产又粗又猛又爽又黄的视频免费 | 99热在线国产 | 免费国产亚洲视频 | 91精品国自产在线偷拍蜜桃 | 激情视频区 | 97在线观看免费观看高清 | 中文有码在线视频 | 日韩理论在线视频 | 久久视频免费在线观看 | 精品国产中文字幕 | 91亚洲精品久久久中文字幕 | 国产视频1区2区 | 男女全黄一级一级高潮免费看 | 久草网视频在线观看 | 久久久久综合 | 欧美精品一区二区免费 | 久久精品影片 | 国产无套精品久久久久久 | 久久久久久久久久久久99 | 一区二区 不卡 | 天天干天天做天天爱 | 亚洲国产精品女人久久久 | 国产成a人亚洲精v品在线观看 | 国产精品二区在线 | 成人黄色短片 | 午夜电影中文字幕 | 免费观看成人网 | 亚洲理论在线观看 | 国产一级淫片免费看 | 亚洲黄色小说网址 | 国产麻豆精品一区二区 | 在线激情网| 国产视频每日更新 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 五月婷婷一区二区三区 | 欧美日韩久久不卡 | japanesexxxhd奶水 91在线精品一区二区 | 中文字幕在线看视频国产 | 全久久久久久久久久久电影 | 亚洲精品国产精品乱码在线观看 | 日本久久久久久久久久 | 天天天天色综合 | 国产超碰97 | 国产成人一区二区三区电影 | 欧美色久| 亚洲欧美日韩在线看 | 国产精品福利久久久 | 男女拍拍免费视频 | 91av在线看 | 天天天天色综合 | 日韩av网址在线 | 9999精品| 在线亚洲小视频 | 欧美福利片在线观看 | 92中文资源在线 | 一区二区伦理 | 美女免费视频观看网站 | 日韩三级免费 | 日韩在线小视频 | 久久国产精品影视 | 一区二区伦理电影 | 全黄色一级片 | 中文字幕一区二区三区视频 | 日韩av在线资源 | 四季av综合网站 | 亚洲在线a | 中文字幕在线播放一区二区 | 亚洲高清视频在线观看免费 | 丁香在线 | 欧美精品黑人性xxxx | 欧美国产精品久久久久久免费 | 国产精品入口久久 | 精品亚洲国产视频 | 国产精品成人国产乱一区 | 激情五月av | 九九热中文字幕 | 一区二区欧美在线观看 | 亚洲日本精品 | 久久久久免费网站 | 国产成人精品一区二区在线 | 日韩资源在线观看 | 日韩亚洲国产中文字幕 | 久草免费看 | 国产精品一区二区在线免费观看 | www免费| 亚洲砖区区免费 | 黄色软件大全网站 | 在线播放视频一区 | 久久狠狠亚洲综合 | 丁香五婷 | 特级毛片爽www免费版 | 久色免费视频 | 国产精品观看在线亚洲人成网 | 亚洲精品视 | 91黄色视屏 | 国产精品一区二区精品视频免费看 | 九九热视频在线 | 国产丝袜 | 免费一级片观看 | 亚洲精品网站 | 国产xxxx| 在线v片| 免费观看全黄做爰大片国产 | 国产午夜亚洲精品 | 免费在线国产精品 | 日韩精品视频一二三 | 婷婷色中文字幕 | aaa黄色毛片 | 亚洲国产成人精品电影在线观看 | 手机av永久免费 | 亚洲成人资源在线 | 中文字幕成人网 | 久草色在线观看 | 亚洲精品白浆高清久久久久久 | 狠狠操狠狠干天天操 | 免费一级特黄毛大片 | 亚洲精品9 | 国产精品2020 | 91久久国产露脸精品国产闺蜜 | 欧美日韩一级在线 | 天天操操操操操操 | 99在线免费视频 | 亚洲国产成人高清精品 | 久久高清片 | 久久久久久美女 | 少妇性色午夜淫片aaaze | 97色视频在线 | 最新免费中文字幕 | 亚洲精品大片www | 手机av永久免费 | 又黄又爽的视频在线观看网站 | 麻豆久久久久 | 伊人久操| 午夜精品久久久久久久久久久 | 久久婷婷开心 | 特级黄色片免费看 | 亚洲人成影院在线 | 久久免费影院 | 国产成人亚洲在线观看 | 狠狠操导航 | 亚洲精品久久久久久中文传媒 | www免费黄色 | 91在线免费看片 | 一区二区不卡 | 97免费| 欧美巨大荫蒂茸毛毛人妖 | 天天色天天干天天 | 亚洲精品乱码久久久久久蜜桃欧美 | 免费在线观看一级片 | 久久人91精品久久久久久不卡 | 精品视频成人 | 成人h动漫在线看 | 精品久久久久久久久中文字幕 | 在线91精品 | 91成人精品 | 日韩精品免费一区二区 | 欧美久久久一区二区三区 | 午夜精品久久久久久久99热影院 | 久久歪歪 | 麻豆一区二区三区视频 | 久久天堂网站 | 黄色av电影在线观看 | 91尤物国产尤物福利在线播放 | 丁香影院在线 | 亚洲黄色免费在线看 | www色com | 黄色午夜 | 国偷自产视频一区二区久 | 一级久久精品 | 久久精品中文字幕少妇 | 国产免费久久 | 国产字幕av| 免费看污片 | 亚洲 欧美 国产 va在线影院 | 日日爱视频 | 欧美欧美 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产成人精品av久久 | 日本中文字幕在线观看 | 久久久久久久久久影视 | 国产伦精品一区二区三区高清 | 在线色亚洲 | 91插插视频 | 日韩精品一区不卡 | 99色婷婷| 国内外激情视频 | 超碰在线日本 | 久色伊人 | 亚洲色综合 | 九九九国产 | 狠狠干狠狠操 | 九九精品视频在线观看 | 国产高清一区二区 | 最近高清中文字幕在线国语5 | 日韩精品免费一区 | 国产精品精品视频 | 久久综合婷婷国产二区高清 | 99久久电影 | 欧美一二三四在线 | 欧美大片大全 | 久草网在线| 婷婷av综合 | 日日干天天射 | 五月婷婷视频在线 | 欧美一二三区在线观看 | 91精品国产91久久久久久三级 | 国产99久久精品一区二区永久免费 | 亚洲天天综合网 | 91丨九色丨高潮丰满 | 亚洲在线 | 五月天网站在线 | 天天色综合久久 | 久久久综合 | 在线亚洲欧美日韩 | 欧美日韩免费一区二区 | 国产亚洲精品日韩在线tv黄 | 在线播放亚洲 | 国产粉嫩在线 | 欧洲视频一区 | 国产免费专区 | 青草草在线 | 日本女人逼 | 亚洲精品免费在线观看视频 | 久草精品在线观看 | 韩国av一区二区 | 欧洲一区二区三区精品 | 国产一级高清视频 | 激情五月色播五月 | 亚洲精品综合一区二区 | 在线免费中文字幕 | 色a在线观看| 天天色天天操综合网 | 国产99久久久精品 | 99在线观看免费视频精品观看 | 又黄又刺激的视频 | 亚洲国产精品久久久久 | 成人免费看片98欧美 | 亚洲精品在线一区二区 | 美女一区网站 | 久久再线视频 | 久久国产影院 | 99精品视频免费观看 | 国产成人精品久久二区二区 | av丝袜在线 | 色wwwww | 91人人射 | 2019中文在线观看 | 五月天综合 | 中文字幕网址 | 在线韩国电影免费观影完整版 | 国产精品久久久毛片 | 欧美在线你懂的 | 国产涩涩在线观看 | 成人a毛片| 91成品人影院 | 色黄视频免费观看 | 免费人成网ww44kk44 | 国产精品日韩高清 | 婷婷久久精品 | 日韩av成人在线观看 | 黄毛片在线观看 | 91精品国产成人www | av一级黄| 五月天久久久久 | 黄色大片免费网站 | h久久| 黄色中文字幕 | 欧美日韩精品在线观看视频 | 在线观看理论 | 成人av免费在线播放 | 日本三级吹潮在线 | 精品国产视频一区 | 亚洲一区在线看 | 美女久久久久久久久久久 | 亚洲视频,欧洲视频 | 日韩v在线91成人自拍 | 免费av看片 | 日本最新高清不卡中文字幕 | 欧美精品免费一区二区 | 国产一区二区在线免费播放 | 国产aaa大片| 97超碰人人干 | 97电影手机| 草久久久| 国产中文字幕国产 | 亚洲成人高清在线 | 欧美性色19p | 国产淫a | 欧美做受高潮 | 久久天天操 | 日韩欧美电影在线 | 国产91成人在在线播放 | 亚洲 中文 在线 精品 | 97精品国产91久久久久久 | 天天爱天天色 | 97视频免费在线观看 | 成人av影院在线观看 | 精品一区二区三区久久 | 精品女同一区二区三区在线观看 | 九九一级片 | 正在播放日韩 | 五月婷色 | 国产成人久久av | 黄色精品一区二区 | 香蕉精品视频在线观看 | 日日成人网 | 色噜噜噜噜 | 免费三级骚 | 精品欧美小视频在线观看 | 国产看片 色 | 99热99re6国产在线播放 | 久久无码精品一区二区三区 | www.婷婷色| 91男人影院 | 亚洲国产精品女人久久久 | 五月天.com | 免费看一级 | 天天综合精品 | 久精品视频在线观看 | 00av视频 | 久久无码av一区二区三区电影网 | 国产人成在线视频 | 18+视频网站链接 | 99精品在线免费视频 | av免费在线播放 | 偷拍区另类综合在线 | www.黄色片网站 | 欧美二区视频 | 国产成人99av超碰超爽 | 午夜精品导航 | 日韩精品视频免费在线观看 | 欧美日韩国产精品一区二区 | 亚洲第一香蕉视频 | 成人精品一区二区三区电影免费 | av最新资源| 天天色综合1 | 久人人| 91精品成人 | 天天射网站 | 成片人卡1卡2卡3手机免费看 | 91精品国产麻豆国产自产影视 | 爱射综合 | 欧美成人xxxx | 日韩女同一区二区三区在线观看 | 亚洲国产三级在线 | 日本中文字幕影院 | 欧美激情视频一区二区三区免费 | 特及黄色片| 在线观看视频色 | 亚洲精品电影在线 | 99视频精品免费观看, | 成人av片免费观看app下载 | 国外成人在线视频网站 | 午夜视频不卡 | 国产精品久久久久久久久久妇女 | 91尤物国产尤物福利在线播放 | 日韩在线免费视频 | 中文国产成人精品久久一 | 在线你懂| 国产精品久久久久9999吃药 | 国产一区二区三区视频在线 | 欧美日韩不卡在线视频 | 欧美一区二区三区激情视频 | 久久国产精品二国产精品中国洋人 | 婷婷色视频| 99热手机在线观看 | 色久天| 91精品国产一区二区三区 | 欧美精品一区二区免费 | 五月婷婷开心 | 97偷拍视频 | 国产精品久久二区 | 国产精品原创 | 国产精品视频最多的网站 | 国产精品伦一区二区三区视频 | 91精品在线免费视频 | 亚洲网站在线看 | 黄色毛片在线 | 欧美日本一区 | 91成人天堂久久成人 | 久久综合成人 | 91精品综合在线观看 | 超碰97在线资源站 | 国产精品乱码在线 | 欧美一级特黄aaaaaa大片在线观看 | 在线精品视频在线观看高清 | 91av99 | 久久免费av电影 | 日韩免费福利 | 最近中文字幕免费观看 | 亚洲欧美va | 91视频三区| 日韩专区在线 | 麻花天美星空视频 | 久草在线免费资源站 | 久久五月情影视 | 国产精品一区二区三区四区在线观看 | 天天摸天天操天天爽 | 日韩欧美成人网 | 涩av在线 | 午夜婷婷网 | 综合久久久久久 | 国产不卡在线播放 | 国产精品一区二区电影 | 激情视频一区二区三区 | 国产精品久久伊人 | 日韩三级中文字幕 | 精品福利av| 日日夜夜婷婷 | 精品福利在线观看 | 国产中文在线视频 | 久草视频播放 | 91视频麻豆视频 | 97视频人人免费看 | 成+人+色综合 | 亚洲成av人影片在线观看 | 国产黄色精品在线 | 久久久久久久久免费视频 | 欧美在线视频精品 | 亚洲人久久久 | 五月开心综合 | 中文字幕免费看 | 狠狠色狠狠综合久久 | 午夜国产一区二区 | 精品国产美女 | 日韩av电影手机在线观看 | 久久国产精品二国产精品中国洋人 | 视频二区 | 91麻豆操 | 国产成人精品国内自产拍免费看 | 91专区在线观看 | 丁香花中文在线免费观看 | 日本中文字幕网站 | 手机在线看片日韩 | 69国产精品视频免费观看 | 在线观看免费版高清版 | 国产视频导航 | 四虎www com| 国产精品成久久久久三级 | 毛片视频网址 | 欧美特一级 | 日日综合网 | 欧美做受高潮1 | 久久免费黄色大片 | 91成人午夜| 婷婷丁香国产 | 99热这里只有精品8 久久综合毛片 | 久久精品国产一区二区电影 | 国产成人一区二区三区影院在线 | 九草视频在线观看 | 午夜aaaa| 久久久久久久看片 | 国产欧美综合在线观看 | 国产福利中文字幕 | 日韩在线精品 | 久久国产99 | 美女久久久久久久 | 永久免费精品视频网站 | 亚洲免费资源 | 欧美久久成人 | 国产精品18久久久久久久久 | 欧美男男激情videos | 欧美成人免费在线 | 91九色蝌蚪 | 激情 一区二区 | 国产精品久久久久久久妇 | 在线观看视频在线 | 欧美日韩国产综合一区二区 | 国产成人精品999 | 日本久久精品 | 天天射天天干天天操 | www.夜夜操.com| 成人黄色毛片 | av成人在线网站 | 欧美va在线观看 | 日韩欧美精品一区二区 | 精品在线观看一区二区三区 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 一区二区三区高清在线观看 | 最近高清中文在线字幕在线观看 | 友田真希av | 日韩激情片在线观看 | 成人av电影网址 | 国产精品第2页 | 久草视频2 | 天天草夜夜| 日本久久久亚洲精品 | 日本不卡123区 | 日韩成人中文字幕 | 在线v片免费观看视频 | 中文字幕在线网 | 综合精品久久 | 天天操天天曰 | 综合久久综合久久 | 国产精品理论片 | 久久久久久久久毛片精品 | 在线看一区二区 | 亚洲 欧美日韩 国产 中文 | 欧美少妇xxxxxx | 午夜精品电影一区二区在线 | 亚洲资源网 | 国产在线观看污片 | 精品国偷自产在线 | 国产一区视频在线观看免费 | 欧美日韩国产精品一区 | 天天操操操操操 | 日韩电影在线观看中文字幕 | 911香蕉 | 狠狠色丁香婷婷综合最新地址 | 香蕉在线播放 | 亚洲免费av在线播放 | 久久久男人的天堂 | 国产精品视频地址 | 久久久久久久免费 | 最近最新最好看中文视频 | 99精品免费在线 | 国产高清免费观看 | 久久精品国产成人 | 亚洲精品网页 | 国产又粗又猛又爽又黄的视频免费 | 色天天综合网 | 国产精品免费视频一区二区 | 日韩精品一区二区免费 | 国产区网址 | 97在线观看免费观看高清 | 欧美精品免费在线 | 日韩高清www| 久久九九免费 | 欧美一区二区在线免费观看 | 国产视频精品在线 | 成人久久18免费 | 又粗又长又大又爽又黄少妇毛片 | 色偷偷av男人天堂 | 亚洲精品女人 | 亚洲人成精品久久久久 | 国产人成在线观看 | 欧美色噜噜噜 | 高清视频一区二区三区 | 国产婷婷色 | 国产99久久99热这里精品5 | 三级动图| 久久久久亚洲国产 | www.亚洲黄| 黄色免费在线看 | 99视频精品免费视频 | 午夜av片 | 少妇bbw揉bbb欧美 | 欧美成人a在线 | 天天干天天看 | 中文电影网 | 精品不卡视频 | 国产精品不卡一区 | 久久99精品国产99久久6尤 | 天天射天天爱天天干 | 日韩一级精品 | 香蕉影院在线播放 | 日韩欧美网址 | 极品久久久久久久 | 黄色资源网站 | 91精品国产综合久久福利不卡 | 草久在线观看视频 | 久久综合久久综合这里只有精品 | av电影在线不卡 | 久久精品国产v日韩v亚洲 | 狠狠操欧美 | 欧美视频一区二 | 免费国产在线视频 | 久久精品视频在线播放 | 欧美成人h版电影 | 国产香蕉97碰碰碰视频在线观看 | 国产成人精品一区二区三区福利 | 99亚洲精品视频 | 人人添人人澡 | 欧美另类sm图片 | 亚洲国产精品久久久 | 成人午夜毛片 | 免费网站看v片在线a | 色综合天天做天天爱 | 国内精品久久久久久久久 | 国产又黄又硬又爽 | 久久精品久久精品 | 免费视频色 | av电影 一区二区 | 成人毛片a | 国产精品久久一区二区三区, | 在线观看日韩免费视频 | 国产日韩欧美自拍 | 亚洲天天干 | 国产精品久久久99 | 天天爽网站 | 丁香激情五月 | 精品久久一级片 | 免费在线成人 | 国产亚洲精品成人 | 欧美日韩久久一区 |