亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? javaclearbomb.java

?? 簡單的掃雷小游戲,采用java環境編程.設置有初中高級!并有掃雷英雄榜
?? JAVA
字號:
import java.awt.*; 
import java.awt.event.*; 
import java.math.*;
import java.util.*;
import javax.swing.*;
//程序入口
public class JavaClearBomb {
public static void main(String args[]){
   DrawInterFace DIF=new DrawInterFace();
   DIF.RandomMine();
   }

}


//生成界面 
class DrawInterFace{
   //地雷標志,0無雷,1有雷
   private static int fmine[]=new int[81];
   //右鍵記錄標志
   private static boolean rmouse;
   //用來存放總地雷數
   private static int fcount=10;
   //存放剩余地雷數
   private static int rcount;
   //存放隨機生成的數
   private static int r[]=new int[10];
   //記錄標簽是否翻開標志
   private static boolean appear[]=new boolean[81];
   //記錄時間
   private static long time=0;
   //標記線程
   private boolean stop = true;
   //標記又右鍵
   private static boolean rightclick[]=new boolean[81];
  
   private Frame fr;
   private Menu m1,m2;
   private MenuBar mb;
   private MenuItem mi11,mi12,mi13,mi14,mi15,mi19,mi110,mi21,mih;
   private CheckboxMenuItem mi16,mi17,mi18;
   //用CardLayout來放置按鈕和標簽,plbmine里包含lbmine和btmine,為了實現CardLayout的功能
   private Panel pup,pdown;
   private Label lbleft,lbright,lbover;
   private Button btagain,btexit;
   private JButton btstart;
   private static Button btmine[];
   private static Label lbmine[];
   private static Panel plbmine[];
   private int minenum=0;
   private int mine[]=new int[10];
   private static CardLayout CLayout=new CardLayout();
   private Dialog digOver;
public DrawInterFace(){
  
//生成菜單欄   
   fr=new Frame("掃雷");
   mb=new MenuBar();
   fr.setMenuBar(mb);
   m1=new Menu("游戲");
   m2=new Menu("幫助");
   mb.add(m1);
   mb.setHelpMenu(m2);
   mi11=new MenuItem("開局");
   mi12=new MenuItem("初級");
   mi13=new MenuItem("中級");
   mi14=new MenuItem("高級");
   mi15=new MenuItem("自定義");
   mi16=new CheckboxMenuItem("標記");
   mi17=new CheckboxMenuItem("顏色");
   mi18=new CheckboxMenuItem("聲音");
   mi19=new MenuItem("掃雷英雄榜");
   mi110=new MenuItem("退出");
   mih=new MenuItem("河海大學");
   mi21=new MenuItem("06計算機周挺川");
   m1.add(mi11);
   m1.addSeparator();
   m1.add(mi12);
   m1.add(mi13);
   m1.add(mi14);
   m1.add(mi15);
   m1.addSeparator();
   m1.add(mi16);
   m1.add(mi17);
   m1.add(mi18);
   m1.addSeparator();  
   m1.add(mi19);
   m1.addSeparator();  
   m1.add(mi110);
   m2.add(mih);
   m1.addSeparator();  
   m2.add(mi21);
   fr.setMenuBar(mb);
   mb.add(m1);
   mb.add(m2);
   fr.setResizable(false);
   fr.setLocation(500,200);
  
  
//生成時間顯示區,雷數顯示區和開始游戲按鈕
   pup=new Panel();
   pdown=new Panel();
   pup.setLayout(new FlowLayout());
   lbleft=new Label("0");
   lbleft.setAlignment(Label.CENTER);
   lbright=new Label("0");
   lbright.setAlignment(Label.CENTER);
   btstart=new JButton("",new ImageIcon("image/mine.gif"));
//   lbleft.setLocation(1,10);
//   lbright.setLocation(250,1);
//   btstart.setBounds(125,1,24,24);
   pup.add(lbleft);
   pup.add(btstart);
   pup.add(lbright);  
//對話框
   lbover=new Label("踩到雷了");
   btagain=new Button("再玩一局");
   btexit=new Button("算了");
   digOver=new Dialog(fr,"你輸了");
   digOver.setLayout(new FlowLayout());
   digOver.setResizable(false);
   digOver.setSize(250,70);
   digOver.add(lbover);
   digOver.add(btagain);
   digOver.add(btexit);
   btagain.addActionListener(new Restart());
   btexit.addActionListener(new Exit());
   digOver.setLocation(500,250);
//生成雷區
   pdown.setLayout(new GridLayout(9,9,1,1));
   btmine=new Button[81];
   lbmine=new Label[81];
   plbmine=new Panel[81];
   for(int i=0;i<81;i++)
    {
     btmine[i]=new Button();
     lbmine[i]=new Label();
     lbmine[i].setBackground(Color.LIGHT_GRAY);
     lbmine[i].setAlignment(Label.CENTER);//設定標簽文字居中顯示
     plbmine[i]=new Panel();
    }
   for(int i=0;i<81;i++)
    {
     plbmine[i].setLayout(CLayout);
     plbmine[i].add(btmine[i],"up");
     plbmine[i].add(lbmine[i],"up");
     pdown.add(plbmine[i],"down");
    }

//設定雷區按鈕的監聽
   for(int i=0;i<81;i++)
    {
     btmine[i].addActionListener(new BombAction());
     btmine[i].addMouseListener(new UnitEvent(i));
    }
//設定開始按鈕的監聽
   btstart.addActionListener(new Start());      
    
//畫出panel  
   fr.add(pup,"North");
   fr.add(pdown,"South");
   fr.setSize(222,300);
   fr.setVisible(true);
   fr.addWindowListener(new WindowClosing());
//初始化
   for(int i=0;i<81;i++)
   {
    fmine[i]=0;
    appear[i]=false;
    rightclick[i]=false;
   }
   rmouse=false;
   rcount=10;
   lbright.setText(Integer.toString(rcount));
}
//隨機生成10個大小介于0到80之間的整數并對雷進行標記(算法有待優化)


public static void RandomMine(){
//存到fmine[i]中,1為雷,0沒有
Random rm=new Random();
for(int i=0;i<10;i++){
   r[i]=rm.nextInt(80);
   for(int j=0;j<i;j++){
    while((r[i]==r[j])&&(i!=j)){
     r[i]=rm.nextInt(80); 
    };
}
}
for(int i=0;i<10;i++)
{
   fmine[r[i]]=1; 
}
} 


//計算某方格周圍的雷數
static int HowManyMine(int x){
int temp=0;
switch (x){
   //左上角
   case 0:      temp=fmine[x+1]+fmine[x+9]+fmine[x+10];break;
   //右上角
   case 8:      temp=fmine[x-1]+fmine[x+8]+fmine[x+9];break;
   //左下角
   case 72:     temp=fmine[x-9]+fmine[x-8]+fmine[x+1];break;
   //右下角
   case 80:     temp=fmine[x-10]+fmine[x-9]+fmine[x-1];break;
   //上邊
   case 1:
   case 2: 
   case 3: 
   case 4: 
   case 5: 
   case 6: 
   case 7:      temp=fmine[x-1]+fmine[x+1]+fmine[x+8]+fmine[x+9]+fmine[x+10];break;
   //下邊
   case 73: 
   case 74: 
   case 75: 
   case 76: 
   case 77: 
   case 78: 
   case 79:     temp=fmine[x-10]+fmine[x-9]+fmine[x-8]+fmine[x-1]+fmine[x+1];break;
   //左邊
   case 9: 
   case 18: 
   case 27: 
   case 36: 
   case 45: 
   case 54: 
   case 63:     temp=fmine[x-9]+fmine[x-8]+fmine[x+1]+fmine[x+9]+fmine[x+10];break;
   //右邊
   case 17: 
   case 26: 
   case 35: 
   case 44: 
   case 53: 
   case 62: 
   case 71:     temp=fmine[x-10]+fmine[x-9]+fmine[x-1]+fmine[x+8]+fmine[x+9];break;
   //其余
   default:     temp=fmine[x-10]+fmine[x-9]+fmine[x-8]+fmine[x-1]+fmine[x+1]+fmine[x+8]+fmine[x+9]+fmine[x+10];break;
}
return temp;
}
//判斷標簽是否已經顯示

////展開雷區方法(此算法嚴重需要改進)
static void ClickMine(int i){
CLayout.last(plbmine[i]);
if(fmine[i]==1) {
System.out.println("踩到雷了");
return;
}
else {
   if(HowManyMine(i)==0) 
    {
     CLayout.last(plbmine[i]);
     appear[i]=true;
    } 
   else{
     CLayout.last(plbmine[i]);
     appear[i]=true;
     return;
    }
}
btmine[i].setVisible(false); 
switch (i){
   //左上角
   case 0:      {if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}if(appear[i+10]==false){CLayout.last(plbmine[i+10]);ClickMine(i+10);appear[i+10]=true;}break;}
   //右上角
   case 8:      {if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}if(appear[i+8]==false){CLayout.last(plbmine[i+8]);ClickMine(i+8);appear[i+8]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}break;}
   //左下角
   case 72:     {if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-8]==false){CLayout.last(plbmine[i-8]);ClickMine(i-8);appear[i-8]=true;}if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}break;}
   //右下角
   case 80:     {if(appear[i-10]==false){CLayout.last(plbmine[i-10]);ClickMine(i-10);appear[i-10]=true;}if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}break;}
   //上邊
   case 1:
   case 2: 
   case 3: 
   case 4: 
   case 5: 
   case 6: 
   case 7:      {if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}if(appear[i+8]==false){CLayout.last(plbmine[i+8]);ClickMine(i+8);appear[i+8]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}if(appear[i+10]==false){CLayout.last(plbmine[i+10]);ClickMine(i+10);appear[i+10]=true;}break;}
   //下邊
   case 73: 
   case 74: 
   case 75: 
   case 76: 
   case 77: 
   case 78: 
   case 79:     {if(appear[i-10]==false){CLayout.last(plbmine[i-10]);ClickMine(i-10);appear[i-10]=true;}if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-8]==false){CLayout.last(plbmine[i-8]);ClickMine(i-8);appear[i-8]=true;}if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}break;}
   //左邊
   case 9: 
   case 18: 
   case 27: 
   case 36: 
   case 45: 
   case 54: 
   case 63:     {if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-8]==false){CLayout.last(plbmine[i-8]);ClickMine(i-8);appear[i-8]=true;}if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}if(appear[i+10]==false){CLayout.last(plbmine[i+10]);ClickMine(i+10);appear[i+10]=true;}break;}
   //右邊
   case 17: 
   case 26: 
   case 35: 
   case 44: 
   case 53: 
   case 62: 
   case 71:     {if(appear[i-10]==false){CLayout.last(plbmine[i-10]);ClickMine(i-10);appear[i-10]=true;}if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}if(appear[i+8]==false){CLayout.last(plbmine[i+8]);ClickMine(i+8);appear[i+8]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}break;}
   //其余
   default:     {if(appear[i-10]==false){CLayout.last(plbmine[i-10]);ClickMine(i-10);appear[i-10]=true;}if(appear[i-9]==false){CLayout.last(plbmine[i-9]);ClickMine(i-9);appear[i-9]=true;}if(appear[i-8]==false){CLayout.last(plbmine[i-8]);ClickMine(i-8);appear[i-8]=true;}if(appear[i-1]==false){CLayout.last(plbmine[i-1]);ClickMine(i-1);appear[i-1]=true;}if(appear[i+1]==false){CLayout.last(plbmine[i+1]);ClickMine(i+1);appear[i+1]=true;}if(appear[i+8]==false){CLayout.last(plbmine[i+8]);ClickMine(i+8);appear[i+8]=true;}if(appear[i+9]==false){CLayout.last(plbmine[i+9]);ClickMine(i+9);appear[i+9]=true;}if(appear[i+10]==false){CLayout.last(plbmine[i+10]);ClickMine(i+10);appear[i+10]=true;}break;}
}
}

//內部類實現監聽,實現掃雷中心算法

class BombAction implements ActionListener{
   public void actionPerformed(ActionEvent e){
     if(stop==true){
      new Clock().start();
     }
     stop = false;     
     for (int i=0;i<81;i++){
      if (e.getSource()==btmine[i]&&rightclick[i]==true) return;
     } 
     for (int i=0;i<81;i++){
     lbmine[i].setText(Integer.toString(HowManyMine(i)));
     if(HowManyMine(i)==0) {lbmine[i].setText("");}
     if (e.getSource()==btmine[i])
      {
       if(fmine[i]==1)
        {
        //判斷是否失敗 
        stop=true; 
        digOver.setVisible(true);
        fr.setEnabled(false);
        }
       else
       {
        //實現展開雷區(較難算法)  
        ClickMine(i);
        //判斷是否勝利(要改進)
        int win=0;
        for(int j=0;j<81;j++){
        if(appear[j]==true) win++;
        }
        if(win==71){
        stop=true;
        lbover.setText("用時"+time+"秒");
        digOver.setTitle("你贏了");
        digOver.setVisible(true);
        }
       }     
     }
   }
}  
}
//右鍵標記

//線程實現記時
class Clock extends Thread{  
public void run(){
   while(stop==false){
   try{
     sleep(1000);
    }
   catch(InterruptedException e){
    System.out.println(e.getMessage());
    }
    time++;
    lbleft.setText(String.valueOf(time));
   }
   return;  
}
} 
//開始按鈕的監聽
class Start implements ActionListener{
public void actionPerformed(ActionEvent e){
   for(int i=0;i<81;i++)
   {
    fmine[i]=0;
    appear[i]=false;
    lbmine[i].setText("");
    btmine[i].setVisible(true);
    CLayout.first(plbmine[i]);
    btmine[i].setLabel("");
    btmine[i].setEnabled(true);
    rightclick[i]=false;
   }
   btstart.setIcon(new ImageIcon("image/mine.gif"));
   RandomMine();
   rcount=10;
   lbright.setText(Integer.toString(rcount));
   //初始化線程
   stop = true; 
   time=0;
   lbleft.setText(Long.toString(time));
   }    
}
//右擊事件
class UnitEvent extends MouseAdapter{
private int i;
public UnitEvent(int i){
   this.i=i;
}
public void mouseClicked(MouseEvent e){
   if(e.getModifiers()==InputEvent.BUTTON1_MASK){
   }
   if(e.getModifiers()==InputEvent.BUTTON2_MASK){
   }
   if(e.getModifiers()==InputEvent.BUTTON3_MASK){
    if(btmine[i].getLabel()==""){
     btmine[i].setLabel("▲");
     rightclick[i]=true;
     rcount--;
     lbright.setText(String.valueOf(rcount));
     return;
    }
    if(btmine[i].getLabel()=="▲"){
     btmine[i].setLabel("?");
     btmine[i].setEnabled(true);
     rightclick[i]=false;
     rcount++;
     lbright.setText(String.valueOf(rcount));
     return;
    }
    if(btmine[i].getLabel()=="?"){
     btmine[i].setLabel("");
     return;
    }
   }

}
}
//對話框按鈕的監聽
class Restart implements ActionListener{
public void actionPerformed(ActionEvent e){
   new Start().actionPerformed(e);
   digOver.setVisible(false);
   fr.setEnabled(true);
   lbover.setText("踩到雷了");
   digOver.setTitle("你輸了");
}    
}
class Exit implements ActionListener{
public void actionPerformed(ActionEvent e){
   System.exit(0);
}    
}
//內部類關閉窗口
class WindowClosing extends WindowAdapter{
public void windowClosing(WindowEvent e){
   System.exit(0);
}
}  
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费人成网站| 欧美日韩一本到| 男女男精品视频网| 夜夜夜精品看看| 亚洲素人一区二区| 亚洲人成人一区二区在线观看 | 丁香五精品蜜臀久久久久99网站 | 亚洲综合激情小说| 樱花影视一区二区| 亚洲在线视频网站| 日韩精品欧美成人高清一区二区| 亚洲成人自拍偷拍| 蜜臀av一区二区在线免费观看| 首页亚洲欧美制服丝腿| 美脚の诱脚舐め脚责91 | 中文字幕一区二区三区不卡| 中文字幕佐山爱一区二区免费| 亚洲乱码国产乱码精品精98午夜| 一二三四区精品视频| 日本 国产 欧美色综合| 国产精品乡下勾搭老头1| 93久久精品日日躁夜夜躁欧美| 色94色欧美sute亚洲线路二| 91麻豆精品国产91久久久久久| 欧美成人艳星乳罩| 国产精品高潮呻吟| 亚洲成av人影院| 国产一区二区三区黄视频| 97国产精品videossex| 欧美日韩一二三区| 国产欧美一区二区精品性色超碰| 亚洲色图都市小说| 狠狠色丁香久久婷婷综| 在线看国产日韩| www成人在线观看| 亚洲老妇xxxxxx| 国产制服丝袜一区| 精品视频资源站| 中文字幕乱码亚洲精品一区| 人人超碰91尤物精品国产| 国产999精品久久久久久绿帽| 欧美日韩久久不卡| 亚洲人成在线观看一区二区| 另类综合日韩欧美亚洲| 欧美色图天堂网| 亚洲欧美一区二区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 一本色道a无线码一区v| 久久久久久久久久看片| 日韩成人一级片| 在线视频一区二区三| 欧美国产1区2区| 蜜桃视频在线观看一区| 欧美三级乱人伦电影| 国产精品国模大尺度视频| 精品一区二区三区久久久| 欧美午夜一区二区| 亚洲美女免费视频| av一区二区久久| 国产网站一区二区| 国内精品自线一区二区三区视频| 欧美日韩日日摸| 一级中文字幕一区二区| 91女人视频在线观看| 国产精品乱码久久久久久| 国产精品一色哟哟哟| 欧美mv日韩mv国产网站app| 麻豆精品一区二区| 91麻豆精品国产自产在线观看一区 | 在线日韩av片| 一区二区三区四区不卡在线| www.久久精品| 成人欧美一区二区三区黑人麻豆| 国产成人精品一区二区三区网站观看| 欧美成人官网二区| 国产一区免费电影| 久久久国产综合精品女国产盗摄| 国产毛片精品国产一区二区三区| 精品国产污网站| 国产一区二区三区免费看| 久久久777精品电影网影网 | 亚洲精品视频在线观看免费 | 欧美丰满美乳xxx高潮www| 性做久久久久久久免费看| 欧美精品vⅰdeose4hd| 日韩av中文在线观看| 精品少妇一区二区三区日产乱码 | 中文字幕日本不卡| 色婷婷综合久久久中文字幕| 亚洲国产一二三| 91精品国产欧美日韩| 国产综合色在线视频区| 国产欧美日韩麻豆91| 91天堂素人约啪| 亚洲电影一区二区三区| 日韩久久久精品| 粉嫩一区二区三区在线看| 亚洲一区二区综合| 欧美成人乱码一区二区三区| 成人免费观看男女羞羞视频| 亚洲综合免费观看高清完整版 | 91在线高清观看| 婷婷综合在线观看| 国产视频不卡一区| 欧洲色大大久久| 黑人精品欧美一区二区蜜桃| 亚洲婷婷综合色高清在线| 欧美精品成人一区二区三区四区| 国产制服丝袜一区| 亚洲综合丁香婷婷六月香| 26uuu欧美日本| 欧美午夜寂寞影院| 国产成人午夜99999| 性感美女极品91精品| 国产精品二三区| 日韩免费观看高清完整版| 色综合激情五月| 国产精品综合二区| 亚洲gay无套男同| 中文字幕亚洲精品在线观看| 日韩一级在线观看| 一本一道波多野结衣一区二区| 精品在线你懂的| 午夜私人影院久久久久| 综合分类小说区另类春色亚洲小说欧美 | 久久久亚洲精华液精华液精华液| 色天使久久综合网天天| 国产激情精品久久久第一区二区 | 欧美日韩一二三| 激情欧美一区二区三区在线观看| 日韩一区欧美小说| 久久久久国产精品人| 欧美一区二区三区的| 日本高清不卡视频| 成人深夜福利app| 精品一区二区久久| 免费看日韩a级影片| 亚洲一级片在线观看| 亚洲天堂久久久久久久| 国产精品久久久久久久久久久免费看 | 亚洲欧美日韩一区二区 | 欧美丰满美乳xxx高潮www| 91麻豆福利精品推荐| 成人av先锋影音| 国产成人在线网站| 欧美一级xxx| 亚洲大片免费看| 亚洲婷婷综合久久一本伊一区| 精品成人佐山爱一区二区| 日韩欧美国产一区二区在线播放| 欧美日韩一区二区三区免费看| 日本韩国一区二区| 日本韩国视频一区二区| 在线免费av一区| 欧美人体做爰大胆视频| 欧美三级蜜桃2在线观看| 欧美日韩国产天堂| 欧美一区二区免费视频| 日韩欧美国产成人一区二区| 精品少妇一区二区| 久久综合九色综合97婷婷女人| 欧美疯狂性受xxxxx喷水图片| 欧美日韩午夜影院| 精品日韩欧美在线| 欧美激情资源网| 中文字幕一区二| 亚洲精品乱码久久久久久久久 | 亚洲美女视频一区| 亚洲国产欧美另类丝袜| 日韩精品久久久久久| 蜜桃av一区二区在线观看| 精品一区二区成人精品| 成人免费毛片a| 在线精品国精品国产尤物884a| 欧美日韩亚洲另类| 精品国产一区二区三区久久影院| 国产欧美日韩三区| 亚洲国产一区二区在线播放| 久久成人免费日本黄色| 成人av片在线观看| 欧美精品在线一区二区三区| 日韩欧美一二三区| 国产精品久久国产精麻豆99网站| 亚洲综合久久av| 韩国欧美一区二区| 在线看不卡av| 久久久久99精品一区| 亚洲欧美日韩国产另类专区| 日韩制服丝袜av| 成人不卡免费av| 日韩一区二区三区高清免费看看| 国产精品第四页| 久久av中文字幕片| 日本精品一级二级| 2020国产精品自拍| 午夜精品爽啪视频| 97se狠狠狠综合亚洲狠狠| 欧美不卡在线视频| 亚洲自拍另类综合| 暴力调教一区二区三区|