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

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

?? pkcard.java

?? 基于swing界面的蜘蛛紙牌游戲,可以選擇花色
?? JAVA
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PKCard extends JLabel implements MouseListener,MouseMotionListener{
	Point point = null;
	Point initPoint = null;
	private Sounds up=new Sounds("sounds/1.wav");
	private Sounds down=new Sounds("sounds/2.wav");
	private Sounds error=new Sounds("sounds/3.wav");
	private String rearImage = "images/rear.gif"; 
	int value = 0;
	int type = 0;
	String name = null;
	Container pane = null;

	Spider main = null;
	boolean canMove = false;
	boolean isFront = false;
	PKCard previousCard = null;
	public void mouseClicked(MouseEvent arg0){}
	public void flashCard(PKCard card){
		new Flash(card).start();
		//不停的獲得下一張牌,直道停
		if(main.getNextCard(card)!=null){
			card.flashCard(main.getNextCard(card));
		}
	}
	class Flash extends Thread{
		private PKCard card = null;
		public Flash(PKCard card){
			this.card = card;
		}

		public void run(){
			boolean is = false;
			ImageIcon icon = new ImageIcon("images/white.gif");
			for(int i = 0; i < 4; i++){
				try{
					Thread.sleep(200);
				}
				catch(InterruptedException e){
					e.printStackTrace();
				}
				if(is){
					this.card.turnFront();
					is = !is;
				}
				else{
					this.card.setIcon(icon);
					is = !is;
				}
				card.updateUI();
			}
		}
	}

	public void mousePressed(MouseEvent mp){
		up.playSound();
		point = mp.getPoint();
		main.setNA();
		this.previousCard = main.getPreviousCard(this);
	}
	
	public void mouseReleased(MouseEvent mr){
		down.playSound();
		Point point = ((JLabel) mr.getSource()).getLocation();

		int n = this.whichColumnAvailable(point);
		if(n == -1 || n == this.whichColumnAvailable(this.initPoint)){
			this.setNextCardLocation(null);
			main.table.remove(this.getLocation());
			this.setLocation(this.initPoint);
			main.table.put(this.initPoint,this);
			return;
		}

		point = main.getLastCardLocation(n);
		boolean isEmpty = false;
		PKCard card = null;
		if(point == null){
			point = main.getGroundLabelLocation(n);
			isEmpty = true;
		}
		else{
			card = (PKCard) main.table.get(point);
		}

		if(isEmpty || (this.value + 1 == card.getCardValue())){
			point.y += 40;
			if(isEmpty) point.y -= 20;
			this.setNextCardLocation(point);
			main.table.remove(this.getLocation());
			point.y -= 20;
			this.setLocation(point);
			main.table.put(point,this);
			this.initPoint = point;
			if(this.previousCard != null){
				this.previousCard.turnFront();
				this.previousCard.setCanMove(true);
			}
			this.setCanMove(true);
		}
		else{
			this.setNextCardLocation(null);
			main.table.remove(this.getLocation());
			this.setLocation(this.initPoint);
			main.table.put(this.initPoint,this);
			error.playSound();
			return;
		}
		point = main.getLastCardLocation(n);
		card = (PKCard)main.table.get(point);
		if (card.getCardValue() == 1){
			point.y -= 240;
			card = (PKCard) main.table.get(point);
			if(card != null && card.isCardCanMove()){
				main.haveFinish(n);
			}
		}
	}

	public void setNextCardLocation(Point point){
		PKCard card = main.getNextCard(this);
		if(card != null){
			if(point == null){
				card.setNextCardLocation(null);
				main.table.remove(card.getLocation());
				card.setLocation(card.initPoint);
				main.table.put(card.initPoint,card);
			}
			else{
				point = new Point(point);
				point.y += 20;
				card.setNextCardLocation(point);
				point.y -= 20;
				main.table.remove(card.getLocation());
				card.setLocation(point);
				main.table.put(card.getLocation(),card);
				card.initPoint = card.getLocation();
			}
		}
	}

	public int whichColumnAvailable(Point point){
		int x = point.x;
		int y = point.y;
		int a = (x - 20) / 101;
		int b = (x - 20) % 101;
		if (a!=9){
			if (b>30 && b<=71){
				a = -1;
			}
			else if (b>71){
				a++;
			}
		}
		else if (b>71){
			a = -1;
		}

		if(a != -1){
			Point p = main.getLastCardLocation(a);
			if(p == null) p = main.getGroundLabelLocation(a);
			b = y - p.y;
			if(b <= -96 || b >= 96){
				a = -1;
			}
		}
		return a;
	}

	public void mouseEntered(MouseEvent arg0){
	}

	public void mouseExited(MouseEvent arg0){
	}
    
	

	public void mouseDragged(MouseEvent arg0){
		if(canMove){
			int x = 0;
			int y = 0;
			Point p = arg0.getPoint();
			x = p.x - point.x;
			y = p.y - point.y;
			this.moving(x,y);
		}
	}

	public void moving(int x, int y){
		PKCard card = main.getNextCard(this);
		Point p = this.getLocation();
		pane.setComponentZOrder(this,1);

		main.table.remove(p);
		p.x += x;
		p.y += y;
		this.setLocation(p);
		main.table.put(p, this);
		if(card != null) card.moving(x,y);
	}
	
	public void mouseMoved(MouseEvent arg0){
	}

	public PKCard(String name, Spider spider){
		super();
		this.type = new Integer(name.substring(0, 1)).intValue();
		this.value = new Integer(name.substring(2)).intValue();
		this.name = name;
		this.main = spider;
		this.pane = this.main.getContentPane();
		this.addMouseListener(this);
		this.addMouseMotionListener(this);
		this.setIcon(new ImageIcon(rearImage));
		this.setSize(71, 96);
		this.setVisible(true);
	}

	public void turnFront(){
		this.setIcon(new ImageIcon("images/" + name + ".gif"));
		this.isFront = true;
	}

	public void turnRear(){
		this.setIcon(new ImageIcon(rearImage));
		this.isFront = false;
		this.canMove = false;
	}

	public void moveto(Point point){
		this.setLocation(point);
		this.initPoint = point;
	}

	public void setCanMove(boolean can){
		this.canMove = can;
		PKCard card = main.getPreviousCard(this);
		if(card != null && card.isCardFront()){
			if(!can){
				if(!card.isCardCanMove()){
					return;
				}
				else{
					card.setCanMove(can);
				}
			}
			else{
				if(this.value + 1 == card.getCardValue() && this.type == card.getCardType()){
					card.setCanMove(can);
				}
				else{
					card.setCanMove(false);
				}
			}
		}
	}

	public boolean isCardFront(){
		return this.isFront;
	}

	public boolean isCardCanMove(){
		return this.canMove;
	}

	public int getCardValue(){
		return value;
	}

	public int getCardType(){
		return type;
	}

	public void setRear(String rear){
		rearImage = rear;
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品欧美综合在线观看最新| 亚洲欧洲综合另类在线| 亚洲精品一二三| 欧美日韩国产小视频在线观看| 国内精品伊人久久久久av一坑| 中文字幕一区二区三区蜜月| 一本色道**综合亚洲精品蜜桃冫| 91性感美女视频| 成人av在线电影| 亚洲成av人综合在线观看| 日本一区二区成人| 精品伦理精品一区| 欧美性一区二区| 日本二三区不卡| 亚洲美女屁股眼交3| 精品国产乱码久久久久久牛牛| 欧美在线观看视频一区二区三区| 99久久久无码国产精品| 日韩激情视频在线观看| 久久午夜免费电影| 欧美亚洲日本国产| 久久99国产精品久久99| 中文字幕制服丝袜一区二区三区| 欧美精品 国产精品| 大桥未久av一区二区三区中文| 中文字幕日韩一区| 日韩美女在线视频| 色婷婷综合激情| 成人视屏免费看| 免费观看日韩电影| 午夜一区二区三区视频| 国产精品久久久久久久久搜平片| 欧美三级欧美一级| 日本精品一区二区三区高清| 国产成人鲁色资源国产91色综| 亚洲成a人v欧美综合天堂下载| 国产精品国产三级国产aⅴ入口| 欧美刺激午夜性久久久久久久| 91在线小视频| 91丨九色丨蝌蚪丨老版| 国产a精品视频| 风流少妇一区二区| 成人免费视频一区二区| 国产a视频精品免费观看| 国产福利一区二区三区| 国产精品66部| 国产成人精品免费在线| 国产成人综合亚洲网站| 不卡av电影在线播放| 免费成人在线网站| 国产成人免费在线观看| 成人av在线看| 欧美伊人精品成人久久综合97| 在线看日本不卡| 欧美一区二区三区播放老司机| 国产精品午夜在线观看| 在线观看国产一区二区| 在线播放中文一区| 国产拍欧美日韩视频二区| 亚洲国产精品av| 亚洲成人综合在线| 国产成人三级在线观看| 9人人澡人人爽人人精品| 欧美视频在线观看一区二区| 欧美精品一区二区三区视频| 亚洲欧美色一区| 色综合久久88色综合天天6| 欧美精三区欧美精三区| 国产亚洲一二三区| 亚洲妇熟xx妇色黄| 丰满少妇在线播放bd日韩电影| 欧美日韩一区二区三区不卡| 国产亚洲一区二区三区四区| 亚洲制服丝袜av| 成人精品视频一区二区三区 | 欧美一级爆毛片| 欧美国产精品专区| 美女mm1313爽爽久久久蜜臀| 成人av在线看| 精品91自产拍在线观看一区| 亚洲女子a中天字幕| 国产一区91精品张津瑜| 在线播放中文一区| 亚洲国产综合91精品麻豆| 丰满白嫩尤物一区二区| 久久综合丝袜日本网| 免费国产亚洲视频| 欧美久久久久久久久中文字幕| 亚洲免费观看在线观看| 91亚洲精华国产精华精华液| 国产精品久久久久aaaa樱花| 国产精品123| 国产精品视频第一区| 成人精品视频一区| 一区二区三区精品在线观看| 色诱亚洲精品久久久久久| 一区二区欧美精品| 在线观看日韩一区| 日韩专区中文字幕一区二区| 欧美蜜桃一区二区三区| 蜜桃视频在线观看一区| 久久奇米777| 91精品1区2区| 免费久久99精品国产| 国产精品第13页| 欧美日韩亚洲高清一区二区| 美女在线一区二区| 国产精品蜜臀在线观看| 欧美裸体bbwbbwbbw| 成人国产精品免费网站| 免费看欧美美女黄的网站| 亚洲欧美另类在线| 2020日本不卡一区二区视频| 91久色porny | 欧美成人在线直播| 91在线云播放| 99国产一区二区三精品乱码| 九色综合狠狠综合久久| 无码av免费一区二区三区试看| 久久久高清一区二区三区| 日韩亚洲欧美综合| 欧美乱妇15p| 911精品国产一区二区在线| 色综合久久综合网欧美综合网| a美女胸又www黄视频久久| www.av亚洲| 免费在线观看日韩欧美| 中文字幕亚洲在| 精品国产乱码久久久久久老虎| 粗大黑人巨茎大战欧美成人| 强制捆绑调教一区二区| 亚洲一级在线观看| 亚洲免费在线看| 国产精品伦理一区二区| 日韩精品一区二区三区老鸭窝| 在线看不卡av| 91老师片黄在线观看| 成人黄色777网| 成人高清视频在线观看| 国产盗摄一区二区| 国产成人亚洲综合a∨婷婷图片| 极品销魂美女一区二区三区| 日韩国产一二三区| 日韩国产欧美一区二区三区| 奇米色一区二区| 免费三级欧美电影| 国产中文一区二区三区| 精品一区免费av| 九一久久久久久| 国产精品原创巨作av| 国产成人在线影院| 99国产精品视频免费观看| 99久久伊人久久99| 在线欧美日韩精品| 91精品国产色综合久久久蜜香臀| 欧美精品日韩精品| 国产日韩欧美一区二区三区综合| 欧美韩国日本不卡| 亚洲综合清纯丝袜自拍| 午夜欧美视频在线观看| 激情成人午夜视频| 从欧美一区二区三区| 精品视频在线免费| 精品国产三级a在线观看| 国产精品国产三级国产aⅴ入口| 亚洲亚洲精品在线观看| 精品在线视频一区| 日本韩国欧美在线| 久久亚洲春色中文字幕久久久| 国产精品二区一区二区aⅴ污介绍| 一区二区三区加勒比av| 久久国产麻豆精品| 欧美在线免费视屏| 国产蜜臀97一区二区三区 | 日韩欧美国产三级电影视频| 国产精品欧美一区喷水| 午夜精品免费在线观看| 粉嫩aⅴ一区二区三区四区 | 国产精品国产三级国产普通话蜜臀 | 在线视频欧美区| 国产精品久久三区| 黄页网站大全一区二区| 欧美高清性hdvideosex| 一区二区三区91| 在线这里只有精品| 中文字幕一区二区三区四区不卡| 极品尤物av久久免费看| 日韩欧美中文字幕制服| 日韩高清不卡一区二区| 欧美一区二区观看视频| 日韩激情在线观看| 日韩欧美亚洲国产另类| 日韩电影在线观看网站| 欧美欧美欧美欧美首页| 丝袜美腿亚洲综合| 欧美一区二区三区影视| 久久精品国产免费| 亚洲国产激情av| 色婷婷久久综合| 日产国产高清一区二区三区|