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

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

?? animapanel.java

?? 數據結構中的迷宮算法
?? JAVA
字號:
package labyrinth;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;

import javax.swing.JPanel;

class AnimaPanel extends JPanel implements MouseListener, Runnable {
	Car car;

	Image path,balk,entrance,exit;

	Location[][] locations;

	int carpx = 0;

	int carpy = 1;

	static Image photos[];

	// Thread anima;
	Graphics og;
	AnimaPanel(Car car, Location[][] locs) {
		photos = new Image[4];
		active = true;
		this.car = car;
		Toolkit tk = Toolkit.getDefaultToolkit();
		locations = locs;
		path = tk.createImage("./res/path.GIF");
		balk = tk.createImage("./res/balk.gif");
		exit = tk.createImage("./res/exit.gif");
		entrance = tk.createImage("./res/entrance.gif");
		LoadImage.waitImage(this, path);
		LoadImage.waitImage(this, balk);
		LoadImage.waitImage(this, entrance);
		LoadImage.waitImage(this, exit);
		add(car);
		carpx = car.cury * 40;
		carpy = car.curx * 40;
		addMouseListener(this);
		getPhotos();
	}

	// 只須要重繪要變化的兩個單元
	int carplx;

	int carply = 40;

	public final void setOffscreen() {
		offscreen = createImage(320, 240);
		og = offscreen.getGraphics();
		og.drawImage(photos[0], 0, 0, this);
	}

	public final void ready() {
		carpx = car.cury * 40;
		carpy = car.curx * 40;
		carplx = car.lasty * 40;
		carply = car.lastx * 40;
	}

	final boolean animation() {
		if (carplx < carpx) {
			car.direction = 1;
			carplx += 4;
			repaint(carplx, carply, 80, 40);
			return false;
		}
		if (carplx > carpx) {
			car.direction = 3;
			carplx -= 4;
			repaint(carpx, carpy, 80, 40);
			return false;
		}
		if (carply < carpy) {
			car.direction = 2;
			carply += 4;
			repaint(carplx, carply, 40, 80);
			return false;
		}
		if (carpy < carply) {
			car.direction = 4;
			carply -= 4;
			repaint(carpx, carpy, 40, 80);
			return false;
		}
		return true;
	}

	public void paint(Graphics g) {
		// paintComponent(g);
		// super.paint(g);
		if (!ToolPanel.win) {

			for (int i = 0; i < locations.length; i++) {
				for (int j = 0; j < locations[0].length; j++) {
					g.drawImage(path, j * 40, i * 40, this);

					if (locations[i][j].balk) {
						g.drawImage(balk, j * 40, i * 40, this);
					}
				}
			}
			g.drawImage(entrance, 0, 40, this);
			g.drawImage(exit, 9 * 40, 8 * 40, this);

			car.setLocation(carplx, carply);
			paintChildren(g);

		} else {
			g.setColor(getBackground());
			g.fillRect(0, 0, getWidth(), getHeight());
			g.fillRect(100, 100, 100, 100);
			g.drawImage(offscreen, 40, 50, this);
			g.setFont(font);
			g.setColor(Color.DARK_GRAY);
			g.drawString("Teammate : ",100,320);
			g.setColor(Color.RED);
			switch (indexp) {
				case 0:
					g.drawString("lishic",250,320);
					break;
				case 1:
					g.drawString("yane",250,320);
					break;
				case 2:
					g.drawString("duanlinlin",250,320);
					break;
				case 3:
					g.drawString("unicoco",250,320);
					break;
				default:
					
					break;
			}

		}
		g.setColor(Color.GRAY);
		g.fillRect(402, 0, 286, 472);
		g.setColor(Color.BLACK);
		for (int x = 402; x < 286 + 402; x += 10) {
			g.drawLine(402, 286 + 402 - x, x, 0);
		}
		// System.out.println(getWidth());
		g.setFont(font);
		g.setColor(Color.BLUE);
		g.drawString("Coder : Unicoco", 480, 130);
		g.drawString("Software Artist : Yane", 410, 210);
	}

	Font font = new Font("tohoma", Font.BOLD, 25);

