国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

流弊! Java 開發(fā)打飛機(jī)小游戲(附完整源碼)

共 53041字,需瀏覽 107分鐘

 ·

2021-09-28 09:53

上圖


寫在前面

技術(shù)源于分享,所以今天抽空把自己之前用java做過的小游戲整理貼出來給大家參考學(xué)習(xí)。java確實(shí)不適合寫桌面應(yīng)用,這里只是通過這個(gè)游戲讓大家理解oop面向?qū)ο缶幊痰倪^程,純屬娛樂。代碼寫的很簡(jiǎn)單,也很容易理解,并且注釋寫的很清楚了,還有問題,自己私下去補(bǔ)課學(xué)習(xí)。

完整代碼

敵飛機(jī)

import java.util.Random;


 敵飛機(jī): 是飛行物,也是敵人

public class Airplane extends FlyingObject implements Enemy {
    private int speed = 3;  //移動(dòng)步驟

    /** 初始化數(shù)據(jù) */
    public Airplane(){
        this.image = ShootGame.airplane;
        width = image.getWidth();
        height = image.getHeight();
        y = -height;          
        Random rand = new Random();
        x = rand.nextInt(ShootGame.WIDTH - width);
    }

    /** 獲取分?jǐn)?shù) */
    @Override
    public int getScore() {  
        return 5;
    }

    /** //越界處理 */
    @Override
    public     boolean outOfBounds() {   
        return y>ShootGame.HEIGHT;
    }

    /** 移動(dòng) */
    @Override
    public void step() {   
        y += speed;
    }
}

分?jǐn)?shù)獎(jiǎng)勵(lì)

/** 
 * 獎(jiǎng)勵(lì) 
 */  
public interface Award {  
    int DOUBLE_FIRE = 0;  //雙倍火力  
    int LIFE = 1;   //1條命  
    /** 獲得獎(jiǎng)勵(lì)類型(上面的0或1) */  
    int getType();  
}

蜜蜂

import java.util.Random;  

/** 蜜蜂 */  
public class Bee extends FlyingObject implements Award{  
    private int xSpeed = 1;   //x坐標(biāo)移動(dòng)速度  
    private int ySpeed = 2;   //y坐標(biāo)移動(dòng)速度  
    private int awardType;    //獎(jiǎng)勵(lì)類型  

    /** 初始化數(shù)據(jù) */  
    public Bee(){  
        this.image = ShootGame.bee;  
        width = image.getWidth();  
        height = image.getHeight();  
        y = -height;  
        Random rand = new Random();  
        x = rand.nextInt(ShootGame.WIDTH - width);  
        awardType = rand.nextInt(2);   //初始化時(shí)給獎(jiǎng)勵(lì)  
    }  

    /** 獲得獎(jiǎng)勵(lì)類型 */  
    public int getType(){  
        return awardType;  
    }  

    /** 越界處理 */  
    @Override  
    public boolean outOfBounds() {  
        return y>ShootGame.HEIGHT;  
    }  

    /** 移動(dòng),可斜著飛 */  
    @Override  
    public void step() {        
        x += xSpeed;  
        y += ySpeed;  
        if(x > ShootGame.WIDTH-width){    
            xSpeed = -1;  
        }  
        if(x < 0){  
            xSpeed = 1;  
        }  
    }  
}

子彈類:是飛行物體

/** 
 * 子彈類:是飛行物 
 */  
public class Bullet extends FlyingObject {  
    private int speed = 3;  //移動(dòng)的速度  

    /** 初始化數(shù)據(jù) */  
    public Bullet(int x,int y){  
        this.x = x;  
        this.y = y;  
        this.image = ShootGame.bullet;  
    }  

    /** 移動(dòng) */  
    @Override  
    public void step(){     
        y-=speed;  
    }  

    /** 越界處理 */  
    @Override  
    public boolean outOfBounds() {  
        return y<-height;  
    }  

}

敵人的分?jǐn)?shù)

/** 
 * 敵人,可以有分?jǐn)?shù) 
 */  
public interface Enemy {  
    /** 敵人的分?jǐn)?shù)  */  
    int getScore();  
}

飛行物(敵機(jī),蜜蜂,子彈,英雄機(jī))

import java.awt.image.BufferedImage;  

/** 
 * 飛行物(敵機(jī),蜜蜂,子彈,英雄機(jī)) 
 */  
public abstract class FlyingObject {  
    protected int x;    //x坐標(biāo)  
    protected int y;    //y坐標(biāo)  
    protected int width;    //寬  
    protected int height;   //高  
    protected BufferedImage image;   //圖片  

    public int getX() {  
        return x;  
    }  

    public void setX(int x) {  
        this.x = x;  
    }  

    public int getY() {  
        return y;  
    }  

    public void setY(int y) {  
        this.y = y;  
    }  

    public int getWidth() {  
        return width;  
    }  

    public void setWidth(int width) {  
        this.width = width;  
    }  

    public int getHeight() {  
        return height;  
    }  

    public void setHeight(int height) {  
        this.height = height;  
    }  

    public BufferedImage getImage() {  
        return image;  
    }  

    public void setImage(BufferedImage image) {  
        this.image = image;  
    }  

    /** 
     * 檢查是否出界 
     * @return true 出界與否 
     */  
    public abstract boolean outOfBounds();  

    /** 
     * 飛行物移動(dòng)一步 
     */  
    public abstract void step();  

    /** 
     * 檢查當(dāng)前飛行物體是否被子彈(x,y)擊(shoot)中 
     * @param Bullet 子彈對(duì)象 
     * @return true表示被擊中了 
     */  
    public boolean shootBy(Bullet bullet){  
        int x = bullet.x;  //子彈橫坐標(biāo)  
        int y = bullet.y;  //子彈縱坐標(biāo)  
        return this.x<x && x<this.x+width && this.y<y && y<this.y+height;  
    }  

}


英雄機(jī)

import java.awt.image.BufferedImage;  

/** 
 * 英雄機(jī):是飛行物  
 */  
public class Hero extends FlyingObject{  

    private BufferedImage[] images = {};  //英雄機(jī)圖片  
    private int index = 0;                //英雄機(jī)圖片切換索引  

    private int doubleFire;   //雙倍火力  
    private int life;   //命  

