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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? allbuttonpanel.java

?? 剛學(xué)JAVA沒(méi)多久
?? JAVA
字號(hào):
package day02.cleanMine;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * 顯示所有按鈕的面板
 * @author Administrator
 *
 */
public class AllButtonPanel extends JPanel implements ActionListener{
	private int row;//行數(shù)
	private int col;//列數(shù)
	private int mineCount;//地雷數(shù)
	private MineButton[][] allButtons;//所有按鈕

	
	public AllButtonPanel(int row,int col,int mineCount){
		this.row=row;
		this.col=col;
		this.mineCount=mineCount;
		allButtons=new MineButton[row][col];
		createButtons();
		
		createMine();
		init();
	}
	
	private void init(){
		this.setLayout(new GridLayout(row,col));
		for(int i=0;i<allButtons.length;i++){
			for(int j=0;j<allButtons[i].length;j++){
				this.add(allButtons[i][j]);
			}
		}
	}
	
	/**
	 * 隨機(jī)布雷的方法
	 *
	 */
	private void createMine(){
		int n=0;
		while(n<mineCount){//隨機(jī)生成mineCount個(gè)地雷
			int i=(int)(Math.random()*row);
			int j=(int)(Math.random()*col);
			if(allButtons[i][j].getCountOfSurroundMines()!=-1){
				allButtons[i][j].setCountOfSurroundMines(-1);
				n++;
			}
		}
		
		for(int i=0;i<allButtons.length;i++){//計(jì)算每個(gè)位置的周?chē)乩讛?shù)
			for(int j=0;j<allButtons[i].length;j++){
				if(allButtons[i][j].getCountOfSurroundMines()!=-1){
					allButtons[i][j].setCountOfSurroundMines(getSurroundMineCount(i,j));
				}
			}
		}
	}
	
	
	/**
	 * 統(tǒng)計(jì)(i,j)坐標(biāo)周?chē)?個(gè)位置的地雷數(shù)
	 * @param data
	 * @param i
	 * @param j
	 * @return
	 */
	private int getSurroundMineCount(int i,int j){
		int num=0;//統(tǒng)計(jì)周?chē)睦讛?shù)
		if(i-1>=0&&j-1>=0){
			num+=(allButtons[i-1][j-1].getCountOfSurroundMines()==-1?1:0);
		}
		if(i-1>=0){
			num+=(allButtons[i-1][j].getCountOfSurroundMines()==-1?1:0);
		}
		if(i-1>=0&&j+1<allButtons[0].length){
			num+=(allButtons[i-1][j+1].getCountOfSurroundMines()==-1?1:0);
		}
		if(j-1>=0){
			num+=(allButtons[i][j-1].getCountOfSurroundMines()==-1?1:0);
		}
		if(j+1<allButtons[0].length){
			num+=(allButtons[i][j+1].getCountOfSurroundMines()==-1?1:0);
		}
		if(i+1<allButtons.length&&j-1>=0){
			num+=(allButtons[i+1][j-1].getCountOfSurroundMines()==-1?1:0);
		}
		if(i+1<allButtons.length){
			num+=(allButtons[i+1][j].getCountOfSurroundMines()==-1?1:0);
		}
		if(i+1<allButtons.length&&j+1<allButtons[0].length){
			num+=(allButtons[i+1][j+1].getCountOfSurroundMines()==-1?1:0);
		}
		return num;	
	}
	
	
	/**
	 * 生成按鈕
	 *
	 */
	private void createButtons(){
		for(int i=0;i<allButtons.length;i++){
			for(int j=0;j<allButtons[i].length;j++){
				allButtons[i][j]=new MineButton(i,j);
				allButtons[i][j].setSize(6,6);
				allButtons[i][j].addActionListener(this);//添加點(diǎn)擊事件監(jiān)聽(tīng)
				allButtons[i][j].addMouseListener(new MouseAdapter(){//添加鼠標(biāo)右鍵事件監(jiān)聽(tīng)
					public void mouseClicked(MouseEvent e) {
						if(e.getButton()==MouseEvent.BUTTON3){
							int remain=Integer.parseInt(CleanMine.remainMine.getText());
							JButton b=(JButton)e.getSource();
							if(b.getText().equals("")){
								remain--;
								CleanMine.remainMine.setText(remain+"");
								b.setText("&");
							}else if(b.getText().equals("&")){
								remain++;
								CleanMine.remainMine.setText(remain+"");
								b.setText("");
							}
						}
					}
				});
			}
		}
	}

	
	public void actionPerformed(ActionEvent e) {//點(diǎn)擊事件監(jiān)聽(tīng)的方法
		MineButton b=(MineButton)e.getSource();
		int r=b.getRow();
		int c=b.getCol();
		if(allButtons[r][c].getCountOfSurroundMines()==-1){//如果是地雷
			for(int i=0;i<allButtons.length;i++){//把所有按鈕都顯示出來(lái)
				for(int j=0;j<allButtons[i].length;j++){
					if(allButtons[i][j].getCountOfSurroundMines()==-1){//如果該位置是地雷
						allButtons[i][j].setText("$");
					}else if(allButtons[i][j].getCountOfSurroundMines()==0){//如果該位置為空(該位置不是地雷,周?chē)?個(gè)位置也沒(méi)有地雷)
						allButtons[i][j].setText("");
						allButtons[i][j].setBackground(Color.CYAN);
					}else{//如果該位置不是地雷,但周?chē)?個(gè)位置中有地雷
						allButtons[i][j].setText(allButtons[i][j].getCountOfSurroundMines()+"");
						allButtons[i][j].setBackground(Color.CYAN);
					}
				}
			}
		}else{//如果不是地雷
			showEmpty(r,c);//執(zhí)行排空操作
		}
	}
	
