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

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

?? mycanvas.java

?? java拼圖游戲源碼 java拼圖游戲源碼
?? JAVA
字號:
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;


public class MyCanvas extends JPanel implements MouseListener {
	boolean hasAddActionListener=false;//設置方格的動作監聽器的標志位,TRUE為已經添加上動作事件,FALSE是尚未添加動作事件
	Cell cell[];//定義方格
	Rectangle cellNull;//定義空方格區域
	public static int pictureID=1;//當前選擇的圖片代號
	public MyCanvas() {
		this.setLayout(null);
		this.setSize(400,400);
		cellNull=new Rectangle(200,200,100,100);//空方格區域在第三行每三列
		cell=new Cell[9];
		Icon icon;
		for (int i = 0; i < 3; i++) {//為9個方格加載圖片,并初使化坐標,形成三行三列
			for(int j=0;j<3;j++){
				icon=new ImageIcon("pictrue/pic_"+pictureID+"_"+(i*3+j+1)+".jpg");
				cell[i*3+j]=new Cell(icon);
				cell[i*3+j].setLocation(j*100,i*100);
				this.add(cell[i*3+j]);
			}
		}
		this.remove(cell[8]);//移除最后一個多余的方格
	}
	
	public void reLoadPictrue(){//當選擇其它圖形進行拼圖時,需重新加載新圖片
		Icon icon;
		for (int i = 0; i < 3; i++) {
			for(int j=0;j<3;j++){
				icon=new ImageIcon("pictrue/pic_"+pictureID+"_"+(i*3+j+1)+".jpg");
				cell[i*3+j].setIcon(icon);
			}
		}
	}
	public boolean isFinish(){//判斷是否拼合成功
		for(int i=0;i<8;i++){
			int x=cell[i].getBounds().x;
			int y=cell[i].getBounds().y;
			if(y/100*3+x/100!=i)
				return false;
		}
		return true;
	}
	
	public void Start(){//對方格進行重新排列,打亂順序
		
		while(cell[0].getBounds().x<=100&&cell[0].getBounds().y<=100){//當第一個方格距左上角較近時
			int x=cellNull.getBounds().x;
			int y=cellNull.getBounds().y;
			int direction=(int)(Math.random()*4);//產生0-4,對應空方格的上下左右移動
			if(direction==0){//空方格左移動,與左側方格互換位置,左側方格右移動
				x-=100;
				if(test(x,y)){
					for(int j=0;j<8;j++){
						if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){//依次尋找左側的按鈕
							cell[j].move("RIGHT",100);
							cellNull.setLocation(x,y);
							break;//找到后跳出for循環
						}
					}
				}
			}else if(direction==1){//RIGHT
				x+=100;
				if(test(x,y)){
					for(int j=0;j<8;j++){
						if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
							cell[j].move("LEFT",100);
							cellNull.setLocation(x,y);
							break;
						}
					}
				}
			}else if(direction==2){//UP
				y-=100;
				if(test(x,y)){
					for(int j=0;j<8;j++){
						if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
							cell[j].move("DOWN",100);
							cellNull.setLocation(x,y);
							break;
						}
					}
				}
			}else{//DOWN
				y+=100;
				if(test(x,y)){
					for(int j=0;j<8;j++){
						if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){
							cell[j].move("UP",100);
							cellNull.setLocation(x,y);
							break;
						}
					}
				}
			}
				
		}
		
			if(!hasAddActionListener)//如果尚未添加動作事件,則添加
				for(int i=0;i<8;i++)//為第個方格添加動作事件,這樣單擊按鈕就能移動了
					cell[i].addMouseListener(this);
		hasAddActionListener=true;
	}
	private boolean test(int x,int y){
		if((x>=0&&x<=200)||(y>=0&&y<=200))
			return true;
		else
			return false;
	}