    /** 初始化數(shù)據(jù) */  
    public Hero(){  
        life = 3;   //初始3條命  
        doubleFire = 0;   //初始火力為0  
        images = new BufferedImage[]{ShootGame.hero0, ShootGame.hero1}; //英雄機(jī)圖片數(shù)組  
        image = ShootGame.hero0;   //初始為hero0圖片  
        width = image.getWidth();  
        height = image.getHeight();  
        x = 150;  
        y = 400;  
    }  

    /** 獲取雙倍火力 */  
    public int isDoubleFire() {  
        return doubleFire;  
    }  

    /** 設(shè)置雙倍火力 */  
    public void setDoubleFire(int doubleFire) {  
        this.doubleFire = doubleFire;  
    }  

    /** 增加火力 */  
    public void addDoubleFire(){  
        doubleFire = 40;  
    }  

    /** 增命 */  
    public void addLife(){  //增命  
        life++;  
    }  

    /** 減命 */  
    public void subtractLife(){   //減命  
        life--;  
    }  

    /** 獲取命 */  
    public int getLife(){  
        return life;  
    }  

    /** 當(dāng)前物體移動(dòng)了一下,相對(duì)距離,x,y鼠標(biāo)位置  */  
    public void moveTo(int x,int y){     
        this.x = x - width/2;  
        this.y = y - height/2;  
    }  

    /** 越界處理 */  
    @Override  
    public boolean outOfBounds() {  
        return false;    
    }  

    /** 發(fā)射子彈 */  
    public Bullet[] shoot(){     
        int xStep = width/4;      //4半  
        int yStep = 20;  //步  
        if(doubleFire>0){  //雙倍火力  
            Bullet[] bullets = new Bullet[2];  
            bullets[0] = new Bullet(x+xStep,y-yStep);  //y-yStep(子彈距飛機(jī)的位置)  
            bullets[1] = new Bullet(x+3*xStep,y-yStep);  
            return bullets;  
        }else{      //單倍火力  
            Bullet[] bullets = new Bullet[1];  
            bullets[0] = new Bullet(x+2*xStep,y-yStep);    
            return bullets;  
        }  
    }  

    /** 移動(dòng) */  
    @Override  
    public void step() {  
        if(images.length>0){  
            image = images[index++/10%images.length];  //切換圖片hero0,hero1  
        }  
    }  

    /** 碰撞算法 */  
    public boolean hit(FlyingObject other){  

        int x1 = other.x - this.width/2;                 //x坐標(biāo)最小距離  
        int x2 = other.x + this.width/2 + other.width;   //x坐標(biāo)最大距離  
        int y1 = other.y - this.height/2;                //y坐標(biāo)最小距離  
        int y2 = other.y + this.height/2 + other.height; //y坐標(biāo)最大距離  

        int herox = this.x + this.width/2;               //英雄機(jī)x坐標(biāo)中心點(diǎn)距離  
        int heroy = this.y + this.height/2;              //英雄機(jī)y坐標(biāo)中心點(diǎn)距離  

        return herox>x1 && herox<x2 && heroy>y1 && heroy<y2;   //區(qū)間范圍內(nèi)為撞上了  
    }  

}

游戲啟動(dòng)主類

import java.awt.Font;  
import java.awt.Color;  
import java.awt.Graphics;  
import java.awt.event.MouseAdapter;  
import java.awt.event.MouseEvent;  
import java.util.Arrays;  
import java.util.Random;  
import java.util.Timer;  
import java.util.TimerTask;  
import java.awt.image.BufferedImage;  

import javax.imageio.ImageIO;  
import javax.swing.ImageIcon;  
import javax.swing.JFrame;  
import javax.swing.JPanel;  
/**
 * 
 */
public class ShootGame extends JPanel {  
    public static final int WIDTH = 400; // 面板寬  
    public static final int HEIGHT = 654; // 面板高  
    /** 游戲的當(dāng)前狀態(tài): START RUNNING PAUSE GAME_OVER */  
    private int state;  
    private static final int START = 0;  
    private static final int RUNNING = 1;  
    private static final int PAUSE = 2;  
    private static final int GAME_OVER = 3;  

    private int score = 0; // 得分  
    private Timer timer; // 定時(shí)器  
    private int intervel = 1000 / 100; // 時(shí)間間隔(毫秒)  

    public static BufferedImage background;  
    public static BufferedImage start;  
    public static BufferedImage airplane;  
    public static BufferedImage bee;  
    public static BufferedImage bullet;  
    public static BufferedImage hero0;  
    public static BufferedImage hero1;  
    public static BufferedImage pause;  
    public static BufferedImage gameover;  

    private FlyingObject[] flyings = {}; // 敵機(jī)數(shù)組  
    private Bullet[] bullets = {}; // 子彈數(shù)組  
    private Hero hero = new Hero(); // 英雄機(jī)  

