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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA版贪吃蛇小游戏

發布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA版贪吃蛇小游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是一篇關于JAVA的貪吃蛇游戲,源代碼的部分在下面正文中介紹,圖片和音頻的部分都放在百度云盤,需要的自行下載。

文章目錄

  • 開發環境
  • 一、下載方法
  • 二、運行效果展示
  • 三、項目結構以及主程序入口
    • 1.項目結構
    • 2.主程序入口
  • 四、代碼部分
    • 1.代碼如下
  • 總結


開發環境

開發工具:eclipse2021-12
JDK版本:JDK15.0.1


一、下載方法

百度云盤
鏈接:https://pan.baidu.com/s/1P9bwYgXkoRVaKdOOuWvUng
提取碼:fcfj
編碼格式:GBK

二、運行效果展示

運行代碼以后,進入登錄頁面,點擊“進入游戲”。

進入游戲的畫面。此時小蛇還沒有移動。

游戲運行時的畫面

游戲運行時:
點擊屏幕上方區域,小蛇轉向上方
點擊屏幕下方區域,小蛇轉向下方
點擊屏幕左方區域,小蛇轉向左方
點擊屏幕右方區域,小蛇轉向右方

三、項目結構以及主程序入口

1.項目結構

2.主程序入口

入口程序在Start.java類中。

四、代碼部分

1.代碼如下

代碼如下(示例):
Start.java類