//	public void paint(Graphics g){
//		
//		for(int i=0;i<=300;i+=100)
//			g.drawLine(0, i, 300, i);
//		for(int i=0;i<=300;i+=100)
//			g.drawLine(i, 0, i, 300);
//		for(int i=0;i<8;i++)
//			cell[i].repaint();
//	}

	public void mouseClicked(MouseEvent arg0) {	}
	public void mouseEntered(MouseEvent arg0) {	}
	public void mouseExited(MouseEvent arg0) 	{	}
	public void mouseReleased(MouseEvent arg0) {	}
	public void mousePressed(MouseEvent arg0) {//方格的鼠標事件,因為用到了MyCanvas中的一些方法,因此沒有在Cell類中處理鼠標事件
		Cell button=(Cell)arg0.getSource();
		int x1=button.getBounds().x;//得到所單擊方格的坐標
		int y1=button.getBounds().y;
		
		int x2=cellNull.getBounds().x;//得到空方格的坐標
		int y2=cellNull.getBounds().y;
		
		if(x1==x2&&y1-y2==100)//進行比較,如果滿足條件則進行交換
			button.move("UP",100);
		else if(x1==x2&&y1-y2==-100)
			button.move("DOWN",100);
		else if(x1-x2==100&y1==y2)
			button.move("LEFT",100);
		else if(x1-x2==-100&&y1==y2)
			button.move("RIGHT",100);
		else
			return;//不滿足就不進行任何處理
		
		cellNull.setLocation(x1,y1);
		this.repaint();
		if(this.isFinish()){//進行是否完成的判斷
			JOptionPane.showMessageDialog(this,"恭喜你完成拼圖,加油!");
			for(int i=0;i<8;i++)
				cell[i].removeMouseListener(this);//如果已完成,撤消鼠標事件,鼠標單擊方格不在起作用
			hasAddActionListener=false;
		}
	}

	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日本一区二区| 欧美久久久一区| 久久精品国产精品亚洲综合| 亚洲福利视频一区二区| 亚洲国产毛片aaaaa无费看| 亚洲免费观看高清完整版在线观看 | 精品国产一区二区精华| 欧美精品电影在线播放| 9191久久久久久久久久久| 欧美精品 国产精品| 日韩一级片在线观看| 精品国产一区二区亚洲人成毛片| 精品99一区二区| 久久精品一区二区三区av| 国产日韩欧美电影| 综合亚洲深深色噜噜狠狠网站| 中文在线一区二区| 中文字幕在线播放不卡一区| 一区二区免费看| 日韩极品在线观看| 国产在线视频一区二区三区| 国产大片一区二区| 一本大道综合伊人精品热热| 欧美日韩激情一区| 2024国产精品视频| 日韩久久一区二区| 五月综合激情日本mⅴ| 国产在线看一区| 91行情网站电视在线观看高清版| 欧美日韩成人综合在线一区二区 | 日韩一区二区三免费高清| 337p日本欧洲亚洲大胆精品| 中文字幕在线一区| 五月激情综合网| 福利一区在线观看| 欧美人与z0zoxxxx视频| 国产喂奶挤奶一区二区三区| 一区二区成人在线观看| 精品一区二区三区视频| 一本到三区不卡视频| 精品黑人一区二区三区久久| 尤物在线观看一区| 国产精品自在在线| 欧美日韩一区二区三区免费看| 久久综合九色综合欧美亚洲| 亚洲第一在线综合网站| 国产剧情av麻豆香蕉精品| 欧美亚洲国产怡红院影院| 久久免费的精品国产v∧| 午夜av一区二区三区| 99久久婷婷国产综合精品| 日韩欧美卡一卡二| 亚洲国产精品久久艾草纯爱| 成人性生交大合| 精品国产乱码久久久久久图片| 亚洲自拍偷拍网站| www.视频一区| 久久精品视频在线看| 日本怡春院一区二区| 欧洲精品一区二区| 国产精品国产成人国产三级| 国产在线一区观看| 欧美一区二区不卡视频| 亚洲午夜视频在线| 日本道免费精品一区二区三区| 国产欧美在线观看一区| 黑人巨大精品欧美黑白配亚洲| 5月丁香婷婷综合| 蜜桃精品视频在线| 制服丝袜国产精品| 天堂久久久久va久久久久| 欧美在线高清视频| 亚洲精品综合在线| 色悠悠久久综合| 亚洲精品福利视频网站| 色综合久久88色综合天天6| 综合久久久久久久| 色综合夜色一区| 亚洲啪啪综合av一区二区三区| 成人av影院在线| 亚洲免费视频成人| 91精品办公室少妇高潮对白| 亚洲欧美国产毛片在线| 91成人在线免费观看| 亚洲国产日韩av| 欧美日精品一区视频| 视频在线观看91| ww亚洲ww在线观看国产| 国产伦理精品不卡| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲天堂免费看| 欧美最猛性xxxxx直播| 爽爽淫人综合网网站| 欧美一区二区三区四区在线观看| 麻豆精品一区二区三区| 国产亚洲精品福利| 91丝袜美女网| 日韩国产欧美三级| 久久综合给合久久狠狠狠97色69| 国产精品1区2区3区在线观看| 国产人妖乱国产精品人妖| av中文字幕一区| 三级影片在线观看欧美日韩一区二区| 国产欧美日本一区视频| 色视频一区二区| 美腿丝袜亚洲一区| 国产精品女主播av| 欧美亚洲丝袜传媒另类| 久久91精品国产91久久小草| 国产精品麻豆欧美日韩ww| 欧美手机在线视频| 国产一区二区三区免费在线观看| **网站欧美大片在线观看| 欧美日韩精品高清| 国产91精品在线观看| 亚欧色一区w666天堂| 久久久久久久久久久久久久久99| 色猫猫国产区一区二在线视频| 裸体在线国模精品偷拍| 中文字幕第一区| 日韩亚洲电影在线| 91视频观看视频| 国产精品资源在线观看| 亚洲h动漫在线| 亚洲天堂网中文字| 久久亚区不卡日本| 欧美高清激情brazzers| 91在线一区二区| 国产精品一级片在线观看| 亚洲成人av一区| 亚洲精品水蜜桃| 欧美极品美女视频| 精品91自产拍在线观看一区| 欧美日韩在线三级| 91麻豆福利精品推荐| 国产91色综合久久免费分享| 免费人成精品欧美精品| 亚洲一区二区三区精品在线| 一区视频在线播放| 中文字幕二三区不卡| 日韩欧美色综合| 日韩一区二区麻豆国产| 欧美日韩亚洲综合一区二区三区| 99久久精品费精品国产一区二区| 国产一区二区三区最好精华液| 视频一区二区欧美| 国产精品123| 国产在线视频一区二区| 免费国产亚洲视频| 亚洲综合色噜噜狠狠| 亚洲品质自拍视频| 亚洲乱码国产乱码精品精可以看| 国产精品国模大尺度视频| 中文字幕精品一区二区三区精品| 国产欧美一区二区三区在线看蜜臀 | 国产精品女同互慰在线看| 精品福利一区二区三区| 欧美日韩精品免费观看视频| 欧美日韩一区三区| 欧美高清视频不卡网| 777欧美精品| 日韩欧美国产精品一区| 日韩三级免费观看| www国产精品av| 国产精品久久毛片| 亚洲最新在线观看| 亚洲大尺度视频在线观看| 丝袜国产日韩另类美女| 狂野欧美性猛交blacked| 国产综合久久久久影院| 国产成人精品免费一区二区| av在线综合网| 欧美性生活一区| 精品久久久久久久久久久院品网| 精品av综合导航| 亚洲乱码国产乱码精品精98午夜 | 日本免费新一区视频| 久久99国产精品久久99| 国产麻豆精品在线观看| 成人18精品视频| 欧美肥妇bbw| 国产日韩欧美不卡| 亚洲国产成人av| 91美女蜜桃在线| 欧美一级艳片视频免费观看| 国产欧美中文在线| 亚洲国产精品一区二区久久| 麻豆精品一区二区av白丝在线| 国产 欧美在线| 欧美视频一区二区三区四区| 欧美va亚洲va国产综合| 亚洲女人****多毛耸耸8| 蜜桃91丨九色丨蝌蚪91桃色| 99久久99久久精品免费看蜜桃| 在线亚洲一区观看| 国产亚洲成aⅴ人片在线观看| 亚洲自拍偷拍欧美| 国产成人午夜高潮毛片| 欧美视频在线观看一区| 国产日本一区二区|