	boolean active;

	// public void run() {

	// }
	public final boolean start(boolean active) {
		this.active = active;
		while (active && ToolPanel.active) {
			active = !animation();
			try {
				Thread.sleep(50);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			if (!ToolPanel.active) {
				return false;
			}
		}
		if (!ToolPanel.active) {
			return false;
		}
		return true;
	}

	public void mouseClicked(MouseEvent arg0) {
	}

	public void mouseEntered(MouseEvent arg0) {
	}

	public void mouseExited(MouseEvent arg0) {
	}

	public void mousePressed(MouseEvent e) {
		if (!ToolPanel.started) {
			int pixelX = e.getX() / 40;
			int pixelY = e.getY() / 40;
			if (pixelX > 0 && pixelY > 0 && pixelX < 9 && pixelY < 9) {
				if (locations[pixelY][pixelX].balk) {
					locations[pixelY][pixelX].balk = false;
				} else {
					locations[pixelY][pixelX].balk = true;
				}
				// System.out.println(pixelX+" "+pixelY);
				repaint(pixelX * 40, pixelY * 40, 40, 40);
			}
		}
	}

	public void mouseReleased(MouseEvent arg0) {
	}

	public void reset() {
		carplx = 0;
		carply = 40;
		carpx = 1;
		carpy = 0;
	}

	int indexp = 0;

	Image offscreen;

	public void run() {
		while (ToolPanel.win) {
			showPhotos();
		}
	}

	final void mode1() {
		//System.out.println("mode1");
		//Graphics og = offscreen.getGraphics();
		int x = 0, y = 0, w = 320, h = 240;
		boolean condi = true;
		for (; w >= 0;) {
			og.drawImage(photos[(indexp + 1) % 4], 0, 0, this);
			og.setClip(x, y, w, h);
			og.drawImage(photos[indexp], 0, 0, this);
			repaint();
			try {
				Thread.sleep(20);
			} catch (Exception e) {
				// TODO: handle exception
			}
			x += 2;
			y += condi ? 1 : 2;
			condi = !condi;
			w -= 4;
			h -= 3;
		}
		indexp = (indexp + 1) % 4;
		repaint();
		og.setClip(0,0,320, 240);
	}

	final void mode2() {
		//System.out.println("mode2");
		//Graphics og = offscreen.getGraphics();
		int section = 0;
		// int step=40;
		for (; section <= 40;) {
			og.drawImage(photos[indexp], 0, 0, this);
			for (int x = 0; x <= 320; x += 40) {
				og.setClip(x, 0, section, 240);
				og.drawImage(photos[(indexp + 1) % 4], 0, 0, this);
			}
			repaint();
			try {
				Thread.sleep(50);
			} catch (Exception e) {
				// TODO: handle exception
			}
			section++;
		}
		indexp = (indexp + 1) % 4;
		repaint();
		og.setClip(0,0,320, 240);
		//og.dispose();
	}
	boolean[][] occupyed = new boolean[10][10];
	final void mode3() {
		//System.out.println("mode3");
		//Graphics og = offscreen.getGraphics();
		og.drawImage(photos[indexp], 0, 0, this);
		int w = 32, h = 24;
		int incompleted = occupyed.length * occupyed[0].length;
		while (incompleted > 0) {
			int x = (int) (Math.random() * 305) / w;
			int y = (int) (Math.random() * 229) / h;
			if (valide(x, y, occupyed)) {
				og.setClip(x * w, y * h, w, h);
				og.drawImage(photos[(indexp + 1) % 4], 0, 0, this);
				repaint();
				incompleted--;
				try {
					Thread.sleep(10);
				} catch (Exception e) {
					// TODO: handle exception
				}
			} else {
				continue;
			}
		}
		indexp = (indexp + 1) % 4;
		repaint();
		//og.dispose();
		og.setClip(0,0,320, 240);
		for (int i = 0; i < occupyed.length; i++) {
			for (int j = 0; j < occupyed[0].length; j++) {
				occupyed[i][j]=false;
			}
		}
	}

	boolean valide(int x, int y, boolean[][] occupyed) {
		if (occupyed[x][y]) {
			return false;
		}
		occupyed[x][y] = true;
		return true;
	}

	final void mode4() {
		//System.out.println("mode4");
		//Graphics og = offscreen.getGraphics();
		int nx = 320, ny = 240;
		for (; nx >= 0; nx -= 4) {
			og.setClip(0, 0, nx, ny);
			og.drawImage(photos[indexp], 0, 0, this);
			og.setClip(nx, 0, 320 - nx, ny);
			og.drawImage(photos[(indexp + 1) % 4], 0, 0, this);
			repaint();
			try {
				Thread.sleep(40);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		indexp = (indexp + 1) % 4;
		repaint();
		og.setClip(0,0,320, 240);
		//og.dispose();
	}

	public final void getPhotos() {
		Toolkit tk = Toolkit.getDefaultToolkit();
		photos[3] = tk.createImage("./res/unicoco.jpg");
		photos[1] = tk.createImage("./res/yane.jpg");
		photos[0] = tk.createImage("./res/lsc.jpg");
		photos[2] = tk.createImage("./res/dll.jpg");
		for (int i = 0; i < photos.length; i++) {
			LoadImage.waitImage(this, photos[i]);
		}

	}
	public void showPhotos() {
		setOffscreen();
		while (ToolPanel.win) {
			int mode=(int)(Math.random()*4);
			switch (mode) {
				case 0:
					mode1();
					break;
				case 1:
					mode2();
					break;
				case 2:
					mode3();
					break;
				case 3:
					mode4();
					break;
				default:
					
					break;
			}
			try {
				Thread.sleep(2000);
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
				return;
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品精品国产色婷婷| 国产精品一区免费在线观看| 国产欧美一区二区精品忘忧草| 日韩午夜在线播放| 日韩一区二区在线观看视频播放| 欧美精品v日韩精品v韩国精品v| 91理论电影在线观看| 成人精品视频一区| 色噜噜久久综合| 欧美人成免费网站| 精品国产一区二区在线观看| 精品国产乱码91久久久久久网站| 久久精品这里都是精品| 国产欧美中文在线| 一区二区三区色| 青草国产精品久久久久久| 久草精品在线观看| 成人免费视频视频| 在线亚洲精品福利网址导航| 欧美区在线观看| 久久精品日韩一区二区三区| 国产精品妹子av| 亚洲电影一级黄| 久久9热精品视频| av激情综合网| 91精品国产综合久久久久久| 久久婷婷色综合| 亚洲欧洲综合另类| 久久99精品国产麻豆婷婷| 国产成人aaaa| 在线播放视频一区| 国产精品免费久久| 日本aⅴ亚洲精品中文乱码| 国产成人亚洲综合a∨猫咪| 91成人免费网站| 久久综合狠狠综合久久综合88| 中文字幕一区二区三区蜜月| 日韩av一区二| 91在线视频播放地址| 欧美一级爆毛片| 亚洲精品视频在线看| 蜜桃av一区二区在线观看| 成人av在线一区二区| 日韩你懂的电影在线观看| 亚洲裸体xxx| 成人免费电影视频| 9191久久久久久久久久久| 中文字幕在线一区免费| 精品亚洲porn| 欧美精品99久久久**| 亚洲欧洲日本在线| 国产真实乱偷精品视频免| 欧美色图第一页| 综合激情网...| 粉嫩13p一区二区三区| 精品美女一区二区| 日韩精品一区第一页| 色综合天天性综合| 26uuuu精品一区二区| 免费看欧美女人艹b| 91年精品国产| 亚洲色欲色欲www| 国产精品一级黄| 久久亚洲二区三区| 极品少妇xxxx精品少妇偷拍| 91精品国产综合久久久久久漫画 | 亚洲青青青在线视频| 国产成人在线观看免费网站| 日韩一区二区三区av| 天天爽夜夜爽夜夜爽精品视频 | 成人免费一区二区三区视频 | 亚洲午夜免费电影| 91福利精品视频| 亚洲免费在线播放| 国产成人午夜片在线观看高清观看| 制服丝袜一区二区三区| 日韩成人伦理电影在线观看| 欧美三级乱人伦电影| 亚洲精品成人天堂一二三| 成人精品视频一区| 亚洲男人都懂的| 91久久线看在观草草青青| 亚洲免费观看高清完整 | 一区二区三区中文字幕| 成人三级伦理片| 亚洲人成精品久久久久| 在线视频一区二区三区| 丝袜诱惑亚洲看片| 日韩精品中文字幕在线一区| 国产一区二区三区久久悠悠色av| 精品日韩99亚洲| 粉嫩在线一区二区三区视频| 亚洲图片另类小说| 欧美久久一区二区| 精品一区二区三区香蕉蜜桃| 欧美极品少妇xxxxⅹ高跟鞋| 色狠狠一区二区| 伦理电影国产精品| 日本一区二区三区四区| 91麻豆高清视频| 欧美aⅴ一区二区三区视频| 久久久久久久性| 91农村精品一区二区在线| 亚洲va中文字幕| 久久久久久久久久电影| 91在线观看高清| 秋霞电影网一区二区| 欧美国产禁国产网站cc| 在线观看91精品国产入口| 久久国内精品自在自线400部| 欧美国产在线观看| 欧美高清视频一二三区| 国产剧情一区在线| 亚洲综合999| 2023国产精华国产精品| 在线观看视频一区| 精品在线免费观看| 一区二区三区四区五区视频在线观看| 日韩精品专区在线影院重磅| 91小视频在线| 国产在线精品一区在线观看麻豆| 亚洲女人小视频在线观看| 精品国产三级电影在线观看| 欧美在线观看18| 成人黄色片在线观看| 久久精品国产色蜜蜜麻豆| 亚洲精品少妇30p| 国产欧美精品区一区二区三区| 欧美久久一区二区| 91福利区一区二区三区| 国产999精品久久| 精品一区二区三区的国产在线播放 | 精品视频123区在线观看| 国产精品99久久久久久久vr| 日韩精品国产欧美| 一区二区三区色| 亚洲男女一区二区三区| 国产精品久久一卡二卡| 久久色.com| 欧美成人国产一区二区| 欧美久久久影院| 欧美午夜理伦三级在线观看| 91视频.com| 99久久精品费精品国产一区二区| 国产成人啪免费观看软件| 国内精品伊人久久久久av影院| 视频在线观看一区二区三区| 亚洲国产视频直播| 亚洲一区二区综合| 亚洲高清免费观看| 丝袜亚洲精品中文字幕一区| 亚洲成人av中文| 日韩中文字幕av电影| 午夜伦欧美伦电影理论片| 亚洲 欧美综合在线网络| 亚洲福利视频三区| 日本午夜一区二区| 美女一区二区三区| 九九**精品视频免费播放| 国内精品久久久久影院薰衣草| 久久国产乱子精品免费女| 国精产品一区一区三区mba桃花| 久久国产精品第一页| 黄网站免费久久| 夫妻av一区二区| 色综合一个色综合亚洲| 欧美日韩国产小视频在线观看| 欧美电影在线免费观看| 欧美大片在线观看| 亚洲国产成人午夜在线一区| 欧美高清在线一区二区| 一区二区欧美视频| 日韩黄色小视频| 国产精品一区二区久激情瑜伽 | 日韩一级成人av| 久久综合九色欧美综合狠狠| 国产精品午夜在线观看| 亚洲高清久久久| 精品亚洲aⅴ乱码一区二区三区| 风间由美性色一区二区三区| 91福利在线免费观看| 精品久久久久久无| 一区视频在线播放| 蜜桃一区二区三区四区| 成人免费视频网站在线观看| 欧美日韩免费电影| 久久综合九色综合欧美就去吻| 亚洲日本va在线观看| 美国av一区二区| 色综合久久综合网| 精品久久一区二区三区| 亚洲欧美另类小说视频| 久久精品国产一区二区三区免费看 | 不卡免费追剧大全电视剧网站| 欧美日韩国产高清一区| 欧美高清在线一区| 美女诱惑一区二区| 在线视频你懂得一区二区三区| 久久久www成人免费毛片麻豆| 一区二区三区蜜桃|