精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

代碼分享:用Java開發的《星際爭霸》游戲

開發 后端
《星際爭霸》這個游戲對于網友們來說并不陌生,但是如果要是用Java來編寫出《星際爭霸》不知道大家聽說過沒?下面的就是一位很彪悍的人物用Java寫的《星際爭霸》游戲,而且效果相當逼真。

代碼說明:

《星際爭霸》這個游戲對于網友們來說并不陌生,但是如果要是用Java來編寫出《星際爭霸》不知道大家聽說過沒?下面的就是一位很彪悍的人物用Java寫的《星際爭霸》游戲,而且效果相當逼真。

源代碼附件大家自己下載吧,可以研究研究。導入工程后,src/test目錄下打開TestGameCore.java可直接運行游戲。


Java代碼(由于代碼比較多,只貼出一部分):

Control.java

  1. package core;  
  2.  
  3. import java.awt.Color;  
  4. import java.awt.Component;  
  5. import java.awt.Graphics;  
  6. import java.awt.event.InputEvent;  
  7. import java.awt.event.KeyEvent;  
  8. import java.awt.event.KeyListener;  
  9. import java.awt.event.MouseAdapter;  
  10. import java.awt.event.MouseEvent;  
  11. import java.awt.event.MouseMotionAdapter;  
  12.  
  13. import javax.swing.KeyStroke;  
  14. /**  
  15.  * 用戶交互控制  
  16.  * @author Administrator  
  17.  */ 
  18. public class Control {  
  19.       
  20.     private int x, y, dx, dy, width, height;  
  21.  
  22.     private boolean dragged, moveing;  
  23.  
  24.     private Component component;  
  25.  
  26.     private ControlDragListener dragLister = new ControlDragListener();  
  27.  
  28.     private ControlMoveListener moveLister = new ControlMoveListener();  
  29.       
  30.     private ControlKeyListener keyLister = new ControlKeyListener();  
  31.  
  32.     private DragListener dragListener;  
  33.       
  34.     private MoveListener moveListener;  
  35.       
  36.     private LeftPressListener leftPressListener;  
  37.       
  38.     private RightPressListener rightPressListener;  
  39.       
  40.     private KeyPressListener keyPressListener;  
  41.       
  42.       
  43.     public static final int LEFT_MOUSE = 1;  
  44.       
  45.     public static final int RIGHT_MOUSE = 3;  
  46.         
  47.     public Control(Component mouseComponent,Component keyComponent) {  
  48.           
  49.         this.component = mouseComponent;  
  50.         component.addMouseListener(dragLister);  
  51.         component.addMouseMotionListener(moveLister);  
  52.         keyComponent.addKeyListener(keyLister);  
  53.     }  
  54.  
  55.       
  56.     public void drag(Graphics g) {  
  57.  
  58.         if (dragged && moveing) {  
  59.             g.setColor(Color.red);  
  60.             width = Math.abs(dx - x);  
  61.             height = Math.abs(dy - y);  
  62.             g.drawRect(Math.min(x, dx), Math.min(y, dy), width, height);  
  63.         }  
  64.     }  
  65.     /**  
  66.      * 新增鼠標拖放回調  
  67.      * @param dragCallBack  
  68.      */ 
  69.     public Control addDragListener(DragListener dragCallBack){  
  70.         this.dragListener = dragCallBack;  
  71.         return this;  
  72.     }  
  73.     /**  
  74.      * 新增鼠標移動回調  
  75.      * @param moveListener  
  76.      * @return  
  77.      */ 
  78.     public Control addMoveListener(MoveListener moveListener){  
  79.         this.moveListener = moveListener;  
  80.         return this;  
  81.     }  
  82.       
  83.     public Control addLeftPressListener(LeftPressListener selectCallBack){  
  84.         this.leftPressListener = selectCallBack;  
  85.         return this;  
  86.     }  
  87.       
  88.     public Control addRightPressListener(RightPressListener selectCallBack){  
  89.         this.rightPressListener = selectCallBack;  
  90.         return this;  
  91.     }  
  92.       
  93.     public Control addKeyPressListener(KeyPressListener keyPressListener){  
  94.         this.keyPressListener = keyPressListener;  
  95.         return this;  
  96.     }  
  97.       
  98.        
  99.     /**  
  100.      * 內部類,處理鼠標點擊  
  101.      */ 
  102.     private class ControlDragListener extends MouseAdapter {  
  103.  
  104.         public void mousePressed(MouseEvent e) {  
  105.               
  106.             //如果是左鍵  
  107.             if(e.getButton()==LEFT_MOUSE){  
  108.                 x = e.getX();  
  109.                 y = e.getY();  
  110.                 dragged = true;  
  111.                   
  112.                 if(leftPressListener!=null){  
  113.                     leftPressListener.press(x, y);  
  114.                 }  
  115.             //如果是右鍵   
  116.             } else if(e.getButton()==RIGHT_MOUSE){  
  117.                   
  118.                 if(rightPressListener!=null){  
  119. //                  System.out.println(e.getX()+","+e.getY());  
  120.                     rightPressListener.press(e.getX(), e.getY());  
  121.                 }  
  122.             }  
  123.         }  
  124.           
  125.  
  126.         public void mouseReleased(MouseEvent e) {  
  127.               
  128.             //如果需要有回調  
  129.             if(dragListener!=null&&dragged&&moveing){  
  130.                  int tx = Math.min(x, dx);  
  131.                  int ty = Math.min(y, dy);  
  132.                  int tdx = Math.max(x, dx);  
  133.                  int tdy = Math.max(y, dy);  
  134.                 dragListener.drag(tx, ty, tdx, tdy);  
  135.             }  
  136.             x = 0;  
  137.             y = 0;  
  138.             dx = 0;  
  139.             dy = 0;  
  140.             dragged = false;  
  141.             moveing = false;  
  142.         }  
  143.     }  
  144.     /**  
  145.      * 內部類,處理鼠標移動  
  146.      */ 
  147.     private class ControlMoveListener extends MouseMotionAdapter {  
  148.  
  149.         public void mouseDragged(MouseEvent e) {  
  150.           
  151.             if (dragged) {  
  152.                 dx = Math.min(e.getX(), component.getWidth());  
  153.                 dy = Math.min(e.getY(), component.getHeight());  
  154.                 moveing = true;  
  155.             }  
  156.         }  
  157.           
  158.         public void mouseMoved(MouseEvent e) {  
  159.               
  160.             if(moveListener!=null){  
  161.                 moveListener.move(e.getX(), e.getY());  
  162.             }  
  163.                   
  164.         }  
  165.     }  
  166.       
  167.     private class ControlKeyListener implements KeyListener{  
  168.           
  169.         public void keyPressed(KeyEvent e) {  
  170.               
  171.               
  172.             if(e.getKeyCode()==KeyEvent.VK_ESCAPE){  
  173.                  System.exit(-1);  
  174.             }  
  175.               
  176.             if(keyPressListener!=null){  
  177.                 keyPressListener.press(e.getKeyCode());  
  178.             }  
  179.               
  180.         }  
  181.  
  182.         public void keyReleased(KeyEvent e) {  
  183.             //System.out.println(e.getKeyCode());  
  184.               
  185.         }  
  186.  
  187.         public void keyTyped(KeyEvent e) {  
  188.                 
  189.               KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK);  
  190.                
  191.  
  192.         }  
  193.     }  
  194.       
  195.     /**  
  196.      * 內部接口,鼠標拖動回調  
  197.      */   
  198.     public static interface DragListener{  
  199.           
  200.         public void drag(int x,int y,int dx,int dy);  
  201.     }  
  202.     /**  
  203.      * 內部接口,鼠標移動回調  
  204.      */ 
  205.     public static interface MoveListener{  
  206.           
  207.         public void move(int x,int y);  
  208.     }  
  209.     /**  
  210.      *   
  211.      *內部接口,左鍵回調  
  212.      */   
  213.     public static interface LeftPressListener{  
  214.           
  215.         public void press(int x,int y);  
  216.     }  
  217.     /**  
  218.      *  內部接口,右鍵回調  
  219.      */ 
  220.     public static interface RightPressListener{  
  221.           
  222.         public void press(int x,int y);  
  223.     }  
  224.       
  225.     /**  
  226.      *   
  227.      * @author jiangyp  
  228.      */ 
  229.     public static interface KeyPressListener{  
  230.           
  231.         public void press(int keyCode);  
  232.     }  
  233.       

GameCore.java

  1. package core;  
  2.  
  3. import java.awt.Color;  
  4. import java.awt.Container;  
  5. import java.awt.Font;  
  6. import java.awt.Graphics2D;  
  7. import java.awt.Point;  
  8. import java.awt.RenderingHints;  
  9. import java.awt.Toolkit;  
  10. import java.awt.image.BufferStrategy;  
  11.  
  12. import javax.swing.JComponent;  
  13. import javax.swing.JFrame;  
  14.  
  15. /**  
  16.  * Simple abstract class used for testing. Subclasses should implement the  
  17.  * draw() method.  
  18.  */ 
  19. public abstract class GameCore extends JFrame {  
  20.  
  21.     protected static final int FONT_SIZE = 10;  
  22.  
  23.     private boolean isRunning;  
  24.  
  25.     protected JFrame window;  
  26.  
  27.     public void stop() {  
  28.  
  29.     }  
  30.  
  31.     /**  
  32.      * Calls init() and gameLoop()  
  33.      */ 
  34.     public void run() {  
  35.         init();  
  36.         gameLoop();  
  37.     }  
  38.  
  39.     /**  
  40.      * Sets full screen mode and initiates and objects.  
  41.      */ 
  42.     public void init() {  
  43.  
  44.         setUndecorated(true);  
  45.         setTitle("JStarCraft");  
  46.         setIconImage(ResourceManager.loadImage("title.png"));  
  47.         setDefaultCloseOperation(EXIT_ON_CLOSE);  
  48.         setSize(800600);  
  49.         setVisible(true);  
  50.         setIgnoreRepaint(true);  
  51.         setResizable(false);  
  52.         setFont(new Font("Dialog", Font.PLAIN, FONT_SIZE));  
  53.         setBackground(Color.black);  
  54.         setForeground(Color.white);  
  55.         createBufferStrategy(2);  
  56.         isRunning = true;  
  57.         setCursor(Toolkit.getDefaultToolkit().createCustomCursor(  
  58.                 ResourceManager.loadImage("cur.png"), new Point(00), "cur"));  
  59.         window = getWindow();  
  60.         NullRepaintManager.install();  
  61.         window.setLayout(null);  
  62.         Container contentPane = getWindow().getContentPane();  
  63.         ((JComponent) contentPane).setOpaque(false);  
  64.  
  65.     }  
  66.  
  67.     /**  
  68.      * Runs through the game loop until stop() is called.  
  69.      */ 
  70.     public void gameLoop() {  
  71.  
  72.         BufferStrategy strategy = getBufferStrategy();  
  73.         long startTime = System.currentTimeMillis();  
  74.         long currTime = startTime;  
  75.         while (isRunning) {  
  76.  
  77.             long elapsedTime = System.currentTimeMillis() - currTime;  
  78.             currTime += elapsedTime;  
  79.  
  80.             // update  
  81.             update(elapsedTime);  
  82.  
  83.             // draw the screen  
  84.             Graphics2D g = (Graphics2D) strategy.getDrawGraphics();  
  85.             g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,  
  86.                     RenderingHints.VALUE_ANTIALIAS_ON);  
  87.             g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,  
  88.                     RenderingHints.VALUE_TEXT_ANTIALIAS_ON);          
  89.             // g.drawImage(ResourceManager.loadImage("background3.jpg"), 0, 33,  
  90.             // null);  
  91.             draw(g);  
  92.             g.dispose();  
  93.  
  94.             if (!strategy.contentsLost()) {  
  95.                 strategy.show();  
  96.             }  
  97.  
  98.             // take a nap  
  99.             try {  
  100.                 Thread.sleep(5);  
  101.             } catch (InterruptedException ex) {  
  102.             }  
  103.         }  
  104.     }  
  105.  
  106.     /**  
  107.      * Updates the state of the game/animation based on the amount of elapsed  
  108.      * time that has passed.  
  109.      */ 
  110.     public void update(long elapsedTime) {  
  111.         // do nothing  
  112.     }  
  113.  
  114.     /**  
  115.      * Draws to the screen. Subclasses must override this method.  
  116.      */ 
  117.     public abstract void draw(Graphics2D g);  
  118.  
  119.     public JFrame getWindow() {  
  120.         return this;  
  121.     }  

