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

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

?? mycanvas.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一区二区三区免费野_久草精品视频
精品国产亚洲在线| 色吊一区二区三区| 日韩精品亚洲一区| 亚洲激情五月婷婷| 亚洲日本一区二区| 国产精品传媒视频| 中文字幕在线观看不卡视频| 国产亚洲制服色| 久久久久久久久久久久电影| 精品久久久久久久久久久久久久久| 7777精品伊人久久久大香线蕉 | 一区二区欧美精品| 亚洲一区二区在线观看视频| 亚洲国产日韩a在线播放性色| 亚洲一区二区三区激情| 全国精品久久少妇| 黄色精品一二区| 成人av在线一区二区| 色综合色狠狠综合色| 欧美日韩一区二区在线观看视频| 欧美精品乱码久久久久久按摩| 欧美精品tushy高清| 国产精品不卡一区二区三区| 国产精品视频免费| 亚洲电影第三页| 捆绑紧缚一区二区三区视频| 国产福利视频一区二区三区| 99久久精品一区二区| 欧美日韩卡一卡二| 精品精品国产高清一毛片一天堂| 久久日一线二线三线suv| 日本一区二区三区四区| 亚洲激情图片qvod| 国产美女在线精品| 欧美性色黄大片手机版| 精品电影一区二区| 亚洲精选在线视频| 狠狠久久亚洲欧美| 色婷婷综合在线| 337p粉嫩大胆色噜噜噜噜亚洲 | 粉嫩一区二区三区在线看 | 亚洲成精国产精品女| 国产伦精品一区二区三区免费迷| 92精品国产成人观看免费 | 色婷婷综合久久久| 日韩精品一区二区三区在线播放| 国产精品色噜噜| 毛片不卡一区二区| 欧洲一区二区三区在线| 国产亚洲视频系列| 琪琪一区二区三区| 在线国产电影不卡| 亚洲欧美在线视频| 国产一区视频导航| 日韩欧美在线不卡| 亚洲成人黄色影院| 色综合天天综合在线视频| xfplay精品久久| 日韩成人免费在线| 中文字幕国产精品一区二区| 青青国产91久久久久久| 在线观看不卡视频| 亚洲精品五月天| 国产成a人亚洲| 亚洲精品在线免费播放| 天堂av在线一区| 欧美日韩综合在线免费观看| 中文字幕一区二区三区在线观看| 国产福利91精品一区二区三区| 欧美日本一区二区三区| 一二三区精品视频| 91网址在线看| 亚洲欧美中日韩| 91在线国产观看| 亚洲欧洲成人自拍| av资源网一区| 国产精品成人免费在线| 99综合影院在线| ●精品国产综合乱码久久久久| 99综合电影在线视频| 国产精品丝袜黑色高跟| 成人激情午夜影院| 国产精品成人网| 色噜噜狠狠色综合中国| 亚洲一区成人在线| 欧美欧美欧美欧美首页| 奇米精品一区二区三区四区| 日韩欧美一二三| 国产风韵犹存在线视精品| 精品免费日韩av| 粉嫩嫩av羞羞动漫久久久 | 91精品国产综合久久精品性色| 亚洲成av人影院在线观看网| 欧美午夜宅男影院| 日韩成人午夜精品| 国产亚洲精品福利| 色狠狠桃花综合| 婷婷中文字幕综合| 26uuu国产电影一区二区| 岛国av在线一区| 亚洲综合色婷婷| 精品少妇一区二区三区在线播放| 国产精品一区不卡| 亚洲欧美日本韩国| 日韩欧美一二区| 国产成人免费在线视频| 亚洲一区欧美一区| 久久久久久电影| 91黄色激情网站| 国产久卡久卡久卡久卡视频精品| 国产精品国产三级国产aⅴ入口 | 亚洲午夜激情av| 日韩一级黄色片| 99精品国产热久久91蜜凸| 亚洲成人免费观看| 国产欧美日韩视频在线观看| 欧美天天综合网| 丰满亚洲少妇av| 日韩不卡免费视频| 国产精品久久久久aaaa| 日韩欧美黄色影院| 国产一区二区看久久| 亚洲欧美在线视频| 国产亚洲精品aa午夜观看| 欧美日韩一区二区三区视频| 久久se精品一区精品二区| 一区二区三区在线高清| 久久久久久久久久久久久夜| 欧美日韩免费高清一区色橹橹 | 91亚洲精品久久久蜜桃网站| 日本在线不卡一区| 亚洲日本免费电影| 久久九九久精品国产免费直播| 欧美精品123区| 色综合一个色综合亚洲| 国产精品123| 日韩不卡免费视频| 亚洲一区二区三区不卡国产欧美 | 91网站在线观看视频| 国产一区在线视频| 久草在线在线精品观看| 亚洲高清免费在线| 亚洲欧美日韩在线播放| 国产精品免费久久久久| 久久影音资源网| 欧美精品一区二区三区四区| 正在播放亚洲一区| 欧美精品黑人性xxxx| 91成人看片片| 91电影在线观看| 在线视频中文字幕一区二区| 色先锋久久av资源部| 色狠狠综合天天综合综合| 99re这里只有精品6| 99这里只有久久精品视频| 97aⅴ精品视频一二三区| 97久久人人超碰| 色狠狠色噜噜噜综合网| 欧美丝袜丝nylons| 欧美精品一级二级| 91精品国产综合久久婷婷香蕉| 欧美精品在线观看播放| 欧美成人video| 国产色综合一区| 国产精品久久久久久久久免费丝袜| 国产精品日韩精品欧美在线| 欧美国产激情一区二区三区蜜月| 中文字幕国产一区| 亚洲人成精品久久久久久| 亚洲国产日韩精品| 久久国产精品99久久人人澡| 国产成人啪免费观看软件| 色综合一个色综合| 91精品国产欧美日韩| 欧美精品一区视频| 中文字幕一区三区| 日韩精品久久理论片| 国产美女精品在线| 在线观看中文字幕不卡| 欧美xxxx老人做受| 中文字幕日韩一区二区| 亚洲午夜激情网站| 国产福利精品导航| 欧美日韩一区精品| 久久综合色天天久久综合图片| 国产精品热久久久久夜色精品三区| 亚洲一区二区中文在线| 国产真实乱子伦精品视频| 91女神在线视频| 欧美电视剧免费观看| 中文字幕日韩一区二区| 日本va欧美va精品发布| 成人免费看视频| 欧美一区二区国产| 亚洲人成影院在线观看| 毛片av一区二区三区| 91麻豆精东视频| 国产网红主播福利一区二区| 午夜在线成人av| 成人激情av网|