斗地主

来源:互联网 发布:菊花茶泡久了变绿 知乎 编辑:程序博客网 时间:2024/04/28 20:08

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);//梅花ACard[] 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));}}


0 0