package snakeGame;/* Test類的主要任務是設計程序運行后的界面,包括 程序啟動的界面和游戲運行界面。* 程序啟動的界面包括背景圖片和進入運行界面的Button,點擊按鈕之后程序關閉啟動界面進入到運行界面,* 運行界面設置在SnakeGame類中,Test類大體設置了運行界面的大小可見與否等。*/import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel;public class Start extends JFrame implements ActionListener { static JFrame frame = new JFrame( );public static void main(String[] args) {System.out.print("main");new Start(); }public Start(){ //設置啟動界面System.out.print("構造函數star");frame.setUndecorated(true); //用于取消邊框背景frame.setLayout (null);frame.setSize(1600,900);frame.setLocation(300, 100);frame.setLocationRelativeTo (null);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);AddButton();AddPicture(); } //定義進入游戲按鈕 public void AddButton() { RButton enterButton =new RButton("進入游戲");enterButton.setFont(new Font("華文行楷", Font.BOLD, 35));enterButton.setForeground(Color.red);enterButton.setBounds (700, 600 , 200, 100);enterButton.setBackground(Color.white); frame.add(enterButton);enterButton.addActionListener(this); //定義按鍵 }//加入背景圖片public void AddPicture() { ImageIcon img = new ImageIcon("src\\image\\timg.jpg");JLabel Label= new JLabel(img);Label.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); //設置大小frame.getLayeredPane().add(Label,new Integer(Integer.MIN_VALUE)); //設置圖片底層和按鈕在容器中的順序 JPanel jp =(JPanel)frame.getContentPane(); jp.setOpaque(false); //設置透明與否}/*設置按鈕的監聽器事件* 進入按鈕的監聽器事件的主要功能是當點擊按鈕以后,程序關掉啟動界面,并轉入運行界面。* 主要實現原理是定義一個新界面的類,作為運行界面,然后定義一個關掉啟動界面的方法,然后在監聽器事件中,* 調用關掉界面的方法,實例化運行界面 */@Overridepublic void actionPerformed(ActionEvent e) { new pushButtonMusic (); // TODO 自動生成的方法存根closeThis(); //關掉新界面的方法try { new Frame2 (); //實例化運行界面} catch (InterruptedException e1) {// TODO 自動生成的 catch 塊e1.printStackTrace();} //創建新的窗體,以達到切換窗體的效果} private void closeThis() {// TODO 自動生成的方法存根frame.dispose();}/** 游戲運行界面,實例化SnakeGame類,并加入到運行界面中*/class Frame2 extends JFrame { JFrame frame1 = new JFrame(); //游戲圖形界面 public Frame2() throws InterruptedException{ frame1.setUndecorated(true);frame1.setBounds(200,70,1600,900); // frame1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);frame1.setVisible(true); SnakeGame sn = new SnakeGame(); frame1.add(sn);sn.requestFocus();//布局的中間 } } }

SnakeNode.java類

package snakeGame; /** 定義一個類,用來描述貪吃蛇游戲中的蛇,蛇身上的每一個點,通過建立snakeNode的對象,指定不同的X軸和Y軸的值,就能組成一個蛇身。* 同時可以獲得蛇身上的x和y點坐標,和顏色*/ import java.awt.Color;public class SnakeNode { //定義蛇身集合中的各個元素點,x,y。以及顏色三個蛇的關鍵組成private int x;private int y;private Color color;public int setX=20;public int setY=20;public SnakeNode() {super();}public SnakeNode(int x, int y, Color color) {super();this.x = x;this.y = y;this.color = color;}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 Color getColor() {return color;}public void setColor(Color color) {this.color = color;} }

SnakeGame.java類

package snakeGame;/** SnakeGame類來設計貪吃蛇小游戲的運行界面,運行界面是貪吃蛇游戲的主體部分, 界面主要包括兩個方面的內容,* 一方面是運行界面的內容,貪吃蛇長度顯示,游戲說明,速度控制,游戲開始,暫停退出等按鈕。* 另一方面,主要包括貪吃蛇的形狀和移動,貪吃蛇移動區域,隨機點的定義* 運行界面的過程是這樣的:在開始姐愛你點擊進入游戲按鈕以后,程序運行到運行界面,開始播放背景音樂。* 點擊游戲說明按鈕,彈出一個對話框,說明游戲運行的操作過程。點擊開始按鈕以后,* 貪吃蛇開始向上移動,鼠標在向上區域點擊,貪吃蛇向上,向左區域點擊,貪吃蛇向左,依次賴推。* 當貪吃蛇碰到草莓時,吃掉它,蛇身變長,并有背景音樂顯示,長度顯示加一,* 點擊暫停按鈕游戲暫停,點擊退出按鈕后,退出游戲。* 當貪吃蛇撞到自己或者墻體的時候,貪吃蛇會死亡,然后彈出一個界面,重啟界面,用來決定游戲繼續進行或者退出游戲。* 貪吃蛇的形狀和移動通過數組的形式實現,在界面中,定義一個x軸和y軸定義的坐標系,定義一個數組,數組的移動就是貪吃蛇的移動,* 移動方式是貪吃蛇坐標的改變,可以通過鼠標控制或鍵盤控制來實現貪吃蛇的移動,* 隨機點產生是在坐標系中產生隨機數來實現,*/ import java.applet.AudioClip; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Random;import javax.swing.JApplet; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.Timer;public class SnakeGame extends JPanel implements ActionListener { private final int length = 15;//定義活動范圍private final int width = 25;//定義活動范圍private final int unit = 45;//定義單位長度private final int GameLOCX=40;private final int GameLOCY=40;private final int GameWidth=width*unit;private final int GameLength=length*unit;//隨機點坐標 int newY1 =0 ; int newX1 = 0 ; int mousex=1;int mousey=1;//播放背景音樂AudioClip christmas = loadSound("src/Music/backgroundMusic.wav");int direction = 1;//定義一個按下按鈕后要去的方向 private ArrayList<SnakeNode> snake = new ArrayList<SnakeNode>();//定義蛇身的數組集合private int Direction;//定義蛇頭的方向private int Length ;//定義蛇身的長度private SnakeNode newNode = new SnakeNode(1,1,Color.BLACK);//定義隨機點boolean startFlag =false;//定義按鈕,速度控制,開始暫停退出按鈕等RButton SspeedButton , TspeedButton,FspeedButton,THspeedButton ,ShowButton; RButton startButton , stopButton , quitButton ,reStartButton,closeButton;//定義標簽,長度顯示,方向顯示,按鈕提示等 JLabel snakeScore, label1, label3,label4;//初始速度控制private static int Difficult_Degree=1;//蛇的移動控制,利用線程來實現用鼠標控制,利用計時器來實現用鍵盤控制。Thread tr= new Thread(new ThingsListener());Timer time = new Timer(1000, new ThingsListener1());//定義一個定時器對象,這里我們還要創建一個ThingsListener事件public SnakeGame() {//初始化區域//循環播放背景音樂christmas.loop ();// time.start(); tr.start(); //定義按鍵//在容器中添加按鈕標簽等的時候,需要說明布局管理為空,不然的話,加進去的按鈕會按照一定的布局來實現,this.setLayout (null);//定義按鈕startButton = new RButton("開始游戲"); stopButton =new RButton("暫停游戲");quitButton =new RButton("退出游戲");FspeedButton =new RButton("速度一"); SspeedButton =new RButton("速度二");TspeedButton=new RButton("速度三");THspeedButton=new RButton("速度四"); ShowButton =new RButton("游戲指南");//定義標簽snakeScore =new JLabel("3");label1 =new JLabel("當前長度");label3 =new JLabel("速度設置");label4 =new JLabel( );//設置字體startButton.setFont(new Font("華文行楷", Font.BOLD, 35));stopButton.setFont(new Font("華文行楷", Font.BOLD, 35));quitButton.setFont(new Font("華文行楷", Font.BOLD, 35));FspeedButton.setFont(new Font("華文行楷", Font.BOLD, 15));TspeedButton.setFont(new Font("華文行楷", Font.BOLD, 15));SspeedButton.setFont(new Font("華文行楷", Font.BOLD, 15));THspeedButton.setFont(new Font("華文行楷", Font.BOLD, 15));ShowButton.setFont(new Font("華文行楷", Font.BOLD, 30));label1.setFont(new Font("華文行楷", Font.BOLD, 35));snakeScore.setFont(new Font("華文行楷", Font.BOLD, 50));label3.setFont(new Font("華文行楷", Font.BOLD, 30));label4.setFont(new Font("華文行楷", Font.BOLD, 35));//定義按鈕標簽位置startButton.setBounds (1390, 500 , 190, 90);stopButton.setBounds (1390, 600 , 190, 90);quitButton.setBounds (1390, 700 , 190, 90);snakeScore.setBounds(1450, 70, 150, 90);label1.setBounds(1390, 10, 190, 90);ShowButton.setBounds(1390, 170, 190, 90);label3.setBounds(1390, 270, 190, 90);label4.setBounds(0, 0, 190, 90);FspeedButton.setBounds (1390, 350 , 85, 60);SspeedButton.setBounds (1500,350 , 85, 60);TspeedButton.setBounds (1390, 420 , 85, 60);THspeedButton.setBounds (1500, 420 , 85, 60);THspeedButton.setBackground(Color.green);SspeedButton.setBackground(Color.blue);TspeedButton.setBackground(Color.red);FspeedButton.setBackground(Color.red);// 添加 按鈕和標簽,用this關鍵字指向當前容器this.add(startButton);this.add(stopButton);this.add(quitButton);this.add(FspeedButton);this.add(SspeedButton);this.add(TspeedButton);this.add(THspeedButton);this.add(label1);this.add(snakeScore); this.add( ShowButton);this.add(label3);this.add(label4);// 添加三個按鍵的監聽事件startButton.addActionListener(this);stopButton.addActionListener(this);quitButton.addActionListener(this);THspeedButton.addActionListener(this);SspeedButton.addActionListener(this);TspeedButton.addActionListener(this);FspeedButton.addActionListener(this);ShowButton.addActionListener(this);snake.add(new SnakeNode(width/2,length/2 ,Color.red));snake.add(new SnakeNode(width/2,length/2+1 ,Color.blue));snake.add(new SnakeNode(width/2,length/2+2 ,Color.green));Direction = 1;//定義初始方向為向上Length = 3;//蛇身長度為3CreateNode1();//產生隨機點// CreateNode2();/*//采用鍵盤控制的控制模式,利用鍵盤的上下左右鍵,來實現讓·direction的變化,從而使貪吃蛇能夠按照鍵盤的控制來實現移動this.addKeyListener(new KeyAdapter() {//捕捉鍵盤的按鍵事件 設置監聽器public void keyPressed(KeyEvent e) {switch(e.getKeyCode()) {case KeyEvent.VK_UP://按下向上,返回1direction = 1;break;case KeyEvent.VK_DOWN://按下向下,返回-1direction = -1;break;case KeyEvent.VK_LEFT://按下相左,返回2direction = 2;break;case KeyEvent.VK_RIGHT://按下向右,返回-2direction = -2;break;default:break;}if(direction + Direction !=0) {//不能反向運動Direction = direction;Move(direction);repaint();}}});*///采用 鼠標控制的控制模式 通過監聽鼠標在容器中的位置,點擊上下左右區域,改變direction的值,即可實現貪吃蛇的移動,this.addMouseListener(new MouseAdapter(){ //匿名內部類,鼠標事件public void mousePressed(MouseEvent e){ int a=0;//鼠標完成點擊事件//e.getButton就會返回點鼠標的那個鍵,左鍵還是右健,3代表右鍵mousex = e.getX(); //得到鼠標x坐標mousey = e.getY(); //得到鼠標y坐標double k=0.6; //直線斜率double Y1=0.6*mousex;double Y2=-0.6*mousex+810;double X1=1.6*mousey;double X2=-1.6*mousey+1350;if(mousex > X1&&mousex<X2&&mousey>0&&mousey<405) { //第一象限 向上label4.setText( "向上" );a=1; }if(mousex>X2&&mousex<X1&&mousey>405&&mousey<810) { // 第二象限 向下label4.setText( " 向下" );a=2;}if(mousex>0&&mousex<675&&mousey>Y1&&mousey<Y2) { //第三象限 向左label4.setText( " 向左" );a=3;} if(mousex>675&&mousex<1350&&mousey>Y2&&mousey<Y1) { //第四象限 向右label4.setText( " 向右" );a=4;} switch( a) {case 1://按下向上,返回1direction = 1;break;case 2://按下向下,返回-1direction = -1;break;case 3://按下相左,返回2direction = 2;break;case 4://按下向右,返回-2direction = -2;break;default:break;}if(direction + Direction !=0) {//不能反向運動Direction = direction;Move(direction);repaint();}}}); } /*定義蛇移動的方法 * 貪吃蛇的移動方法主要包括方向控制,碰到隨機點,碰到自己,碰到邊界以及設計貪吃蛇從前向后的移動* */public void Move(int direction) { int FirstX = snake.get(0).getX(); //獲取蛇第一個點的橫坐標int FirstY = snake.get(0).getY(); //獲取蛇第一個點的縱坐標 if(!startFlag) return ; //方向控制switch(direction) {case 1:FirstY--;break;case -1:FirstY++;break;case 2: FirstX--;break;case -2:FirstX++;break;default:break;}//當碰到隨機點時if(FirstX == newNode.getX()&&FirstY == newNode.getY()) { new eatFoodMusic();getNode();return;}//當碰到蛇身自己時for(int x = 0; x < Length; x++) { if((FirstX==snake.get(x).getX())&&(FirstY == snake.get(x).getY())) {startFlag=false;new DeadMusic();new Restart(); christmas.stop ();}}//當貪吃蛇撞到邊界if(FirstX < 1 || FirstX >29 || FirstY < 1 || FirstY >18) { startFlag=false;new DeadMusic();new Restart();christmas.stop ();// new Test();} //定義循環,使得貪吃蛇從前向后移動for(int x = Length - 1; x > 0; x--) {snake.get(x).setX(snake.get(x-1).getX());snake.get(x).setY(snake.get(x-1).getY());}snake.get(0).setX(FirstX);snake.get(0).setY(FirstY);repaint();} //獲取隨機點public void getNode() { snake.add(new SnakeNode());Length++;for(int x = Length-1; x >0; x--) {snake.get(x).setX(snake.get(x-1).getX());snake.get(x).setY(snake.get(x-1).getY());snake.get(x).setColor(snake.get(x-1).getColor());}snakeScore.setText( ""+( Length )); //定義蛇的長度snake.get(0).setX(newNode.getX());snake.get(0).setY(newNode.getY());snake.get(0).setColor(newNode.getColor());CreateNode1();//產生隨機點// CreateNode2();repaint();//當長度超過10的時候,產生鼓掌聲if(Length==10) {new applauseMusic();}}public void CreateNode1() { //創造隨機點的方法 Boolean flag = true;while(flag) {newY1 = new Random().nextInt(15)+1; newX1= new Random().nextInt(25)+1; for(int x = 0; x < Length; x++) {if(snake.get(x).getX() == newX1 && snake.get(x).getY() == newY1) {flag = true;break;}flag = false; }//隨機點不能超出面板,并且不能出現在蛇身上for(int i = 0; i < Length; i++) {if(snake.get(i).getX()> 5&& snake.get(i).getX()<newX1 &&snake.get(i).getY() > 5&& snake.get(i).getY()<newY1) { flag = true;break;}flag= false;}}Color color = new Color(new Random().nextInt(255),new Random().nextInt(255),new Random().nextInt(255));newNode.setColor(color);newNode.setX(newX1); newNode.setY(newY1); }/** 這里是自己新建一個事件處理,每隔Timer的時間間隔,就開始移動Directon的位置,* 由因為Direction的位置是構造方法中定義好的,所以就會自動地移動方向。而每當玩家使用鍵盤時,Direction的值變化,之后每次自動移動的方向也隨之變化。* * *///定義內部類,貪吃蛇不斷移動public class ThingsListener1 implements ActionListener {public void actionPerformed(ActionEvent e) {Move(direction);}}// public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}/** 當startflag為真的時候,貪吃蛇在線程時間的脈沖下繼續移動,這個過程包含在if語句塊中,當程序啟動時,每隔1.2s就有一個響應, *上一個方法采用Timer, Timer的構造方法是Timer(int delay, ActionListner listener)通俗的說就是創建一個每 delay秒觸發一次動作的計時器,* 每隔特定的時間就會觸發特定的事件。可以使用start方法啟動計時器。* 優點在于形式簡單,缺點在于當采用速度控制的時候不易控制,而同樣作為時間觸發作用的線程控制可以實現這個目的,即通過控制時間來控制貪吃蛇的移動速度* 之所以之前的設計有錯誤,在于while后面沒有用if進行startflag的檢驗,即startflag只有在真的條件下才可以移動,時間脈沖觸發下才可以移動。* * *///定義線程類,使得貪吃蛇能夠在線程的控制下不斷移動class ThingsListener implements Runnable {@Overridepublic void run() {// TODO 自動生成的方法存根while( true) {if(startFlag) { Move(Direction);repaint();}try { Thread.sleep(1200/Difficult_Degree);}catch(InterruptedException e){e.printStackTrace();}} }//設置一個監聽器事件,用來控制蛇的不斷移動 }//定義圖像類,畫出貪吃蛇移動的運行界面,如貪吃蛇的形狀,背景圖片,蛇頭蛇尾等 //描述蛇函數的主體形狀,隨機點的形狀和蛇的形狀 protected void paintComponent(Graphics g) {super.paintComponent(g);//加背景Image im=Toolkit.getDefaultToolkit().getImage("src/image/background1.jpg");g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);//畫出蛇頭if(direction ==1||Direction==1){ Toolkit toolup = this.getToolkit();Image headup = toolup.getImage( "src/image/up.png");g.drawImage(headup,snake.get(0).getX()*unit, snake.get(0).getY()*unit, unit, unit,this); }else if(direction ==-1){Toolkit tooldown = this.getToolkit();Image headdown = tooldown.getImage( "src/image/down.png");g.drawImage(headdown,snake.get(0).getX()*unit, snake.get(0).getY()*unit, unit, unit,this);}else if(direction ==2){Toolkit toolleft = this.getToolkit();Image headleft = toolleft.getImage( "src/image/left.png");g.drawImage(headleft,snake.get(0).getX()*unit, snake.get(0).getY()*unit, unit, unit,this); }else if(direction ==-2){ Toolkit toolright = this.getToolkit();Image headright = toolright.getImage( "src/image/right.png");g.drawImage(headright,snake.get(0).getX()*unit, snake.get(0).getY()*unit, unit, unit,this);} //畫出食物的形狀 Toolkit tool1 = this.getToolkit();Image food= tool1.getImage( "src/image/food.png");g.drawImage(food,newNode.getX()*unit, newNode.getY()*unit, unit, unit,this); Toolkit tool2 = this.getToolkit();Image food1= tool2.getImage( "src/image/food.png");g.drawImage(food1,newNode.getX()*unit, newNode.getY()*unit, unit, unit,this); //繪制指定矩形的邊框。矩形的左邊和右邊位于 x 和 x + width。頂邊和底邊位于 y 和 y + height。使用圖形上下文的當前顏色繪制該矩形。g.drawRect(40, 30, 1350, 810 ); for(int x = 1; x < Length-1; x++) { //利用循環,來繪制蛇的形狀g.setColor(snake.get(x).getColor());g.fillOval(snake.get(x).getX()*unit, snake.get(x).getY()*unit, unit, unit); //給蛇的每一個節點畫橢圓 } for(int x = Length-1; x < Length; x++) { Toolkit toolright = this.getToolkit();Image headright = toolright.getImage( "src/image/body.png");g.drawImage(headright,snake.get(x).getX()*unit, snake.get(x).getY()*unit, unit,unit,this);//利用循環,來繪制蛇的形狀 }} //設置按鈕的監聽器事件@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自動生成的方法存根//按開始鍵if(e.getSource() == startButton) {new pushButtonMusic ();startFlag = true;startButton.setEnabled(false);stopButton.setEnabled(true); }//按暫停鍵if(e.getSource() == stopButton) {new pushButtonMusic ();startFlag = false;startButton.setEnabled(true);stopButton.setEnabled(false); }// 退出程序if(e.getSource() == quitButton) {System.exit(0);}//按游戲指南建if(e.getSource() == ShowButton) {new pushButtonMusic ();JDialog frame = new JDialog();//構造一個新的JFrame,作為新窗口。frame.setBounds( 600,300,815,515 ); JTextArea Myarea=new JTextArea(3,10);Myarea.setText("嗨,你好,歡迎體驗貪吃蛇小游戲!\n "+"這個小游戲點擊開始按鈕后貪吃蛇開始移動,你身體的前后左右移動\n"+"會使貪吃蛇也前后左右移動。\n"+ "你的任務是通過控制蛇的移動來吃掉小草莓,這樣貪吃蛇就長大了。\n"+"點擊暫停游戲按鈕可以使得貪吃蛇停止移動,"+"點擊退出游戲按鈕自然游\n"+"戲就結束啦!\n"+ "點擊速度一,速度二等按鈕就可以控制貪吃蛇的移動速度,以提高\n"+"康復效率!\n"+"此游戲素材部分來源于網絡,如果有侵犯到您的利益 \n"+"請立刻聯系我們,任何單位或個人不準用于商業用途。"); frame.setLayout(null); Myarea.setBounds( 10,10,815,350); Myarea.setFont(new Font("華文行楷",Font.BOLD,25)); frame.add(Myarea); frame.setModalityType(JDialog.ModalityType.APPLICATION_MODAL); // 設置模式類型。frame.setVisible(true); }//按速度一鍵if(e.getSource() == FspeedButton) {new speedButtonMusic ();Difficult_Degree= 2; }//按速度二鍵if(e.getSource() == SspeedButton) {new speedButtonMusic ();Difficult_Degree= 3; }//按速度三鍵if(e.getSource() == TspeedButton) {new speedButtonMusic ();Difficult_Degree= 4; }//按速度四鍵if(e.getSource() == THspeedButton) {new speedButtonMusic ();Difficult_Degree= 5; }this.requestFocus();}}

Restart.java類

package snakeGame; /** ReStart類的功能和start相類似,設計程序運行后的界面,包括程序重啟界面和游戲運行界面。運行界面和start類運行的一樣,* 重啟界面包括包括兩個按鈕和一個背景圖片,點擊重啟游戲按鈕游戲進入運行界面,點擊退出按鈕后結束游戲。*/import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel;class Restart extends JFrame implements ActionListener{public static void main(String [] args) {new Restart(); }JFrame frame2=new JFrame(); JButton reStartButton=new JButton("重新開始");JButton closeButton =new JButton("結束游戲");//定義界面按鈕等內容。 public Restart() {frame2.setUndecorated(true); //用于取消邊框背景 frame2.setSize(800,480);frame2.setLocation(600,300);//frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame2.setVisible(true);frame2.setLayout(null); //設置按鈕顏色Color color2=new Color(124,252,0);reStartButton.setBackground(color2); Color color1 = new Color(124,252,0 );closeButton.setBackground(color1 );//設置按鈕大小和位置 reStartButton.setBounds(140, 364, 120, 110);closeButton.setBounds(280,270,120,110);//設置按鈕顏色和字體reStartButton.setFont(new Font("華文行楷", Font.BOLD, 20));closeButton.setFont(new Font("華文行楷", Font.BOLD, 20));//在容器中加入按鈕frame2.add(reStartButton);frame2.add(closeButton);addPicture();reStartButton.addActionListener(this);closeButton.addActionListener(this);}//設置背景圖片public void addPicture() { //游戲結束時彈出的界面的背景ImageIcon deadPicture = new ImageIcon("src/image/restartPicture.jpg");JLabel pictureLabel =new JLabel(deadPicture);pictureLabel.setBounds(0, 0,deadPicture.getIconWidth(), deadPicture.getIconHeight());frame2.getLayeredPane().add(pictureLabel,new Integer(Integer.MIN_VALUE));JPanel jp1=(JPanel)frame2.getContentPane();jp1.setOpaque(false);}//按鈕加入監聽器事件@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自動生成的方法存根if(e.getSource()==reStartButton) {closeThis();new Frame3(); } if(e.getSource()==closeButton) {System.exit(0);} }private void closeThis() {// TODO 自動生成的方法存根frame2.dispose();}// 游戲運行界面,實例化SnakeGame類,并加入到運行界面中 class Frame3 extends JFrame { JFrame frame1 = new JFrame(); //游戲圖形界面 public Frame3(){ frame1.setUndecorated(true); //用于取消邊框背景frame1.setBounds(200,70,1600,900); /// frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame1.setVisible(true); SnakeGame sn =new SnakeGame(); frame1.add(sn);sn.requestFocus();//布局的中間 } } }

RButton.java類

package snakeGame; /*在Java swing中的button無法設置圓角按鈕,為了一定程度上完善游戲界面,故而設置了圓角按鈕。* 定義圓角按鈕;*/ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Shape; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.geom.RoundRectangle2D;import javax.swing.JButton;public class RButton extends JButton {private static final long serialVersionUID = 39082560987930759L;public static final Color BUTTON_COLOR1 = new Color(205, 255, 205); //設置按鈕的第一種顏色public static final Color BUTTON_COLOR2 = new Color(51, 55, 47); //設置按鈕的第二種顏色// public static final Color BUTTON_COLOR1 = new Color(125, 161, 237);// public static final Color BUTTON_COLOR2 = new Color(91, 118, 173);public static final Color BUTTON_FOREGROUND_COLOR = Color.WHITE;private boolean hover;public RButton(String name) {this.setText(name); //添加名字setFont(new Font("system", Font.PLAIN, 12)); //設置字體setBorderPainted(false); //設置邊界可見否setForeground(BUTTON_COLOR2); //設置前景色setFocusPainted(false); setContentAreaFilled(false); //定義鼠標事件,即當鼠標進入到按鈕界面時,按鈕顏色會發生變化,鼠標離開按鈕區域時也會發生變化addMouseListener(new MouseAdapter() {@Overridepublic void mouseEntered(MouseEvent e) {setForeground(BUTTON_FOREGROUND_COLOR);hover = true;repaint();}@Overridepublic void mouseExited(MouseEvent e) {setForeground(BUTTON_COLOR2);hover = false;repaint();}});}//設置按鈕圓角@Overrideprotected void paintComponent(Graphics g) {Graphics2D g2d = (Graphics2D) g.create();int h = getHeight();int w = getWidth();float tran = 1F;if (!hover) {tran = 0.3F;}g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);GradientPaint p1;GradientPaint p2;//當點擊按鈕之后,按鈕顏色和字體會發生變化if (getModel().isPressed()) {p1 = new GradientPaint(0, 0, new Color(0, 0, 0), 0, h - 1,new Color(100, 100, 100));p2 = new GradientPaint(0, 1, new Color(0, 0, 0, 50), 0, h - 3,new Color(255, 255, 255, 100));} else {p1 = new GradientPaint(0, 0, new Color(100, 100, 100), 0, h - 1,new Color(0, 0, 0));p2 = new GradientPaint(0, 1, new Color(255, 255, 255, 100), 0,h - 3, new Color(0, 0, 0, 50));}g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,tran));RoundRectangle2D.Float r2d = new RoundRectangle2D.Float(0, 0, w - 1,h - 1, 20, 20);Shape clip = g2d.getClip();g2d.clip(r2d);GradientPaint gp = new GradientPaint(0.0F, 0.0F, BUTTON_COLOR1, 0.0F,h, BUTTON_COLOR2, true);g2d.setPaint(gp);g2d.fillRect(0, 0, w, h);g2d.setClip(clip);g2d.setPaint(p1);g2d.drawRoundRect(0, 0, w - 1, h - 1, 20, 20);g2d.setPaint(p2);g2d.drawRoundRect(1, 1, w - 3, h - 3, 18, 18);g2d.dispose();super.paintComponent(g);} }

applauseMusic.java類

package snakeGame; /** 設置程序運行背景音樂,包括 點擊按鈕音樂,鼓勵音,撞墻音樂,吃食物音樂等等,* 音樂類的設置可以在snakeGame類中實現,由于音樂太多,故而集中到一起,可以在需要添加的地方實例化即可。*/ import java.applet.AudioClip; import java.net.MalformedURLException; import java.net.URL;import javax.swing.JApplet; //添加鼓勵音 class applauseMusic { AudioClip christmas = loadSound("src/music/applauseMusic.wav");public applauseMusic (){ christmas.play ();}public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}} //添加吃到食物的音樂 class eatFoodMusic { AudioClip christmas = loadSound("src/music/eatFoodMusic.wav");public eatFoodMusic (){ christmas.play ();}public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}}//添加撞墻音樂 class DeadMusic { AudioClip christmas = loadSound("src/music/DeadMusic.wav");public DeadMusic (){ christmas.play ();}public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}}//添加 按鍵音樂 class pushButtonMusic { AudioClip christmas = loadSound("src/music/pushButtonMusic.wav");public pushButtonMusic (){ christmas.play ();}public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}} // 添加速度控制音樂 class speedButtonMusic{ AudioClip christmas = loadSound("src/music/encouragMusic.wav");public speedButtonMusic(){ christmas.play ();}public AudioClip loadSound ( String filename ){URL url = null;try{url = new URL ("file:" + filename);}catch (MalformedURLException e){}return JApplet.newAudioClip (url);}}

總結

游戲有聲音,就是音頻有點嚇人,其他都還好,如果不喜歡,可以換成自己喜歡的音頻。
附上百度云盤下載連接地址:
鏈接:https://pan.baidu.com/s/1P9bwYgXkoRVaKdOOuWvUng
提取碼:fcfj
歡迎交流,共同進步。

總結

以上是生活随笔為你收集整理的JAVA版贪吃蛇小游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

一区二区精品在线观看 | 国产一线二线三线在线观看 | 超碰97在线人人 | 久久综合久久综合久久综合 | 在线有码中文字幕 | 欧美日韩中文视频 | 国产精品一区二区电影 | 欧美日韩国产综合一区二区 | 欧亚久久 | 久久综合99 | 一二三久久久 | 国产成人免费在线观看 | av中文字幕av | 亚洲 欧美 综合 在线 精品 | 亚洲一级在线观看 | 亚洲午夜久久久久久久久 | 在线免费av网站 | 91污污视频在线观看 | 国产手机视频在线播放 | 永久免费毛片在线观看 | 成人黄视频 | 黄色avwww| www黄在线 | 91亚洲精品乱码久久久久久蜜桃 | 久久久久电影网站 | 免费下载高清毛片 | 日韩电影在线一区二区 | 在线观看韩国av | 欧美在线观看视频免费 | 91最新中文字幕 | 综合色久 | 亚洲成人资源网 | 久久综合久久88 | 亚洲精品综合一区二区 | 欧美精品亚州精品 | 久草视频手机在线 | 玖玖视频免费在线 | 国产中文字幕国产 | 成人毛片在线观看 | 日韩一区二区三区高清免费看看 | 午夜视频在线观看一区二区三区 | 国产一区 在线播放 | 亚洲五月激情 | 高清不卡一区二区三区 | 在线观看视频h | 欧美专区亚洲专区 | 天天曰夜夜爽 | 在线观看www. | 91色国产在线 | 免费三级网 | 天堂网av 在线 | 91大神精品视频 | 探花视频在线观看免费 | 成年人视频在线免费播放 | 国产成人精品综合 | 99久久精品久久久久久动态片 | 久草线 | 国产精品一区二区三区久久 | 免费看国产一级片 | 夜夜操网站| 亚洲免费永久精品国产 | 国产永久网站 | 色激情在线 | 91视频在线播放视频 | 丁香高清视频在线看看 | 国产精品乱码久久久 | 欧美精品少妇xxxxx喷水 | 国产麻豆果冻传媒在线观看 | 成人禁用看黄a在线 | 免费又黄又爽 | 在线看片中文字幕 | 国产一区二区三区久久久 | 亚洲最新av | 欧美精品一区二区性色 | 色综合天天视频在线观看 | 天堂av影院| 天天干夜夜爱 | 九九国产视频 | 丁五月婷婷 | 99爱视频在线观看 | 91av在| 午夜精品久久久久久久久久 | 免费看一及片 | 狂野欧美激情性xxxx欧美 | 色先锋av资源中文字幕 | 91亚洲欧美 | 久久超| 天天色棕合合合合合合 | 亚洲国产福利视频 | 亚洲精品成人免费 | japanesexxxhd奶水 国产一区二区在线免费观看 | 一区二区三区视频在线 | 成人久久久久久久久久 | 亚洲欧洲av在线 | 亚洲午夜精品久久久久久久久 | 久久午夜网| 五月激情姐姐 | 毛片播放网站 | 久久人人爽爽人人爽人人片av | 欧美午夜理伦三级在线观看 | 五月婷社区 | 福利视频一区二区 | 日韩一区二区三区免费视频 | 久久视频这里有精品 | 99免费在线播放99久久免费 | 久久精品欧美 | 久久久久久久影视 | 九九热在线免费观看 | 4438全国亚洲精品在线观看视频 | 精品国产乱码一区二 | 精品久久一 | 欧美日韩在线第一页 | 天天激情综合网 | 日本系列中文字幕 | 精品久久久久久久久久久久久久久久久久 | 插插插色综合 | 一区二区在线电影 | 美女国产免费 | 久久婷婷精品 | 成年人在线播放视频 | 日韩精品免费在线视频 | 国产视频一区在线免费观看 | 婷婷色在线播放 | 日本性高潮视频 | 欧美二区视频 | 五月婷婷一区二区三区 | 国产在线a | 亚洲精品日韩一区二区电影 | 婷婷六月综合亚洲 | 成人免费ⅴa| 91精品国自产拍天天拍 | 波多野结衣综合网 | 在线午夜| 国产精品综合久久久久 | 天天色中文 | 超碰97人人干 | zzijzzij日本成熟少妇 | 美女久久视频 | 日本福利视频在线 | 精品国产免费人成在线观看 | 中文字幕一区二区三区四区视频 | 91毛片在线观看 | 国产99久久久精品视频 | 9999毛片| 一区二区三区四区免费视频 | www最近高清中文国语在线观看 | 欧美analxxxx | 欧美日韩在线观看一区二区 | 日韩免费福利 | 综合色伊人 | 人人爱人人舔 | 亚洲另类交| 亚洲精品午夜久久久久久久 | 99在线高清视频在线播放 | 成人在线观看日韩 | 开心激情网五月天 | 久久亚洲专区 | 国产精品9999久久久久仙踪林 | 久久婷婷五月综合色丁香 | 久草在线视频看看 | 超碰国产人人 | 日韩艹 | 日韩精品第1页 | 亚洲国产精品成人va在线观看 | 久久69精品 | www.av在线.com| 91中文字幕在线播放 | 成人在线观看av | 亚洲黄色在线观看 | 欧美性生活一级片 | 亚洲婷婷在线 | 午夜精品一区二区三区在线观看 | 日韩一三区 | 中文乱幕日产无线码1区 | 国产一级在线看 | 日韩一级电影在线 | 五月天激情开心 | 黄色特级一级片 | 国产永久免费 | 欧美在线aa| 91黄色在线观看 | 欧美一级日韩三级 | 五月天亚洲婷婷 | 国产亚洲综合性久久久影院 | 91视视频在线直接观看在线看网页在线看 | 国产美女搞久久 | 人人狠狠综合久久亚洲婷 | 在线激情网 | 国产这里只有精品 | 91黄色在线视频 | 在线视频观看国产 | aaa毛片视频 | 色视频在线观看免费 | 一区二区三区日韩视频在线观看 | 国产精品a成v人在线播放 | 国产在线久久久 | 中文字幕资源在线观看 | 中文字幕中文字幕在线中文字幕三区 | 夜夜夜夜夜夜操 | 成人小视频在线播放 | 日韩有码在线播放 | 久久96国产精品久久99漫画 | 日本激情视频中文字幕 | 精品夜夜嗨av一区二区三区 | aaaaaa毛片 | 免费www视频 | 日韩欧美精品在线 | 日本不卡123| 精品在线一区二区三区 | 精品国产不卡 | 97在线观看视频免费 | 欧美日韩中文国产一区发布 | 少妇bbw撒尿 | 在线播放91| 精品国产乱码久久久久久1区二区 | 亚洲国产成人在线 | 亚洲极色| 亚洲男模gay裸体gay | 性色视频在线 | 在线精品在线 | 麻豆成人精品视频 | 操操综合 | 亚洲va在线va天堂 | av黄色亚洲 | 亚洲精品永久免费视频 | 综合久久久久久久久 | 免费观看日韩av | 中文字幕视频在线播放 | 五月丁色 | 操碰av| 欧美在线aaa | 特黄特色特刺激视频免费播放 | 欧美在线视频一区二区 | 综合久久久 | 91av色 | 欧美色就是色 | 亚洲一区免费在线 | 日韩久久久久久久久 | 天天色综合久久 | 久久狠狠亚洲综合 | 精品国产一二三 | 亚洲精品小视频 | 亚洲va综合va国产va中文 | 麻豆国产网站 | 中文字幕av全部资源www中文字幕在线观看 | 蜜臀久久99精品久久久无需会员 | 久久99偷拍视频 | 免费观看www视频 | 500部大龄熟乱视频使用方法 | 日日弄天天弄美女bbbb | 日韩av在线免费播放 | 欧美激情视频一区 | 亚洲最大av网 | 久久这里只有精品23 | 天天摸天天舔天天操 | 美女国产 | 去看片| 免费午夜视频在线观看 | 久久久久免费网站 | 九九热精品国产 | av丁香 | 97精品一区 | 热久久免费国产视频 | 中文字幕第一页在线视频 | 综合久久精品 | 成人中文字幕在线 | 日韩综合色 | 婷婷视频 | 国产精品第三页 | 玖玖玖精品 | 国产电影一区二区三区四区 | 人人爽久久涩噜噜噜网站 | 玖玖爱免费视频 | 亚洲一区二区视频在线 | 成年人黄色免费看 | 人人视频网站 | 五月婷婷丁香 | 婷婷精品国产欧美精品亚洲人人爽 | 久久久www免费电影网 | 久久免费视频在线观看6 | av电影免费在线播放 | 青青河边草免费观看完整版高清 | 国产99久久久精品 | 伊人色综合网 | 欧美精品在线视频观看 | 开心色激情网 | 在线看日韩| 午夜三级理论 | 久草久| 日韩经典一区二区三区 | 国产综合精品一区二区三区 | 久久久精品国产一区二区电影四季 | aaaaaa毛片| 在线观看免费版高清版 | 日韩欧美一区二区在线播放 | 中文字幕高清在线 | 久草在线综合 | 99av国产精品欲麻豆 | 国产成人精品一区二区三区在线 | 美女免费网视频 | 国内精品久久久久国产 | 国内精品久久久久 | 欧美福利片在线观看 | 久久久久久久久久伊人 | japanese黑人亚洲人4k | 久久超碰99| 91精品在线观看入口 | 一区二区高清在线 | 午夜精品一区二区三区视频免费看 | 天天综合网天天 | 三级动图 | 97视频在线| 狠狠狠色丁香婷婷综合久久五月 | 91视频3p | 免费在线观看av的网站 | 国产精品一区二区三区四区在线观看 | 天天天射 | 91亚洲在线 | 81国产精品久久久久久久久久 | 天堂在线视频中文网 | 国产精品一区二区无线 | 亚洲精品久 | 97精品视频在线播放 | 最近最新中文字幕 | 一级电影免费在线观看 | 中文字幕久久精品一区 | 一本一道久久a久久精品蜜桃 | 亚洲视频999 | 麻豆精品视频在线观看免费 | 97在线免费视频 | 久久五月情影视 | 午夜视频二区 | 91一区啪爱嗯打偷拍欧美 | 成人试看120秒 | 国际av在线 | 国产国语在线 | 麻豆久久久| 久久av免费观看 | 欧美一级片免费观看 | av免费在线观看网站 | 奇米影视999| 日韩在线视频一区 | 精品91久久久久 | 在线观看中文字幕 | 日本精品一二区 | 婷婷六月中文字幕 | 午夜丁香网 | 伊人成人激情 | 欧美激情综合色 | 8x成人免费视频 | 久久成人精品视频 | 国产精品成人久久久久久久 | 色综合在 | 丝袜美腿在线播放 | av资源免费在线观看 | 色国产精品 | 五月婷婷色丁香 | av中文字幕第一页 | 探花视频在线观看免费版 | 激情久久五月天 | 91精品久久久久久粉嫩 | 99久热在线精品视频成人一区 | www..com毛片| 欧美小视频在线观看 | 亚洲精品美女久久 | 精品免费久久久久久 | 激情在线五月天 | 亚洲精品一区二区三区高潮 | 天堂中文在线视频 | 免费网站黄 | 二区三区在线观看 | 在线а√天堂中文官网 | 亚洲精品一区二区精华 | 久久免费视频5 | 丁香av在线 | 精品国产免费一区二区三区五区 | 国产成人精品av久久 | 美女国产精品 | 天堂在线一区二区三区 | 色搞搞| 亚洲乱亚洲乱亚洲 | 国产精品一区二区三区电影 | 在线观看的黄色 | 性色av免费在线观看 | 亚洲狠狠婷婷 | 日韩小视频 | 久久av伊人| 日韩在线视频在线观看 | 亚洲精品欧美精品 | 亚洲精品一区二区三区高潮 | 久久国产精品久久国产精品 | 欧美日韩成人 | 中文字幕在线免费播放 | 国产91精品一区二区绿帽 | 中文字幕免费中文 | 久久婷婷国产色一区二区三区 | 亚洲高清免费在线 | 国产一区二区久久久 | 色综合国产 | 国产99视频在线观看 | 久久av电影| 97av精品| 日韩亚洲国产精品 | 国产精品久久久久久久久久 | 欧美日韩在线播放一区 | 在线观看网站黄 | 天天操天天操天天操天天操天天操天天操 | 激情综合五月网 | 日韩中文字幕免费在线观看 | 国产一性一爱一乱一交 | 麻豆国产视频下载 | 天天操天天射天天 | 中文字幕精品一区久久久久 | 日本韩国欧美在线观看 | 色噜噜在线观看视频 | 成人av高清 | 中文字幕在线观看一区二区 | 97超碰影视 | 中文字幕电影一区 | 99视频+国产日韩欧美 | 国产在线a免费观看 | 国产va在线| 欧美综合干 | 97在线精品视频 | 在线中文字幕av观看 | 国产精品久久99综合免费观看尤物 | 日韩中字在线 | 欧美另类xxx | 成人av网址大全 | 久久久久久久久网站 | www久久久久 | 在线视频 影院 | 免费a网站 | 久久天天躁夜夜躁狠狠85麻豆 | 97在线观看免费视频 | 在线日韩中文 | 亚洲高清在线 | 伊香蕉大综综综合久久啪 | 片网站 | 黄色免费观看网址 | 国产成人一区二区三区 | 国内免费的中文字幕 | 国产精品自在线 | 久久亚洲婷婷 | 超碰97人人爱 | 制服丝袜在线 | 中文字幕亚洲字幕 | 18岁免费看片| 久久大香线蕉app | 亚洲精品在线免费 | japanesefreesex中国少妇 | 久久观看免费视频 | 美女一二三区 | 免费视频成人 | 日日婷婷夜日日天干 | 天天操天天干天天操天天干 | 国产精品美女久久久久久2018 | 99久久精品视频免费 | 国产九九在线 | 日韩在线第一区 | 成人免费视频网址 | 亚洲精品免费在线播放 | 成人av资源 | 99爱在线观看 | 波多野结衣一区二区三区中文字幕 | 国产日本亚洲高清 | 久久综合欧美 | 国产精品久久久久久久久久三级 | 亚洲草视频 | 国产69久久久 | 久久97久久| 91av超碰| 欧美精品久久久久久久久久丰满 | 免费看黄色毛片 | av电影不卡| 午夜精品一区二区国产 | 最近日韩免费视频 | 激情五月婷婷综合网 | 久久伊人八月婷婷综合激情 | 国产精品嫩草影院123 | 成人h动漫精品一区二 | av免费观看高清 | 五月天com | av在线播放中文字幕 | 91九色精品女同系列 | 国产精久久久久久久 | 欧美日韩中文在线视频 | 久久精品毛片基地 | 久久在线视频在线 | 国产婷婷精品av在线 | av在线短片| 国产成人福利在线 | 在线精品在线 | 在线影院 国内精品 | 婷婷射五月 | 99国产精品视频免费观看一公开 | 成年人在线 | 久久这里只有精品视频首页 | 国产精品久久久久久av | 午夜av在线 | 免费91在线观看 | 日韩成人精品 | 91精品国产乱码在线观看 | 国产青草视频在线观看 | 99re亚洲国产精品 | 欧美资源在线观看 | 人人爱人人舔 | www视频在线免费观看 | 国产精品毛片久久久久久久久久99999999 | 手机av电影在线 | 日韩视 | 中文字幕在线播放日韩 | 亚洲理论在线观看电影 | 成人av手机在线 | 久久夜视频 | 国产高清在线视频 | 日本久久久久久久久久 | 久久国产精品一区二区 | 亚洲精品大全 | 美女视频永久黄网站免费观看国产 | 免费在线观看国产黄 | 久久公开视频 | 国产精品专区在线观看 | 欧美一区二视频在线免费观看 | 黄色一级影院 | 91精品区| 久久国内精品99久久6app | 久久资源在线 | 91麻豆精品国产自产在线 | 天天操天天射天天舔 | 日韩精品一区二区三区水蜜桃 | av在线播放网址 | 97人人爽人人 | 综合网婷婷 | 婷婷色站 | 丁香激情视频 | 国产精品久久久久婷婷 | 日日夜夜精品免费观看 | 久久久久久久久久久久国产精品 | 丝袜精品视频 | 97视频免费播放 | 日韩精品字幕 | 在线观看黄色大片 | 欧美精品一级视频 | 午夜体验区 | 亚洲精品视频中文字幕 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品久久久久久久久久久久 | 久久婷婷一区 | 美女视频是黄的免费观看 | 丁香婷婷激情啪啪 | 欧美日韩在线视频免费 | 中文字幕 国产精品 | 麻豆视频免费网站 | 在线观看av黄色 | 四虎8848免费高清在线观看 | 成人黄色小说网 | 最近日本韩国中文字幕 | 久操视频在线观看 | 97超碰人人澡人人爱学生 | 美女视频免费一区二区 | 亚洲精品97| 亚洲综合涩 | 啪一啪在线| 成人在线视频你懂的 | 天天躁天天狠天天透 | 亚洲精品五月天 | 国产色中涩 | 亚洲精品中文在线资源 | 国产美女视频免费 | 手机成人免费视频 | 一区二区三区四区久久 | 日本在线成人 | 国产视频欧美视频 | 天堂av中文字幕 | 99福利片 | 久草在线视频首页 | 久久久久国产一区二区三区 | 日韩一级黄色片 | 免费看黄在线看 | 99视频精品| 亚洲日本va中文字幕 | 成人免费影院 | 天天操天天干天天 | 毛片精品免费在线观看 | 日韩国产在线观看 | 日韩欧美高清 | 国产一区二区成人 | 色中色综合 | 日韩高清在线一区二区三区 | 色多多视频在线观看 | 日本黄色片一区二区 | 久要激情网 | 国产精品一区二区中文字幕 | 91亚洲狠狠婷婷综合久久久 | 久久精品欧美一 | 久久人人精 | 一区二区三区免费在线观看视频 | 免费看网站在线 | 国产在线精品一区二区三区 | 欧美日韩视频在线播放 | 毛片网站观看 | 中文字幕在线免费观看视频 | 四虎影视成人永久免费观看视频 | 特黄特色特刺激视频免费播放 | 9999免费视频 | 国产专区日韩专区 | 天天干天天操av | 日日干日日色 | 91探花在线视频 | 国产成人精品女人久久久 | 日韩在线一区二区免费 | 国产精品网红直播 | av在线com | 日韩久久久 | а天堂中文最新一区二区三区 | 五月婷婷婷婷婷 | 亚洲欧美日韩中文在线 | 欧美日韩二区在线 | 99av国产精品欲麻豆 | 综合色综合色 | 日本高清中文字幕有码在线 | 久久tv| 91亚洲精品国偷拍自产在线观看 | 国产美女永久免费 | 97超级碰碰碰碰久久久久 | 国产一区在线免费观看 | 综合色婷婷 | 色婷婷精品大在线视频 | 亚洲视频网站在线观看 | 人人爽人人插 | 九九热只有精品 | 国产亚洲视频在线观看 | 国产精品videoxxxx | 亚洲男人天堂2018 | 亚洲欧美日韩国产一区二区 | 日韩视频一区二区三区在线播放免费观看 | 免费av在 | 亚洲美女在线国产 | 久久久久久高潮国产精品视 | 久久久久久久久久福利 | 久久国产精品精品国产色婷婷 | 日韩久久一区二区 | 亚洲三级毛片 | 97在线观看免费视频 | 国产男女爽爽爽免费视频 | 深爱激情综合网 | av在线a| 成人黄大片 | 中文字幕在线成人 | 亚洲视频久久久 | 9999免费视频 | 国产精品欧美一区二区三区不卡 | 天天爱天天操 | 激情五月婷婷丁香 | 久久任你操 | 人人爱人人射 | 国产精品嫩草影院9 | 米奇四色影视 | 欧美大码xxxx | 美女在线免费观看视频 | 天天干亚洲 | av电影不卡在线 | 亚洲理论在线 | 97超碰影视 | 国产91在线观看 | 99久高清在线观看视频99精品热在线观看视频 | 成年人免费在线观看 | 欧美激情亚洲综合 | 天天艹天天爽 | 九九精品久久 | 黄网站免费大全入口 | 午夜黄色一级片 | 日韩一区二区三区免费电影 | 天天操天天插 | av网站免费线看精品 | 福利av影院 | 日本精品久久久一区二区三区 | 日韩电影中文字幕在线 | 黄污在线看 | 久久污视频 | 国产中文字幕视频在线观看 | 久久av福利 | 国产视频1区2区3区 久久夜视频 | 婷婷综合 | 99精品国产在热久久 | av在线进入| 日韩免费电影网 | 91视频传媒 | 日韩专区在线 | 久久99精品久久只有精品 | 色婷婷视频| 久久国产精品影片 | 亚洲h色精品 | 99热在线免费观看 | 亚洲无在线 | 精品一区av | 久久人人爽人人爽 | 国产在线一区观看 | 亚洲高清视频一区二区三区 | 国产91对白在线 | 国产精品免费大片视频 | 久久亚洲免费 | 精品福利在线观看 | 日日夜夜精品免费视频 | 在线看不卡av | 国产在线精品播放 | 日韩免费视频观看 | 日韩av成人在线 | 成人v | 99久久久国产精品免费观看 | 成人一区在线观看 | 中文字幕国内精品 | 欧美性色xo影院 | 激情视频在线观看网址 | 免费中午字幕无吗 | 亚洲精品国偷自产在线91正片 | 婷婷激情五月 | 樱空桃av | 夜夜夜| 五月婷婷在线观看 | 久久99亚洲精品久久久久 | 色干综合 | 国产一级视频在线观看 | 久久精品国产免费看久久精品 | aaa亚洲精品一二三区 | 日韩欧美91| 欧美激情精品一区 | 黄色tv视频 | 国产精品久久久久久a | 91精品视频在线观看免费 | 久久精品毛片基地 | 日韩成人精品一区二区三区 | 最近免费中文字幕mv在线视频3 | 最新国产中文字幕 | www.神马久久 | 粉嫩aⅴ一区二区三区 | 三级黄色三级 | 色综合天天 | 日本在线成人 | 欧美在一区 | 国产一区二区高清视频 | 一区二区三区手机在线观看 | 久久手机免费视频 | av中文字幕不卡 | 丁香六月综合网 | 国产在线精品国自产拍影院 | 欧美日韩在线精品 | 色婷婷狠 | 国产一级精品视频 | 亚洲97在线 | 国产91亚洲精品 | 国产最新福利 | 成人久久亚洲 | 色先锋av资源中文字幕 | 在线观看黄网站 | 国产又黄又爽无遮挡 | 国产日韩欧美在线观看视频 | 久久国产片 | 色婷婷综合五月 | 精品二区视频 | 国产激情小视频在线观看 | 亚洲精品777| 日本成址在线观看 | 俺要去色综合狠狠 | 久久久久亚洲精品男人的天堂 | 在线观看久久 | 国产一区二区三区久久久 | 久草在线最新免费 | 在线观看一级 | 国产在线一区二区 | 国产精品久久精品 | 国产色拍拍拍拍在线精品 | 亚洲精品动漫久久久久 | 亚洲精品动漫久久久久 | 亚洲性xxxx | 欧美日韩免费看 | av在线激情 | 久久精品视频网 | 婷婷国产一区二区三区 | 五月天综合网站 | 天天干天天插伊人网 | 国产精品麻豆一区二区三区 | 亚洲一区美女视频在线观看免费 | 夜夜操网 | 亚洲激情一区二区三区 | 成人久久综合 | 在线蜜桃视频 | 免费毛片一区二区三区久久久 | 久久久国产影视 | 欧美成人xxxx | 国产成人精品一区二区三区网站观看 | 色婷婷天天干 | 国产一区免费看 | 日韩欧美一区二区不卡 | 99se视频在线观看 | 狠狠狠狠狠狠天天爱 | 中文字幕免费看 | 日韩毛片精品 | 国产麻豆剧传媒免费观看 | 亚洲国产午夜精品 | 午夜精品电影一区二区在线 | 欧美污在线观看 | 超碰免费av | 国产精品淫片 | 久久欧洲视频 | 久久精品网址 | 国产小视频你懂的在线 | 777视频在线观看 | 国产精品久久电影观看 | 婷婷去俺也去六月色 | 色播亚洲婷婷 | 国内精品久久久久久久久久清纯 | 国产一区二区在线观看免费 | 国产精品日韩在线播放 | 久久国产视频网 | 久久久久久久久久久免费av | 国产成人精品久久二区二区 | 精品一二三区 | 国产亚洲成av人片在线观看桃 | 日日干天天干 | 国产91精品一区二区绿帽 | 97超碰超碰 | 91漂亮少妇露脸在线播放 | 在线观看不卡的av | 国产美女搞久久 | 免费在线国产视频 | 久草久草视频 | 在线色亚洲 | 超碰公开97 | 国产中文字幕三区 | 精品一区二区在线免费观看 | 亚洲欧美日韩精品一区二区 | 久久久久国产精品免费 | 国产成人精品一区二 | 插综合网 | www一起操| 国产精品中文字幕av | 亚洲第一成网站 | 不卡av电影在线 | 超碰人人99| 亚洲一区二区三区四区在线视频 | 欧美一级久久久久 | 在线观看免费视频 | www.色爱| 精品a视频 | 中文字幕成人在线 | 美国av大片 | 国产最新视频在线观看 | 91黄色在线看 | 国产精品免费久久久久久 | www视频在线免费观看 | 亚洲黄色在线观看 | 国产xxxxx在线观看 | 国产日韩高清在线 | 日本精品久久久久中文字幕5 | 午夜在线免费观看视频 | 黄色软件在线看 | 91精品国产自产91精品 | 色综合久久久久综合 | 国产精品嫩草影院9 | 中文字幕在线观看免费高清电影 | 人人插超碰 | 亚洲一二三久久 | 99久久日韩精品视频免费在线观看 | 久久午夜电影院 | 久日视频 | 精品国产不卡 | 97色se| 久久亚洲福利 | 国内一级片在线观看 | 亚洲精品视频在线播放 | 久久久久久久久久网 | 久久高清免费 | 97碰碰碰| 99精品欧美一区二区 | 综合色久 | 欧美日韩国产在线观看 | 九九免费在线看完整版 | a级黄色片视频 | 九九九热精品 | 精品一区二区三区香蕉蜜桃 | 亚洲资源在线观看 | 日韩中文字幕免费看 | 国产成人综合在线观看 | 高清在线观看av | 天天操夜| 97香蕉久久超级碰碰高清版 | 黄色官网在线观看 | 久久99最新地址 | www.夜夜草 | 国产欧美久久久精品影院 | 成人福利在线播放 | 亚洲欧美成人在线 | 日韩一区二区三区免费视频 | 亚洲一区视频在线播放 | 免费观看国产视频 | 天天狠狠干 | 亚洲色影爱久久精品 | 久久久久国产一区二区三区四区 | 99国产精品久久久久久久久久 | 97超碰超碰 | 国产精品1000| 五月宗合网 | 亚洲激情p | a久久久久 | 正在播放亚洲精品 | 99日韩精品 | 99欧美精品 | 欧美色图亚洲图片 | 亚洲精品综合一二三区在线观看 | 国产一级小视频 | 国产小视频在线播放 | 色av男人的天堂免费在线 | 色91av | 欧美精品一区二区性色 | 午夜视频免费 | 久久国产经典视频 | 狠狠的干狠狠的操 | 亚洲色图av| 丝袜+亚洲+另类+欧美+变态 | 精品免费一区 | 国产精品精品久久久久久 | 色就是色综合 | 亚洲成av人片一区二区梦乃 | 丰满少妇一级 | 丁香久久婷婷 | 久久视屏网 | 久久久久成人精品 | 丁香久久综合 | 免费黄色网址大全 | 久久9视频| 美女黄濒 | 久久不见久久见免费影院 | 日韩精品一区二区三区免费观看视频 | 国产99在线 | 97在线观看免费高清完整版在线观看 | 青青射 | 久久久久久久av | 丁香九月婷婷综合 | 日韩精品一区二区在线观看视频 | 中国一级片在线播放 | 国产美女视频网站 | 久久免费99 | 免费观看www7722午夜电影 | 日韩欧美综合在线视频 | 国产一级片网站 | 在线国产精品视频 | 福利视频一二区 | 天天艹天天 | 午夜在线资源 | 亚洲精品在线观看不卡 | a在线免费 | 国产精品久久一区二区无卡 | 亚洲国产中文字幕在线观看 | 久久精品视频99 | 日日摸日日添日日躁av | 日韩最新理论电影 | 国产精品露脸在线 | 日韩视频在线一区 | 亚洲欧美va| 欧洲在线免费视频 | 在线观看午夜 | 亚洲成人黄色 | 久久婷婷国产色一区二区三区 | 国产成人一区二区三区 | 色婷婷综合视频在线观看 | 免费av网站在线看 | 久久网站免费 | 懂色av懂色av粉嫩av分享吧 | 久久99视频 | 91精品国产乱码 | 日韩在线观看视频中文字幕 | 亚洲在线网址 | 在线亚洲人成电影网站色www | 国产亚洲成av片在线观看 | 中文在线a天堂 | 超碰在线观看99 | 欧美久久久一区二区三区 | 久久成人久久 | 精品久久久久久久久久久久久久久久久久 | 日韩在线资源 | 少妇bbw揉bbb欧美 | 8x8x在线观看视频 | 玖玖在线精品 | 久久激五月天综合精品 | 一级片免费观看视频 | 国产精品久久久久久久久久东京 | 日日操夜夜操狠狠操 | 一区二区三区在线观看 | 久久只精品99品免费久23小说 | 日批视频 | 国际精品网 | 天天操狠狠操 | 91免费在线视频 | 国产中文字幕在线看 | 亚洲免费国产 | 日韩性片|