    static { // 靜態(tài)代碼塊,初始化圖片資源  
        try {  
            background = ImageIO.read(ShootGame.class  
                    .getResource("background.png"));  
            start = ImageIO.read(ShootGame.class.getResource("start.png"));  
            airplane = ImageIO  
                    .read(ShootGame.class.getResource("airplane.png"));  
            bee = ImageIO.read(ShootGame.class.getResource("bee.png"));  
            bullet = ImageIO.read(ShootGame.class.getResource("bullet.png"));  
            hero0 = ImageIO.read(ShootGame.class.getResource("hero0.png"));  
            hero1 = ImageIO.read(ShootGame.class.getResource("hero1.png"));  
            pause = ImageIO.read(ShootGame.class.getResource("pause.png"));  
            gameover = ImageIO  
                    .read(ShootGame.class.getResource("gameover.png"));  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  

    /** 畫 */  
    @Override  
    public void paint(Graphics g) {  
        g.drawImage(background, 0, 0, null); // 畫背景圖  
        paintHero(g); // 畫英雄機(jī)  
        paintBullets(g); // 畫子彈  
        paintFlyingObjects(g); // 畫飛行物  
        paintScore(g); // 畫分?jǐn)?shù)  
        paintState(g); // 畫游戲狀態(tài)  
    }  

    /** 畫英雄機(jī) */  
    public void paintHero(Graphics g) {  
        g.drawImage(hero.getImage(), hero.getX(), hero.getY(), null);  
    }  

    /** 畫子彈 */  
    public void paintBullets(Graphics g) {  
        for (int i = 0; i < bullets.length; i++) {  
            Bullet b = bullets[i];  
            g.drawImage(b.getImage(), b.getX() - b.getWidth() / 2, b.getY(),  
                    null);  
        }  
    }  

    /** 畫飛行物 */  
    public void paintFlyingObjects(Graphics g) {  
        for (int i = 0; i < flyings.length; i++) {  
            FlyingObject f = flyings[i];  
            g.drawImage(f.getImage(), f.getX(), f.getY(), null);  
        }  
    }  

    /** 畫分?jǐn)?shù) */  
    public void paintScore(Graphics g) {  
        int x = 10; // x坐標(biāo)  
        int y = 25; // y坐標(biāo)  
        Font font = new Font(Font.SANS_SERIF, Font.BOLD, 22); // 字體  
        g.setColor(new Color(0xFF0000));  
        g.setFont(font); // 設(shè)置字體  
        g.drawString("SCORE:" + score, x, y); // 畫分?jǐn)?shù)  
        y=y+20; // y坐標(biāo)增20  
        g.drawString("LIFE:" + hero.getLife(), x, y); // 畫命  
    }  

    /** 畫游戲狀態(tài) */  
    public void paintState(Graphics g) {  
        switch (state) {  
        case START: // 啟動(dòng)狀態(tài)  
            g.drawImage(start, 0, 0, null);  
            break;  
        case PAUSE: // 暫停狀態(tài)  
            g.drawImage(pause, 0, 0, null);  
            break;  
        case GAME_OVER: // 游戲終止?fàn)顟B(tài)  
            g.drawImage(gameover, 0, 0, null);  
            break;  
        }  
    }  

    public static void main(String[] args) {  
        JFrame frame = new JFrame("Fly");  
        ShootGame game = new ShootGame(); // 面板對(duì)象  
        frame.add(game); // 將面板添加到JFrame中  
        frame.setSize(WIDTH, HEIGHT); // 設(shè)置大小  
        frame.setAlwaysOnTop(true); // 設(shè)置其總在最上  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 默認(rèn)關(guān)閉操作  
        frame.setIconImage(new ImageIcon("images/icon.jpg").getImage()); // 設(shè)置窗體的圖標(biāo)  
        frame.setLocationRelativeTo(null); // 設(shè)置窗體初始位置  
        frame.setVisible(true); // 盡快調(diào)用paint  

        game.action(); // 啟動(dòng)執(zhí)行  
    }  

    /** 啟動(dòng)執(zhí)行代碼 */  
    public void action() {  
        // 鼠標(biāo)監(jiān)聽事件  
        MouseAdapter l = new MouseAdapter() {  
            @Override  
            public void mouseMoved(MouseEvent e) { // 鼠標(biāo)移動(dòng)  
                if (state == RUNNING) { // 運(yùn)行狀態(tài)下移動(dòng)英雄機(jī)--隨鼠標(biāo)位置  
                    int x = e.getX();  
                    int y = e.getY();  
                    hero.moveTo(x, y);  
                }  
            }  

            @Override  
            public void mouseEntered(MouseEvent e) { // 鼠標(biāo)進(jìn)入  
                if (state == PAUSE) { // 暫停狀態(tài)下運(yùn)行  
                    state = RUNNING;  
                }  
            }  

            @Override  
            public void mouseExited(MouseEvent e) { // 鼠標(biāo)退出  
                if (state == RUNNING) { // 游戲未結(jié)束,則設(shè)置其為暫停  
                    state = PAUSE;  
                }  
            }  

            @Override  
            public void mouseClicked(MouseEvent e) { // 鼠標(biāo)點(diǎn)擊  
                switch (state) {  
                case START:  
                    state = RUNNING; // 啟動(dòng)狀態(tài)下運(yùn)行  
                    break;  
                case GAME_OVER: // 游戲結(jié)束,清理現(xiàn)場(chǎng)  
                    flyings = new FlyingObject[0]; // 清空飛行物  
                    bullets = new Bullet[0]; // 清空子彈  
                    hero = new Hero(); // 重新創(chuàng)建英雄機(jī)  
                    score = 0; // 清空成績(jī)  
                    state = START; // 狀態(tài)設(shè)置為啟動(dòng)  
                    break;  
                }  
            }  
        };  
        this.addMouseListener(l); // 處理鼠標(biāo)點(diǎn)擊操作  
        this.addMouseMotionListener(l); // 處理鼠標(biāo)滑動(dòng)操作  

        timer = new Timer(); // 主流程控制  
        timer.schedule(new TimerTask() {  
            @Override  
            public void run() {  
                if (state == RUNNING) { // 運(yùn)行狀態(tài)  
                    enterAction(); // 飛行物入場(chǎng)  
                    stepAction(); // 走一步  
                    shootAction(); // 英雄機(jī)射擊  
                    bangAction(); // 子彈打飛行物  
                    outOfBoundsAction(); // 刪除越界飛行物及子彈  
                    checkGameOverAction(); // 檢查游戲結(jié)束  
                }  
                repaint(); // 重繪,調(diào)用paint()方法  
            }  

        }, intervel, intervel);  
    }  

    int flyEnteredIndex = 0; // 飛行物入場(chǎng)計(jì)數(shù)  

    /** 飛行物入場(chǎng) */  
    public void enterAction() {  
        flyEnteredIndex++;  
        if (flyEnteredIndex % 40 == 0) { // 400毫秒生成一個(gè)飛行物--10*40  
            FlyingObject obj = nextOne(); // 隨機(jī)生成一個(gè)飛行物  
            flyings = Arrays.copyOf(flyings, flyings.length + 1);  
            flyings[flyings.length - 1] = obj;  
        }  
    }  

    /** 走一步 */  
    public void stepAction() {  
        for (int i = 0; i < flyings.length; i++) { // 飛行物走一步  
            FlyingObject f = flyings[i];  
            f.step();  
        }  

        for (int i = 0; i < bullets.length; i++) { // 子彈走一步  
            Bullet b = bullets[i];  
            b.step();  
        }  
        hero.step(); // 英雄機(jī)走一步  
    }  

    /** 飛行物走一步 */  
    public void flyingStepAction() {  
        for (int i = 0; i < flyings.length; i++) {  
            FlyingObject f = flyings[i];  
            f.step();  
        }  
    }  

    int shootIndex = 0; // 射擊計(jì)數(shù)  

    /** 射擊 */  
    public void shootAction() {  
        shootIndex++;  
        if (shootIndex % 30 == 0) { // 300毫秒發(fā)一顆  
            Bullet[] bs = hero.shoot(); // 英雄打出子彈  
            bullets = Arrays.copyOf(bullets, bullets.length + bs.length); // 擴(kuò)容  
            System.arraycopy(bs, 0, bullets, bullets.length - bs.length,  
                    bs.length); // 追加數(shù)組  
        }  
    }  

    /** 子彈與飛行物碰撞檢測(cè) */  
    public void bangAction() {  
        for (int i = 0; i < bullets.length; i++) { // 遍歷所有子彈  
            Bullet b = bullets[i];  
            bang(b); // 子彈和飛行物之間的碰撞檢查  
        }  
    }  

    /** 刪除越界飛行物及子彈 */  
    public void outOfBoundsAction() {  
        int index = 0; // 索引  
        FlyingObject[] flyingLives = new FlyingObject[flyings.length]; // 活著的飛行物  
        for (int i = 0; i < flyings.length; i++) {  
            FlyingObject f = flyings[i];  
            if (!f.outOfBounds()) {  
                flyingLives[index++] = f; // 不越界的留著  
            }  
        }  
        flyings = Arrays.copyOf(flyingLives, index); // 將不越界的飛行物都留著  

        index = 0; // 索引重置為0  
        Bullet[] bulletLives = new Bullet[bullets.length];  
        for (int i = 0; i < bullets.length; i++) {  
            Bullet b = bullets[i];  
            if (!b.outOfBounds()) {  
                bulletLives[index++] = b;  
            }  
        }  
        bullets = Arrays.copyOf(bulletLives, index); // 將不越界的子彈留著  
    }  

    /** 檢查游戲結(jié)束 */  
    public void checkGameOverAction() {  
        if (isGameOver()==true) {  
            state = GAME_OVER; // 改變狀態(tài)  
        }  
    }  

    /** 檢查游戲是否結(jié)束 */  
    public boolean isGameOver() {  

        for (int i = 0; i < flyings.length; i++) {  
            int index = -1;  
            FlyingObject obj = flyings[i];  
            if (hero.hit(obj)) { // 檢查英雄機(jī)與飛行物是否碰撞  
                hero.subtractLife(); // 減命  
                hero.setDoubleFire(0); // 雙倍火力解除  
                index = i; // 記錄碰上的飛行物索引  
            }  
            if (index != -1) {  
                FlyingObject t = flyings[index];  
                flyings[index] = flyings[flyings.length - 1];  
                flyings[flyings.length - 1] = t; // 碰上的與最后一個(gè)飛行物交換  

                flyings = Arrays.copyOf(flyings, flyings.length - 1); // 刪除碰上的飛行物  
            }  
        }  

        return hero.getLife() <= 0;  
    }  

    /** 子彈和飛行物之間的碰撞檢查 */  
    public void bang(Bullet bullet) {  
        int index = -1; // 擊中的飛行物索引  
        for (int i = 0; i < flyings.length; i++) {  
            FlyingObject obj = flyings[i];  
            if (obj.shootBy(bullet)) { // 判斷是否擊中  
                index = i; // 記錄被擊中的飛行物的索引  
                break;  
            }  
        }  
        if (index != -1) { // 有擊中的飛行物  
            FlyingObject one = flyings[index]; // 記錄被擊中的飛行物  

            FlyingObject temp = flyings[index]; // 被擊中的飛行物與最后一個(gè)飛行物交換  
            flyings[index] = flyings[flyings.length - 1];  
            flyings[flyings.length - 1] = temp;  

            flyings = Arrays.copyOf(flyings, flyings.length - 1); // 刪除最后一個(gè)飛行物(即被擊中的)  

            // 檢查one的類型(敵人加分,獎(jiǎng)勵(lì)獲取)  
            if (one instanceof Enemy) { // 檢查類型,是敵人,則加分  
                Enemy e = (Enemy) one; // 強(qiáng)制類型轉(zhuǎn)換  
                score += e.getScore(); // 加分  
            } else { // 若為獎(jiǎng)勵(lì),設(shè)置獎(jiǎng)勵(lì)  
                Award a = (Award) one;  
                int type = a.getType(); // 獲取獎(jiǎng)勵(lì)類型  
                switch (type) {  
                case Award.DOUBLE_FIRE:  
                    hero.addDoubleFire(); // 設(shè)置雙倍火力  
                    break;  
                case Award.LIFE:  
                    hero.addLife(); // 設(shè)置加命  
                    break;  
                }  
            }  
        }  
    }  

    /** 
     * 隨機(jī)生成飛行物 
     *  
     * @return 飛行物對(duì)象 
     */  
    public static FlyingObject nextOne() {  
        Random random = new Random();  
        int type = random.nextInt(20); // [0,20)  
        if (type < 4) {  
            return new Bee();  
        } else {  
            return new Airplane();  
        }  
    }  
}



  作者 |   一只獨(dú)孤的程序猿

來源 |   csdn.net/wclxyn/article/details/110159708


加鋒哥微信: java3459  
圍觀鋒哥朋友圈,每天推送Java干貨!

瀏覽 37
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 午夜神马福利| 在线观看黄片网站| 免费观看黄色视频| 日韩成人综合| 真实国产乱子伦毛片| 久久福利社| 特黄色视频| 高清无码视频免费版本在线观看| 北条麻妃精品青青久久价格| 大香蕉久久| 免费无码国产在线53| 黄色一级a片| 成人久久网| 国产黄色视频免费在线观看| AV资源在线免费观看| 国产人妻中文字幕| 国产乱伦精品视频| 老司机永久免费91| 91久久久久久久久18| 国产电影一区二区三区| 久久精品大香蕉| 三级黄色毛片| 99高清无码| 艹逼在线观看| 中文字幕A片| 在线播放91灌醉迷J高跟美女| 又爽又黄免费网站97双女| 久久久中文字幕| 人人操人人爽| 日韩一级黄片| 天堂一区二区| 奇米狠狠干| 午夜精品18视频国产17c| 美女黄色免费网站| 天天操夜夜操人人操| 啪啪网站免费观看| 亚洲精品一区二区三区无码电影| 艹逼无码| 天天射天天日天天干| 国产精品偷拍视频| 人人草超碰| 日韩精品一区二区三| 成人黄色网| 韩国毛片| 亚洲视频网| 学生妹做爱视频| 一本色道久久综合无码人妻| 大香蕉久热| 91秦先生在线播放| 午夜操逼网| www五月天| 国产视频在线免费观看| 无码色| 无码不卡中文字幕| 视色AV| 蜜桃人妻无码AV天堂二区| 高清毛片AAAAAAAAA郊外| 夜夜嗨AV一区二区三区啊| 激情小视频在线| 免费看欧美成人A片| 91大神免费在线观看| 不卡无码中文字幕一区| 天天干天天撸影视| 精品无码免费看专区| 日韩欧美一区二区三区不卡 | 成人区色情综合小说| A级毛片网站| 国产18欠欠欠一区二区| 男女精品一区| 久久久久久无码日韩欧美电影| 爆操约了良家| 日本老妇操屄视频| 中文字幕三级av片| 香蕉漫画在线观看18| 操逼日爱| 秋霞一区二区三区无码| 亚洲AV五月天在线| 青娱乐黄片| 日本欧美中文| 欧美亚洲系列| 伊人蕉| 国产午夜影视| 777国产盗摄偷窥精品0000| 91探花精品偷拍在线播放| 亚洲不卡免费视频| 色久悠悠综合网| 中文无码网站| 亚洲成人动漫在线| 亚洲福利社| 日韩乱伦网站| 日韩黄色精品| 日本免费不卡视频| 五月天精品视频| 无码区一区二区| 日韩成人无码免费视频| 久久精品苍井空免费一区二| av在线免费观看网站| 杨门女将婬乱史1—6| 在线精品福利| 蜜桃91精品秘成人取精库| 国产色播| 尤物AV| 97人妻精品一区二区三区| 黑人AV在线| 欧美成人精品一区二区| 亚洲欧美在线观看| 日韩无码人妻一区二区三区| 蜜臀久久99精品久久一区二区| 亚洲精品鲁一鲁一区二区三区| 亚洲无码伊人| 动漫人物插画动漫人物的视频软件 | 久久久久久久久久久国产| 免费无码又爽又黄又刺激网站 | 国产乱子伦真实精品| 插菊花综合网1| 亚洲无码视频在线观看| 成人小视频十八禁免费观看| 毛片入口| 波多野结衣AV网站| 国产无码AV| 欧日韩在线| 婷婷俺也去| 91在线综合| 91免费成人| 一级黄色电影在线观看| 亚洲热在线| 国产91在线视频| www一个人免费观看视频www| 最新中文字幕在线播放| 日韩AV在线天堂| 白天操夜夜操| 国产99久久久| 五月天婷婷激情网| 欧美操逼视频网站| 日韩色情视频| 97在线观看视频| 粉嫩AV蜜乳AV蜜臀AV蜂腰AV | 高清无码久久| 成人激情四射网| 在线视频99| 亚洲a级| 久久成人网站| 香蕉久久久| 亚洲中文字幕在线播放| 五月天激情综合| 中日韩黄色视频| 色婷婷一二三精品A片| 亚洲片在线观看| 无码99| 亚洲毛片网| 国产三级片视频| 色色色无码| 久久综合伊人7777777| 撸一撸免费视频| 久久大奶| 视频在线观看一区| 免费看黄色视频| 欧美一区二区三区婷婷五月| 人妻少妇被猛烈进入中文字幕| 91福利影院| 五月丁香六月激情综合| 亚洲天堂视频在线观看免费| 亚洲69视频| 综合网亚洲| 9991区二区三区四区| 伊人大香蕉在线网| 亚洲五区| 91无码人妻一区二区成人AⅤ| 亚洲免费中文字幕| 91视频亚洲| 综合五月婷婷| 欧美色色综合| 老熟女91| 91蝌蚪在线| 久久久在线| 人人干人人操人人爱| 亚洲婷婷视频| 熟妇一区二区| 一本色道久久综合无码人妻| 无码视频免费| 91最新国产| 国语一区| 天天干国产| 九九热精品视频在线观看| AV毛片| 麻豆18禁| 操屄在线观看| 国产凹凸视频| 黄片视频免费在线观看| 中文无码精品欧美日韩| 亚洲中文无码av| 男人的天堂手机在线| www.17c嫩嫩草色蜜桃网站| 91免费视频网站| 国产青娱乐在线视频| 日韩性爱在线视频| 激情人妻av| 俄女兵一级婬片A片| 国产综合自拍| 99插插插| 天天无码视频| 一级片免费视频| 丁香五月激情综合| www日韩| 久久久国产精品人人片| 成人自拍电影| 国产人人色| 特黄网站| 人人澡人人妻人人爽| 日本道在线视频| 免费看国产黄色视频| 91九色口爆吞精| 日韩在线1| 免费在线观看一区| av资源免费观看| 97爱| 91AV免费| 精品美女视频在线观看免费软件| 黄色成人在线视频| 五月天婷婷AV| 日本黄色片视频| 色老板最新网址| 国产区在线观看| 成人亚洲网| 一级二级三级视频| 安徽妇搡BBB搡BBBB户外老太太 | 蜜芽视频| 黑人狂躁女人高潮视频| 天天做天天爱天天高潮| 久久99精品久久久久| 十八女人高潮A片免费| 亚洲欧美日韩一区二区| 国产一级美女操逼视频免费播放 | 黄片网址在线观看| 熟妇人妻中文| 国产有码视频| 无码日逼视频| 亚洲一本之道| 污污污www精品国产网站| 日韩肏屄视频在线观看| 五月天丁香花| aaa在线| 屌国产精品| 综合合一品道| 最近2019中文字幕mv第三季歌词 | 亚洲经典一| 午夜69成人做爱视频网站| 一级A片60分钟免费看| 色一本| 免费内射网站| 加勒比色综合| 欧美理伦| 婷婷久久在线| 国产又粗又大| 伊人大香蕉在线网| 日本在线视频一区二区| 8050午夜| 99热精品免费| 中文字幕99| 狠狠色一区| 天天激情站| 成人午夜视频在线观看| 亚州一级成人片| 精品一区二区三区四区五区六区| A片在线免费看| 日韩人妻精品一区二区| 国产精品欧美一区二区| 91av在线看| 91综合在线观看| 北条麻妃在线一区| 另类老妇奶性BBWBBw| 免费黄视频在线观看| 2025天天干| 青娱乐黄片| 摸BBB搡BBB搡BBBB| 欧美后门菊门交| 欧美爱爱视屏| 国产成人精品av| 国产一区二区三区18| 波多野结衣与黑人| 在线观看视频91| 国产Av大全| 中文在线观看免费视频| 内射精品| 国产精品一| 午夜欧美| 国产免费操逼| 熟女人妻视频| 日韩欧美一级| 91妻人人澡人人爽人人精品| 亚洲三级片在线视频| 专肏老妇人大逼| 三上悠亚无码破解69XXX| 麻豆天美蜜桃91| 2024国产精品| 亚洲免费性爱视频| 欧美一级操逼视频| 日韩AV综合| 久久成人A片| 麻豆一区在线观看| 色婷婷丁香| 69成人在线| 欧美精品在线播放| 天堂中文在线a| 岛国无码破解AV在线播放| AV性爱社区| 麻豆传媒一区二区| 无码人妻一区二区三区免费九色| 久久久久亚洲AV无码网影音先锋 | 欧美日韩亚洲一区二区| 国产精品内射婷婷一级二| 成人久久久久久| 中文字幕在线观看高清| 91成人综合| 在线免费看黄色视频| 欧美视频免费操逼图。| 国产午夜成人免费看片无遮挡| 欧美精产国品一二三区| 黑人亚洲娇小videos∞| 91拍真实国产伦偷精品| 夜夜精品视频| 91探花国产综合在线精品| 人妖和人妖互交性XXXX视频| 色777| 亚洲自拍天堂| 无码三| 一本色道精品久久一区二区三区| 国产麻豆性爱视频| 日韩中文毛片| 又黄又爽的网站| 婷婷情色五月| 免费视频无码| 无码不卡视频在线观看| 在线观看黄视频| 日本不卡视频| 香蕉视频毛片| 另类老妇奶性生BBwBB| 成人无码免费视频| 北条麻妃无码| 亚洲美眉综合网| 成人视频观看| 熟女乱论| 五月婷婷亚洲| AV第一页| 国产精品久久久久久亚洲影视 | 就爱av| 熟女人妻人蜜桃视频| AA视频网站| 亚洲免费性爱视频| 艹逼片| 国产精品久久久久野外| 黑人亚洲娇小videos∞| 欧美黄色网| 亚洲视频www| 日韩A级片| a久久| 日韩欧美综合| 中文字幕在线观看日本| 亚洲中文无码第一页| 久久成人三级片| 日韩在线观看AV| 亚洲精品999| 日韩AV无码专区亚洲AV紧身裤 | 亚洲高清无码在线观看| 亚洲精选中文字幕| 日韩大片免费观看| 熟妇人妻丰满久久久久久久无码 | 免费三区| 欧美又粗又大| 巨乳一区二区三区| 91啪啪视频| 欧美熟妇另类久久久久久不卡| 天天干女人| 欧洲性爱视频在线观看| 亚洲无码高清在线观看| 激情爱爱网| 2025最新国产精品每日更新| 亚洲国产精品午夜福利| 999国产精品视频| 亚洲AV无码成人精品区| 黄色小说在线播放| 中文字幕无码在线播放| 亚洲免费看黄| 九七影院第二页| JULIA超乳JULIA无码| 日韩中文字幕无码人妻| 五月开心激情网| 国产操逼网址| 一区二区三区视频在线观看| 欧一美一婬一伦一区二区三区黑人-亚| 淫荡少妇美红久久久久久久久久 | 97超碰在线免费观看| 久久国产亚洲| 中文字幕观看| 新妺妺窝窝777777野外| 在线黄网站| 国产精品1| 翔田千里无码播放| 国产男女性爱视频播放| 西西人体444rt高清大胆模特| 操B视频在线免费观看| 撸一撸在线视频| 青青草成人AV| 操逼无码| 能看的AV网站| 51嘿嘿嘿国产精品伦理| 亚洲一级黄| 国产成人亚洲综合AV婷婷| 蜜桃av秘一区二区三区| 波多野成人无码精品视频| 在线天堂a| 欧美黄网站| 亚韩AV| 日本精品在线观看视频| 无码婷婷| 国产精品美女久久久久AV爽 | 日韩精品视频免费| 精品免费视频| 在线内射视频| 成人在线三级| 亚洲精品黄色| 色五月AV| 午夜成人国产| 草逼片| 黄色一级视频网站| 怡红院爽妇网| 一级电影网站| 校园春色亚洲无码| 西西人体大胆ww4444图片| 4438成人网| 国产成人精品免费看视频| 亚洲无码久久飞鱼网站| 四川少妇BBBB槡BBBB槡| 日本黄色三级| 日韩一级一片内射视频4K| 少妇视频一区| 亚洲免费AV在线| 视频一区乳奴| 丰满老妇高潮一级A片| 日本豆花视频| 专业操美女视频网站| 成人精品国产| 草草影院CCYYCOM屁屁影院合集限制影院 | 一本色道久久88综合无码| 伊人网视频在线| 91人人人人| 婷婷激情五月天丁香| 国产精品秘麻豆果冻传媒潘甜甜丶| 黄色免费在线网站| 又粗又硬又爽18级A片| 亚洲精品三级片| 日本成人高清视频| 亚洲二区无码| 国产无码免费视频| 一级国产欧美成人A片| 国产精品美女久久久久久久久 | 亚洲成人av| 99这里有精品| 一区二区三区在线视频观看| 脓肿是什么原因引起的,该怎么治疗| 欧美不卡一区二区三区| 国产乱子伦精品久久| 91在线无码精品国产三年| 亚洲AV无码一区| 成人无码观看| 爱爱视频无码| 毛片二区| 亚洲美女一区| 国产精品久久久久久婷婷天堂| 欧美亚洲国产精品| 无码人妻丰满熟妇区毛片视频| 俺来俺也去www色在线观看| 亚洲超级高清无码第一在线视频观看 | 欧美嗯啊| 久久都是精品| 一本到在线观看午夜剧场| 成人爽a毛片一区二区免费| 精品少妇人妻一区二区| 99资源站| 日韩视频中文字幕| 亚洲V国产v欧美v久久久久久 | 亚洲性爱影院| 激情五月俺也去| 伊人蕉| 国产精品婷婷| 久肏| 久久综合在线| 日本www视频| 美女毛片视频| www国产精品| 污视频网站在线观看| 日韩一级A| 日韩在线视频免费观看| 国产精彩视频| 欧美国产乱伦| 霸道总裁雷总各种姿势白浆爱情岛论坛 | 色搞搞| 99无码人妻| 久久青青操| 极品少妇视频| 在线小视频| 四虎精品一区二区| 色欲网址| 88AV在线观看| 日韩欧美视频一区国产欧美在线| 学生妹一级J人片内射视频| 亚洲欧美网站| 成年人黄色在线观看| 日韩无码黄色片| 国产精品揄拍一区二区| 国产成人亚洲综合A∨婷婷| 91精品国产一区二区| 欧美一级特黄A片免费观看| 国产又粗又长又硬黄色一级片| 岛国av免费| 在线观看无码av| 国产熟睡乱子伦午夜视频_第1集 | 69成人视频| 亚洲成人AV| 西西444大胆无码视频| 亚洲在线视频观看| 91九色视频| 天堂va欧美va亚洲va在线| 国产精品一区av| 色欲天天网| 青娱乐亚洲| 激情动态视频| 国产9熟妇视频网站| 在线黄色视频网站| 成人毛片一区二区三区| 大香蕉现在视频中心一| av中文在线观看| 色婷婷日韩精品一区二区三区| 夜夜撸日日| 97超碰自拍| 粉嫩一区二区三区四区| 亚洲色图在线观看| 操欧美逼| ppypp电影频道| 色播一区| 久久久久久久久黄色| 99热中文字幕在线观看| 亚洲天堂视频在线观看| 91狠狠综合久久久| 久久AV秘一区二区三区水生| 中文字幕有码在线看| 欧美日韩成人网站| 天天日天天爱| 免费成人黄视频| 色色成人网| 中国字幕在线观看韩国电影| 北条麻妃在线中文字幕| 777三级| 在线观看欧美黄片| 手机看片福利视频| 色色色无码| 97中文字幕| 91国产爽黄| 成人三级视频在线观看| 九九热re99re6在线精品| 国产成人精品一区二区三区视频 | 亚洲1区| 国产性猛交╳XXX乱大交| 热久久久久久| A级视频网| 韩国色情中文字幕| 91久久精品日日躁夜夜躁国产| 人人澡人人干| 深爱五月激情网| а√在线中文8| 色噜噜人妻av中文字幕| 久久久久亚洲AV无码成人片| 国产,亚洲91| xxx国产精品| 免费播放片色情A片| 婷婷日韩中文字幕| 免费黄色视频网站| 成全在线观看高清的| 国产做受91电影| 国产视频999| 亚洲成人一二三区| 内射视频免费看| 日本成人A| 91视频成人版一区二区| 亚洲欧美综合| 国产成人精品在线观看| 久久亚洲成人| 成人网站免费在线观看| 国产精品夜夜爽7777777| 日本三级黄色| 欧美国产视频| 久久熟妇| 九九九九九精品| 嫩BBB槡BBBB槡BBBB二一| 国产精品久久77777| 国产精品欧美综合亚洲| 3级片网站| 无码秘蜜桃一区二区| 日韩视频在线免费观看| 成人免费大香蕉| 熟女人妻人妻の视频| 男女啪啪动态图| 黄色A片免费看| 在线观看免费国产| 免费视频久久| 中文字幕在线观看二区| 欧美一级日韩| 精品999999| 18禁看网站| av无码不卡| 强奸五月天| 久久久久久免费一级A片| 日本在线不卡一区| av三级片在线播放| 日韩精品一区二区三区四在线播放 | 国产91无码精品秘入口| 人人爱人人干人人操| 无码孕妇| 蜜桃在线一区| 人妻无码在线观看| 激情中文网| 久草视频在线免费| 夜夜嗨av无码一区二区三区| 黑人无码一二三四五区| 国产Av婬乱麻豆| 炮友露脸青楼传媒刘颖儿| 影音先锋资源| 黄色视频在线观看免费| 日韩精品成人| 久久免费黄色视频| 亚洲高清在线视频| 欧亚毛片| 久久久亚洲无码| 51成人网站免费| 无码国产精品一区二区免费式直播 | 视色网| 97人人爽人人爽人人人| 91aaa在线观看| 福利导航网| 国产视频无码| 大香伊人久久| 爱搞在线观看| 男女啪啪免费网站| 毛片网站在线| www.干| 91视频免费网站| 免费无码高清视频| 免费毛片基地| 国产精品无码一区二区三区| 8050午夜网| 久艹视频在线观看| 国产精品A片| 嫩草人人精品免费| 二区无码| 影音先锋一区| 综合色国产精品欧美在线| 国产香蕉视屏| 国产女人操逼视频| av福利在线观看| 国内自拍99| 欧美日韩综合| 久久久久久亚洲AV黄床| www.jiujiujiu| 国产视频123区| 国产理论在线| 日本黄色片视频| 特级西西人体444www高清大胆 | 欧美日韩操逼视频| 91精品国产综合久久久蜜臀九色| 啪啪网站免费| 91在线无码精品秘入口| 麻豆AV96熟妇人妻| 天堂a√中文8| 男女啪啪网站| 黑人vs亚洲人在线播放| 中文无码Av| 五月丁香视频在线| 尹人大香蕉网| 欧美特级黄| 特写毛茸茸BBwBBwBBw| 日韩久久久久| 亚洲成人视频在线免费观看| 在线A视频| 四lll少妇BBBB槡BBBB| 在线亚洲观看| 国产XXXXX| 午夜国产在线观看| 蜜桃一区二区三区| 亚洲高清无码在线观看| 麻豆传媒猫爪| www99| 熟女人妻人妻の视频| www.午夜福利| 欧美在线视频网| 久久偷拍网| 亚洲视频一区二区三区四区娇小视频在线观看视频| 国产美女啪啪视频| 五月丁香婷中文| 毛片网站在线| 三级片视频网站| 日韩欧美亚洲| 无码三级AV| 未满十八18禁止免费无码网站 | 国产人妻中文字幕| 亚洲中文字幕日韩精品| 香蕉综合在线| 谁有毛片网站| 国产五月婷婷| 中文字幕亚洲区| 国产不卡在线| 日韩一级无码| 国产人妻人伦精品一区| 日韩无码一区二区三| 国产一区二区在线播放| 国产乱子伦无码视频免费| 高清无码免费看| 欧美精品日韩在线观看| 色婷婷AV国产精品| 日韩黄色电影在线观看| 国产曰韩欧美综合另类在线| 欧美日韩精品一区二区三区| 欧美AAAAA| 三级在线网站| 亚洲成a| 亚洲无码成人片| 五月丁香伊人| 国产黄网| 情趣视频网站| а√天堂中文官网8| 91香蕉视频免费| 无码伦理| 国产一卡二卡在线| 三级片无码在线播放| 国产毛片在线| 久久中文字幕电影| 午夜视频免费在线观看| 2019天天操| 国产精品久久久久久无码人妻| 亚洲国产黄色视频| 日本免费中文字幕| 欧美成人网站在线观看| 天天玩夜夜玩天天玩国产99| 国产女人18毛片水18精品软件| 无码国产av| 国产综合一区二区| 国产一区二区三区视频在线观看| 中文字幕+乱码+中文乱码www| 青娱乐大香蕉| 久久动图| 成人丁香五月天| 俺来俺也去www色在线观看| a4yy午夜福利| 亚洲免费成人| 巨い巨乳の少妇あジed2k| 天天操天天射天天爽| 999热视频| 欧美激情片| 久久嫩草精品久久久久| 国产AV激情| 大香蕉伊人成人| 88av在线播放| 黄色视频导航| 国产深夜福利| 黄色精品| 美女裸体视频网站| 亚洲一区2区| 可以在线观看的AV| 黄色美女网站| 伊人午夜| 国产成人精品亚洲男人的天堂 | A视频免费观看| 成人精品久久久| 欧美天堂成人三级| 99精品一区二区| 天天天天日天天干| 精品有码| 久草小视频| 精品无码免费看专区| 高清无码内射视频| AV婷婷五月天| 无码人妻精品一区二区三千菊电影| 日本三级视频| 日韩免费Av| 日韩在线二区| 69AV视频在线观看| jiujiuav| 久久亚洲日韩天天做日日做综合亚洲 | 人人妻人人澡人人爽人人| 日本少妇黄色视频| 成人免费视频网站| 午夜成人在线视频| 日韩视频无码| 浪潮在线观看完整版| 中文字幕成人免费视频| 亚洲色婷婷五月天| 日韩精品三级片| 成人网站在线看| 最新av网| 亚洲三级毛片| 亚洲最大无码| 国产精品九九九| 国产三级一区| 欧美亚洲日韩一区二区| 午夜无码影院| 欧美视频一区二区三区| 探花熟女| 欧美成人中文字幕在线| 无码精品视频在线观看| 黄色毛片网站| 91香蕉网站| 欧美伊人在线| 免费看黃色AAAAAA片| 安徽少妇搡bbw搡bbbb| 久久超碰99| 亚洲国产成人91PORN| 成人网站免费在线| 免费a片观看| 国产小电影在线观看| 亚洲精品无码视频在线观看| 亚洲日韩中文字幕在线观看| 免费AV播放| 久久免费视频,久久免费视频| 久久国产性爱| 日韩免费高清在线视频| 亚洲无码在线精品| 伊人大综合| 欧美日韩中文字幕在线观看| 91N视频| 奇米色婷婷| 人善交精品一区二区三区| 日韩欧美在线中文| 日韩无码AV中文字幕| 91网站免费在线观看| 国产免费一区二区三区| 午夜无码福利视频| 激情人妻av| 国产suv精品一区二区6| 久久午夜无码鲁丝午夜精品| 秋霞一区二区| 欧美sese| 欧美日韩操逼片| 精品一区二区三区四| 毛多水多丰满女人A片| 国产成人精品八戒| 真人一级片| 亚洲激情四射| 青春草视频| 三区在线观看| 亚洲日韩成人电影| 欧美日韩在线免费观看| 欧美视频自拍| 男女啊啊啊| 肏逼网站| 欧美V亚洲| 欧美日韩国产成人在线| 俺来也俺去也| 国产伦理一区| 亚洲五月天婷婷| 久久三级| 欧美在线A| 成人肏屄视频| 操逼日爱| 手机AV在线观看| 国产精品无码成人AV在线播放| 北条麻妃一区二区三区-免费免费高清观看| 亚洲不卡一区二区三区| 成人毛片在线播放| 欧美footjob高跟脚交| 男人视频网站| 水密桃网站| 日本无码区| 3D动漫精品啪啪一区二区竹笋| 国产图区| 亚洲少妇网| 日韩综合在线视频| 免费无码成人片在线观看在线| 中文字幕成人免费视频| 亚洲精品一区二区三区新线路| 伊人黄| 91大神网址| 久久伊人大| 影音先锋人妻资源| 免费黄色视频网站大全| 国产av天堂| 无码人妻丰满熟妇啪啪| 尤物视频官网| 久久狠| 伊人大香蕉视频在线观看| 欧美a在线观看| 日本高清视频www| 青娱乐精品在线| 日本黄色电影网址| 欧一美一婬一伦一区二区三区自慰国 | 欧美一级片网站| 农村一级婬片A片AAA毛片古装 | 黄色视频在线免费观看高清视频| 99草在线视频| 日本免费黄色电影| 婷婷激情六月| 伊人一区二区三区|