package day11.obj;
/*扑克牌,斗地主*/
public class Card {
private int suit;//花色
private int rank;//点数
//0代表3,1代表4,。。。,11代表A,12代表2,13代表小王,14代表大王。
public static final int THREE = 0;
public static final int FOUR = 1;
public static final int FIVE = 2;
public static final int SIX = 3;
public static final int SENVEN = 4;
public static final int EIGHT = 5;
public static final int NINE = 6;
public static final int TEEN = 7;
public static final int JACK = 8;
public static final int QUEEN = 9;
public static final int KING = 10;
public static final int ACE = 11;
public static final int DEUCE = 12;
public static final int BLACK = 13;
public static final int COLOR = 14;
public static final int DIAMOND = 0;
public static final int CLUB = 1;
public static final int HEART = 2;
public static final int SPADE = 3;
public static final int JOKER = 4;
public Card(){}
public Card(int suit,int rank){
this.setRank(rank);
this.setSuit(suit);
}
public static final String[] RANK_NAMES =
"3,4,5,6,7,8,9,10,J,Q,K,A,2,小,大".split(",");
public static final String[] SUIT_NAMES =
"方块,梅花,红桃,黑桃,王".split(",");
public String getRankName(){
return RANK_NAMES[this.rank];
}
public String getSuitName(){
return SUIT_NAMES[this.suit];
}
public String toString (){
if(suit == JOKER){
return this.getRankName()+this.getSuitName();
}
return this.getSuitName()+this.getRankName();
}
public int getSuit() {
return suit;
}
public void setSuit(int suit) {
if(suit <DIAMOND || suit >JOKER)
throw new IllegalArgumentException("suit超了");
this.suit = suit;
}
public int getRank() {
return rank;
}
public void setRank(int rank) {
if(rank <THREE || rank >COLOR)
throw new IllegalArgumentException("rank超了");
this.rank = rank;
}
public boolean equals(Object obj){
return super.equals(obj);
}
public int hashCode(){
return suit*100+rank;
}
}
------------------------------------
package day11.obj;
public class Player {
private int id;
private String name;
private String pwd;
private String nickName;
public boolean equals(Object obj){
if(this == obj)
return true;
if(obj instanceof Player){
Player other = (Player)obj;
return this.id == other.id;
}
return false;
}
public int hashCode(){
return id;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
}
-------------------------------------
package day11.obj;
import java.util.Arrays;
import java.util.Random;
public class CardDemo {
public static void main(String[] args){
Card ace = new Card(Card.SPADE,Card.ACE);//梅花A
Card[] cards = new Card[54];//54张牌
//初始化54张牌
int i = 0;
for(int rank=Card.THREE;rank<=Card.DEUCE;rank++){
cards[i++] = new Card(Card.DIAMOND,rank);
cards[i++] = new Card(Card.CLUB,rank);
cards[i++] = new Card(Card.HEART,rank);
cards[i++] = new Card(Card.SPADE,rank);
}
cards[i++] = new Card(Card.JOKER,Card.BLACK);
cards[i++] = new Card(Card.JOKER,Card.COLOR);
//完成洗牌操作
Random r = new Random();
for(i=cards.length-1;i>=1;i--){
int j = r.nextInt(i);
Card temp = cards[i];
cards[i] = cards[j];
cards[j] = temp;
}
for(i=0;i<cards.length;i++){
Card c = cards[i];
System.out.println(c+" ");
}
System.out.println("-----------------------------------------");
System.out.println(Arrays.toString(cards));
}
}