	/**
	 * 排空方法,若(i,j)位置為空,則顯示空白。然后依次遞歸找它周?chē)?個(gè)位置。
	 * @param data
	 * @param i
	 * @param j
	 */
	private void showEmpty(int i,int j){
		MineButton b=allButtons[i][j];
		if(b.isCleared()){
			return;
		}
		if(allButtons[i][j].getCountOfSurroundMines()==0){
			b.setBackground(Color.CYAN);
			b.setCleared(true);
			if(i-1>=0&&j-1>=0){
				showEmpty(i-1,j-1);
			}
			if(i-1>=0){
				showEmpty(i-1,j);
			}
			if(i-1>=0&&j+1<allButtons[0].length){
				showEmpty(i-1,j+1);
			}
			if(j-1>=0){
				showEmpty(i,j-1);
			}
			if(j+1<allButtons[0].length){
				showEmpty(i,j+1);
			}
			if(i+1<allButtons.length&&j-1>=0){
				showEmpty(i+1,j-1);
			}
			if(i+1<allButtons.length){
				showEmpty(i+1,j);
			}
			if(i+1<allButtons.length&&j+1<allButtons[0].length){
				showEmpty(i+1,j+1);
			}
		}else if(allButtons[i][j].getCountOfSurroundMines()>0){
			b.setText(allButtons[i][j].getCountOfSurroundMines()+"");
			b.setBackground(Color.CYAN);
			b.setCleared(true);
		}	
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲卡通动漫在线| 国产一区二区在线视频| 亚洲欧洲av在线| 亚洲精品在线免费观看视频| 欧美一区二区精品| 欧美丰满美乳xxx高潮www| 欧美视频中文字幕| 欧美日韩视频在线观看一区二区三区| 色av一区二区| 欧美色图第一页| 欧美在线观看18| 欧美在线高清视频| 欧美区在线观看| 在线播放日韩导航| 欧美一区二区三区在| 日韩一区二区三区四区| 日韩一区二区在线免费观看| 日韩欧美亚洲国产另类| 日韩三区在线观看| 精品国产91久久久久久久妲己| 精品sm在线观看| 国产三级精品三级在线专区| 中文无字幕一区二区三区 | 91精品国产色综合久久不卡电影| 欧美日本一区二区三区四区| 制服丝袜中文字幕一区| 精品区一区二区| 欧美国产精品一区二区三区| 中文字幕一区三区| 亚洲综合丝袜美腿| 日韩精品亚洲专区| 国内精品伊人久久久久av影院 | 国产69精品久久久久777| 国产九色sp调教91| caoporn国产精品| 91精彩视频在线观看| 91精品蜜臀在线一区尤物| 久久亚洲一区二区三区四区| 国产精品久久久久久久第一福利| 亚洲三级小视频| 日韩av不卡在线观看| 国产成人综合精品三级| 色琪琪一区二区三区亚洲区| 日韩精品一区二区三区四区视频| 欧美激情综合在线| 悠悠色在线精品| 精彩视频一区二区| 97久久久精品综合88久久| 欧美二区在线观看| 国产欧美一区二区在线观看| 亚洲午夜精品在线| 国产精品综合一区二区| 色中色一区二区| 日韩视频不卡中文| 亚洲欧美日韩在线不卡| 免费欧美在线视频| 99久久免费视频.com| 日韩一级高清毛片| 亚洲色图.com| 久久国产精品99久久久久久老狼| 91丝袜美腿高跟国产极品老师| 日韩一区二区三区在线| 亚洲人成网站精品片在线观看| 久草精品在线观看| 欧美系列在线观看| 国产欧美日韩在线观看| 天堂蜜桃91精品| 波多野结衣中文字幕一区| 日韩欧美另类在线| 一区二区三区高清| 成人视屏免费看| 日韩午夜激情av| 亚洲人成在线播放网站岛国 | 91精品国模一区二区三区| 中文成人综合网| 久久99蜜桃精品| 欧美日本一道本在线视频| 国产精品看片你懂得| 精品一区二区三区免费播放| 欧美区在线观看| 一区二区在线观看视频| 成人一区在线观看| 精品剧情在线观看| 日一区二区三区| 色婷婷av一区二区三区之一色屋| 日本一区二区久久| 精品一区二区在线免费观看| 91精品福利在线一区二区三区 | 99国产精品一区| 国产亚洲精品7777| 国产一区二区影院| 欧美成人猛片aaaaaaa| 午夜欧美一区二区三区在线播放| 91丨porny丨户外露出| 欧美极品美女视频| 国产69精品一区二区亚洲孕妇| 26uuu国产日韩综合| 麻豆久久一区二区| 欧美电影一区二区| 午夜精品在线视频一区| 欧美亚洲国产一区二区三区va| 1024成人网色www| 成人精品一区二区三区中文字幕 | 香蕉影视欧美成人| 一本久久综合亚洲鲁鲁五月天| 国产精品三级视频| 丰满放荡岳乱妇91ww| 国产拍揄自揄精品视频麻豆| 国产成a人亚洲| 欧美激情一区三区| 成人免费视频播放| 国产精品久久久久久久久免费相片| 国产精品 日产精品 欧美精品| 久久久不卡网国产精品一区| 国产伦精品一区二区三区免费迷| 久久婷婷国产综合国色天香| 国产一区二区福利| 国产欧美精品一区二区色综合 | 欧美性猛交xxxxxxxx| 亚洲国产一二三| 欧美日韩一区三区| 日韩精品一级二级| 日韩欧美资源站| 国产麻豆精品久久一二三| 国产精品情趣视频| 91国产免费看| 麻豆精品在线播放| 日本一区二区三区久久久久久久久不 | 在线不卡中文字幕播放| 日韩av电影免费观看高清完整版| 精品国产亚洲在线| www.一区二区| 亚洲国产视频a| 欧美哺乳videos| 国产成人a级片| 一区二区三区在线免费观看| 欧美另类videos死尸| 国内成+人亚洲+欧美+综合在线| 亚洲国产精品二十页| 欧美影院一区二区三区| 日本成人超碰在线观看| 欧美激情一区二区三区全黄| 欧美亚洲动漫另类| 激情文学综合网| 综合中文字幕亚洲| 欧美电影一区二区三区| 国产精品亚洲а∨天堂免在线| 亚洲欧美在线aaa| 国产乱人伦偷精品视频免下载 | 久久精品国产免费| 久久久久国产精品厨房| 久久精品国产亚洲aⅴ| 国产精品进线69影院| 91精彩视频在线| 麻豆精品一二三| 国产精品久久影院| 777午夜精品视频在线播放| 精品亚洲porn| 综合久久国产九一剧情麻豆| 欧美日韩黄色影视| 高清不卡一二三区| 亚洲国产视频直播| 久久久高清一区二区三区| 99综合影院在线| 久久精品国产99久久6| 国产精品久久久久久久久动漫| 欧美精品乱人伦久久久久久| 国产一区二区影院| 琪琪久久久久日韩精品| 国产精品久久久久久久岛一牛影视 | 欧美日韩精品福利| 国产资源在线一区| 一区二区三区在线观看动漫| 日韩精品一区国产麻豆| 99这里只有久久精品视频| 亚洲v日本v欧美v久久精品| 欧美大度的电影原声| 成人免费视频视频在线观看免费 | 亚洲视频 欧洲视频| 制服丝袜亚洲精品中文字幕| 丁香天五香天堂综合| 天天影视涩香欲综合网| 亚洲激情图片小说视频| 国产亚洲综合色| 56国语精品自产拍在线观看| 国内成+人亚洲+欧美+综合在线| 亚洲成人免费视频| 中文字幕在线不卡视频| 精品日韩一区二区三区| 欧美日韩五月天| 成人福利视频在线看| 免费看黄色91| 国产精品麻豆一区二区| 精品视频在线免费看| 懂色av一区二区三区免费观看| 久久av资源站| 亚洲成人7777| 亚洲国产美国国产综合一区二区| 国产精品毛片久久久久久| 久久综合九色综合97婷婷|