斗地主

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));	
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值