圖片效果:


[[56257]] 

下載地址:http://down.51cto.com/data/321588

【編輯推薦】

  1. 代碼分享:實現系統托盤效果
  2. 代碼分享:模擬售票學習多線程
  3. 代碼分享:心算24小游戲
  4. 代碼分享:Swing外觀抗鋸齒字體設置
責任編輯:林師授 來源: 網絡收集
相關推薦

2013-07-02 13:52:07

2010-07-19 13:15:49

星際爭霸2

2010-01-14 17:17:32

云計算

2014-03-18 15:23:58

星際爭霸ARM平臺

2009-08-18 09:47:44

百強游戲任天堂

2021-12-01 10:01:52

AI 游戲人工智能

2011-05-13 11:49:42

網絡安全技術周刊

2019-01-25 18:37:20

AI數據科技

2024-09-23 15:04:16

2023-11-18 09:48:23

2011-04-19 18:17:36

2010-01-18 16:57:09

云計算星際爭霸

2010-08-03 09:43:59

IT技術周刊

2019-08-12 08:43:53

GitHub代碼開發者

2010-08-01 22:30:12

2020-01-16 15:57:36

AI 數據人工智能

2022-06-02 15:19:31

架構智能強化學習

2021-11-30 08:00:00

人工智能數據技術

2019-01-30 11:17:46

2009-07-24 08:17:37

巫妖王之怒亮相Chin魔獸世界
點贊
收藏

51CTO技術棧公眾號

免费成人看片网址| 国模精品视频一区二区| 奇米视频888| 91高清在线观看视频| 国产.精品.日韩.另类.中文.在线.播放 | 天天av天天翘天天综合网| 成人xxxxx色| 黄色av一级片| 综合视频在线| 亚洲香蕉成视频在线观看| 亚洲第一天堂久久| 忘忧草在线影院两性视频| 国产精品国模大尺度视频| 国产伦精品一区二区三区高清版| 婷婷激情五月综合| 欧美日韩亚洲一区| 亚洲三级 欧美三级| 男插女视频网站| 亚洲综合av一区二区三区| 一区二区欧美在线观看| 日韩精品一区二区三区色偷偷| 国产美女主播在线观看| 美女诱惑一区| 97视频色精品| 欧美色图一区二区| 欧美日韩一区二区三区视频播放| 精品国产一区二区国模嫣然| 自拍偷拍21p| 中文字幕在线看片| 一二三区精品福利视频| 亚洲一卡二卡三卡四卡无卡网站在线看| 亚洲精华国产精华精华液网站| 免费一区二区视频| 欧美亚洲一级片| 久久精品视频久久| 亚洲91中文字幕无线码三区| 亚洲天堂第一页| 成人网站免费观看| 欧美交a欧美精品喷水| 日韩欧美成人激情| 中文字幕一区二区三区四| 不卡亚洲精品| 欧美综合在线视频| 不要播放器的av网站| 99re6在线精品视频免费播放| 亚洲图片欧美激情| 一道精品一区二区三区| 国产三级在线免费观看| 久久久精品综合| 久久久久免费网| 五月婷婷丁香网| 99天天综合性| 久久99精品久久久久久久青青日本| 精品人妻一区二区三区浪潮在线| 黑人巨大精品欧美黑白配亚洲| 国产中文字幕日韩| 国产精品久久久久久免费免熟| 蜜桃视频第一区免费观看| 国产美女精彩久久| 亚洲视频中文字幕在线观看| 全部av―极品视觉盛宴亚洲| 国产精品一区二区在线| 一区二区国产欧美| 国产美女一区二区| 成人欧美一区二区| 神马午夜在线观看| 国产亚洲成aⅴ人片在线观看| 欧美一区二区三区成人久久片 | 国产一区二区三区丝袜| 韩国女同性做爰三级| 国产精品亚洲二区| 丝袜美腿精品国产二区| 欧美成人777| 欧美日韩岛国| 欧美一级大片在线观看| 99久久久无码国产精品免费蜜柚| 琪琪一区二区三区| 亚洲伊人久久大香线蕉av| 黄色aaa毛片| 久久久一区二区| 伊人久久大香线蕉午夜av| 黄色在线免费网站| 亚洲国产乱码最新视频| 99久久国产宗和精品1上映| 免费视频成人| 精品久久久久久无| 三级网站在线免费观看| 999国产精品| 国产最新精品视频| 成人一二三四区| 国产精品538一区二区在线| 国产亚洲自拍偷拍| av中文字幕在线| 一区二区三区四区高清精品免费观看 | 成人激情开心网| 久久的精品视频| 亚洲精品77777| 美女看a上一区| 国产精品日韩欧美一区二区三区 | 欧美一级在线看| 日韩城人网站| 精品视频—区二区三区免费| 国产wwwwxxxx| 日韩午夜在线电影| 国产日韩精品在线播放| 手机在线观看毛片| 亚洲欧美自拍偷拍| 欧美污视频网站| 玖玖玖视频精品| 亚洲精品一区av在线播放| 久久国产精品国语对白| 久久精选视频| 99久re热视频这里只有精品6| 免费观看成年在线视频网站| 亚洲精品国产成人久久av盗摄| 日韩精品无码一区二区三区免费| 欧州一区二区三区| 国产小视频国产精品| 国产午夜精品无码| 国产一区二区三区国产| 日本一区视频在线| 在线天堂资源| 亚洲福利视频网站| 国模无码国产精品视频| 蜜桃视频一区二区三区| 欧美久久久久久一卡四| 成人免费网站观看| 欧美mv日韩mv| 国产少妇在线观看| 精品亚洲国产成人av制服丝袜| 欧美在线播放一区| 日本乱码一区二区三区不卡| 日韩免费观看高清完整版在线观看| 99在线视频免费| 久久综合婷婷| 欧美伦理一区二区| 小早川怜子影音先锋在线观看| 欧美va天堂va视频va在线| 精品自拍偷拍视频| 国产自产视频一区二区三区| 亚洲激情电影在线| 欧美日韩精品一区二区三区视频| 亚洲欧美一区二区精品久久久| 色网站在线播放| zzijzzij亚洲日本少妇熟睡| 青青草视频在线视频| 日韩精品久久久久久久软件91| 久久精品视频va| 国产又粗又猛又黄又爽无遮挡| 国产精品久久久久婷婷二区次| 亚洲36d大奶网| 五月激情综合| 91系列在线观看| 成人片在线看| 欧美成人vr18sexvr| 久久午夜鲁丝片午夜精品| 国产91精品一区二区麻豆网站| 日韩在线视频在线| 国产精品极品| 2021久久精品国产99国产精品| 五十路在线观看| 日韩欧美视频一区二区三区| 亚洲精品乱码久久久久久久久久久久| 在线亚洲精品| 日本视频精品一区| 久久精品 人人爱| 日韩亚洲综合在线| 亚洲av无码一区二区乱子伦| 亚洲成人免费av| 久久午夜夜伦鲁鲁片| 久久在线精品| 手机福利在线视频| 国产精品玖玖玖在线资源| 欧美国产在线电影| 五月天婷婷在线播放| 欧美中文字幕久久| 欧美性猛交xxxxx少妇| 成人v精品蜜桃久久一区| 久久9精品区-无套内射无码| 成人在线国产| 99re在线观看视频| 欧美gay囗交囗交| 久久久国产精彩视频美女艺术照福利| 亚洲精品视频91| 色一情一伦一子一伦一区| 免费成人美女女在线观看| 国产999精品久久久久久| 免费在线观看毛片网站| 91精品啪在线观看国产18| 国产亚洲欧美一区二区| 成人1区2区| 91国产一区在线| 亚洲精品传媒| 日韩av在线免费观看| 在线观看国产一区二区三区| 亚洲一区在线免费观看| 波多野在线播放| 成人综合在线视频| 香蕉视频禁止18| 一区久久精品| 在线观看亚洲视频啊啊啊啊| 久久男人av| 91精品中文在线| 欧美大胆成人| 欧美精品福利视频| 91最新在线| 亚洲缚视频在线观看| 一炮成瘾1v1高h| 在线视频你懂得一区二区三区| 久草视频在线免费看| 国产精品午夜免费| 波多野结衣一本| 国产成人aaa| 又色又爽又黄视频| 石原莉奈在线亚洲三区| 给我免费播放片在线观看| 天天插综合网| 日韩欧美精品久久| 香蕉一区二区| 国产亚洲二区| 在线播放一区二区精品视频| 国产精品女主播视频| 亚洲十八**毛片| 久久久久亚洲精品成人网小说| 欧美一区二区三区| 中文字幕欧美日韩在线| 久久久久国产精品嫩草影院| 亚洲成人性视频| 亚洲av无码乱码国产精品| 制服丝袜亚洲色图| 中文字幕一区二区久久人妻| 欧美日韩在线看| 99视频在线看| 亚洲国产精品人人做人人爽| 丰满少妇被猛烈进入一区二区| 国产精品成人在线观看| 国产精品成人无码免费| 91丝袜国产在线播放| 污污污www精品国产网站| 国产成人精品免费视频网站| 在线观看日本www| 久久99久久久久久久久久久| 九九热精品在线播放| 蜜桃视频在线一区| 欧美激情第3页| 精品一区二区三区视频在线观看| 杨幂毛片午夜性生毛片| 老司机午夜精品99久久| 国产成人美女视频| 韩国一区二区在线观看| 欧美国产在线一区| 国产成人自拍网| 中文字幕天堂av| gogo大胆日本视频一区| 波多野结衣影院| 26uuu成人网一区二区三区| 亚洲乱码国产乱码精品精大量| 99国产精品视频免费观看| 国产福利短视频| 26uuu国产电影一区二区| 人妻少妇无码精品视频区| 欧美经典一区二区| 99成人在线观看| 一区二区三区四区视频精品免费| www.youjizz.com亚洲| 天天av天天翘天天综合网色鬼国产 | 久久综合另类图片小说| 久久99精品久久久久久三级| 国产日产精品一区二区三区四区的观看方式 | 欧美一级在线免费观看 | av男人的天堂在线| 久久精品成人动漫| 日本不卡影院| 日本中文字幕成人| 91精品一久久香蕉国产线看观看 | 青青草91久久久久久久久| av不卡在线免费观看| 欧美三区视频| 大肉大捧一进一出好爽动态图| 另类的小说在线视频另类成人小视频在线 | 麻豆成人久久精品二区三区小说| mm131国产精品| 东方aⅴ免费观看久久av| 女同毛片一区二区三区| 中文字幕一区日韩精品欧美| 精品爆乳一区二区三区无码av| 欧美日韩久久久久| 亚洲天堂国产精品| 欧美精品一区二区高清在线观看| 粉嫩av一区| 色综合视频网站| 亚洲成人看片| 动漫3d精品一区二区三区 | av中文字幕在线不卡| 亚洲图片第一页| 五月天亚洲婷婷| 97精品久久人人爽人人爽| 亚洲国产成人爱av在线播放| 1区2区3区在线观看| 国模私拍一区二区三区| 狂野欧美性猛交xxxx| 精品国产综合| 综合视频在线| 免费看污污网站| 99久久99久久综合| 丁香花五月激情| 日本高清不卡在线观看| 黑人精品一区二区| 日韩网站免费观看高清| 亚洲精品福利电影| 国产伦精品一区二区三| 888久久久| 国产精品久久久毛片| 91麻豆国产精品久久| 免费在线观看国产精品| 欧美日韩精品电影| 猫咪在线永久网站| 91av国产在线| 6080成人| 法国空姐在线观看免费| 日本不卡123| 99久久久无码国产精品性| 亚洲一区二区免费视频| 国产精品亚洲lv粉色| 最近2019年手机中文字幕| 在线观看爽视频| 国产美女精品久久久| 欧美日韩18| 波多野结衣中文字幕在线播放| 国产精品无遮挡| 中文字幕第315页| 国产小视频91| 欧美va在线观看| 日本视频一区二区不卡| 亚洲专区一区| 久久久久亚洲av无码专区桃色| 天天综合天天综合色| 欧美自拍偷拍第一页| 欧美激情一区二区三区久久久 | 日韩经典中文字幕在线观看| caoprom在线| 高清日韩一区| 精品不卡视频| 亚洲久久久久久| 欧美日韩精品中文字幕| 男同在线观看| 国产福利精品av综合导导航| 国产区精品区| 91小视频网站| 中文字幕佐山爱一区二区免费| 国产精品一区二区av白丝下载| 久久久成人精品视频| 欧美专区视频| 色欲色香天天天综合网www| www.av精品| chinese国产精品| 中文字幕v亚洲ⅴv天堂| 国产精品毛片无码| 99re6这里有精品热视频| 国产成a人亚洲| 在线观看精品国产| 亚洲天堂成人在线| 国产成人a视频高清在线观看| 亚洲精品在线免费| 国内精品国产成人| 国产在线视频你懂的| 日韩电影免费观看中文字幕| 欧美中文字幕精在线不卡| 亚洲精品中文字幕乱码三区不卡 | 91久久人澡人人添人人爽欧美| 国产三级在线看| 亚洲a∨日韩av高清在线观看| 亚洲视频一区| 国产精品亚洲无码| 欧美顶级少妇做爰| 久草在线资源站资源站| 欧洲av一区| 国模大尺度一区二区三区| av资源吧首页| 色av中文字幕一区| 一区二区日韩| 免费男同深夜夜行网站| 一区精品在线播放| 午夜黄色小视频| 国产女人18毛片水18精品| 国产精品theporn| 人妻一区二区视频| 日韩免费视频一区| 播放一区二区| 亚洲理论电影在线观看| 欧美国产一区在线| 高h震动喷水双性1v1| 国产精品91久久久| 欧美午夜在线| 国产精品成人无码免费| 亚洲第一网站免费视频| 欧美视频精品| 欧美色图另类小说| 亚洲欧美视频一区| 狠狠v欧美ⅴ日韩v亚洲v大胸|