⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 card.java

📁 24点扑克牌游戏~为了运行这个程序
💻 JAVA
字号:
import java.awt.*;//Represents a standard (one of 52) poker card
//Note that most operations as currently inline to ensure 
//the speed is the same as if it were an open abstraction
    //牌的花色
	class Suit 
	{
		private final String name;
		//Ordinal of next suit to be created
		private static int nextOrdinal = 0;
		
		//Assign an ordinal to this suit
		private final int ordinal = nextOrdinal++;
		
		private Suit(String name)
		{
			this.name = name;
		}
		public String toString()
		{
			return name;
		}
		public int compareTo(Object o)
		{
			return ordinal - ((Suit)o).ordinal;
		}
		static final Suit HEART = new Suit("heart");	//红心	
		static final Suit DIAMOND = new Suit("diamond");//方片		
		static final Suit CLUB = new Suit("club");		//草花
		static final Suit SPADE = new Suit("spade");	//黑桃	
	}

class Card
{
	Card()
	{
		suit = Suit.HEART;
		value='A';
	}


	Card(Suit suit, char value)
	{
		this.suit = suit;
		this.value = value;
		//assert(IsValid());
	}
	Card(final Card card)
	{
		suit = card.suit;
		value = card.value;
	}	
	//return the  card  type 'A' -'K'
	char cardType()		
	{
		return value;
	}

	//set the card type
	boolean setType(char newType)
	{
		value = newType;
		return isValid();
	}
	// return the suit as 'H','D','S','C'
	Suit getSuit()
	{
		return suit;		
	}			 
	//Set the suit: return true if successful								
	boolean setSuit(Suit newSuit)
	{
		suit = newSuit;
		return true;
	}
	final boolean isValid() 
	{
		return isFaceCard() || isValueCard() || isAce();
	}
	final boolean isFaceCard() 
	{
		return value =='J' || value == 'Q' || value == 'K';
	}
	final boolean isValueCard() 
	{
		return (value >= '2' && value <='9') || value =='T';
	}
	final boolean isAce() 
	{
		return value =='A';
	}

	boolean lessThan(Card rhs)
	{
		return value < rhs.value;
	}
	public boolean equals (Object obj) 
	{
		if (obj instanceof Card) 
		{	    	Card rhs = (Card)obj;			return value == rhs.value && suit == rhs.suit;
		}
		return false;
	}
	void assign (final Card rhs)
	{
		value = rhs.value;
		suit = rhs.suit;
	}

	// return 'H', 'D', 'C', 'S'
	char suitAsChar()
	{
		if(suit==Suit.HEART)
			return 'H';
		if(suit==Suit.DIAMOND)
			return 'D';
		if(suit==Suit.SPADE)
			return 'S';
		if(suit==Suit.CLUB)
			return 'C';
		//throw "Illegal Card";  //Can't occur
		return ' ';
	}		public String toString()	{		 return cardType() + "" + suitAsChar();	}	Image getIcon()	{		int iconBase=1;		switch(suitAsChar())		{		case 'C':			iconBase =1;			break;		case 'D':			iconBase =14;			break;		case 'H':			iconBase = 27;			break;		case 'S':			iconBase = 40;			break;		}		if (isAce())			iconBase +=0;		if(isValueCard() && (value !='T'))			iconBase +=  value-'1';		switch(value)		{		case 'T':			iconBase += 9;			break;		case 'J':			iconBase += 10;			break;		case 'Q':			iconBase += 11;			break;		case 'K':			iconBase += 12;		}				return Cfg.cardIcons[iconBase];	}
	private	Suit suit;
	private char value;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -