




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
public class Card 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 SEVEN = 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; /* A */ 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; private static final String SUIT_NAMES= 方块,梅花,红桃,黑桃,王; private static final String RANK_NAMES= 3,4,5,6,7,8,9,10,J, Q,K,A,2,小,大; /* 点数 * 015, 0代表3,1代表3. * 11代表A 12代表2 13:小,14:大*/ private int rank; /* 花色, 0:方块,1:梅花,2:红桃 3:黑桃 4:王 */ private int suit; public Card() public Card(int suit, int rank) /this.rank = rank; /this.suit = suit; setRank(rank); setSuit(suit); /* * 构造器 * param cardName 如:黑桃10, 大王,小王 */ public Card(String cardName) /要处理大小王问题 String suitName;/黑桃 String rankName;/10 if(cardName.endsWith(王) suitName = cardName.substring(1); rankName = cardName.substring(0,1); else suitName = cardName.substring(0,2); rankName = cardName.substring(2); int rank = parseRank(rankName);/黑桃-3 int suit = parseSuit(suitName);/10-7 setRank(rank); setSuit(suit); private int parseRank(String rankName) for (int i = 0; i RANK_NAMES.length; i+) String name = RANK_NAMESi; /if(rankName!=null & rankName.equals(name) if(name.equals(rankName) return i; throw new IllegalArgumentException(错了!); private int parseSuit(String suitName) for (int i = 0; i SUIT_NAMES.length; i+) String name = SUIT_NAMESi; if(name.equals(suitName) return i; throw new IllegalArgumentException(错了!); public void setSuit(int suit) if(suitJOKER) throw new IllegalArgumentException(超!); this.suit = suit; public int getSuit() return suit; public void setRank(int rank) if(rankCOLOR) throw new IllegalArgumentException(超了); this.rank = rank; public int getRank() return rank; public String toString() return SUIT_NAMESsuit + RANK_NAMESrank; public boolean equals(Object obj) if(obj=null) return false; if(this=obj) return true; if (obj instanceof Card) Card other = (Card) obj; return rank=other.rank & suit=other.suit; return false; public int hashCode() return suit*100+rank; import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Random;public class CardDemo public static void main(String args) List cards = new ArrayList();for (int rank = Card.THREE; rank = Card.DEUCE; rank+) cards.add(new Card(Card.DIAMOND, rank);cards.add(new Card(Card.SPADE, rank);cards.add(new Card(Card.HEART, rank);cards.add(new Card(Card.CLUB, rank);cards.add(new Card(Card.JOKER, Card.BLACK);cards.add(new Card(Card.JOKER, Card.COLOR);System.out.println(cards);cards = shuffle(cards);System.out.println(cards); Card c = new Card(黑桃3); Player e=new Player(0,emily); Player h=new Player(1,hanna); Player b=new Player(2,blair); Player players=e,h,b; int idx=0; Iterator ite=cards.iterator(); while(ite.hasNext() Card card=ite.next(); playersidx+%players.length.add(card); ite.remove();/删除刚刚发过的牌 if(cards.size()=3)break; System.out.println(e); System.out.println(h); System.out.println(b);/* * param pokers * 有序扑克牌数组 * return 乱序后的扑克牌数组 */public static List shuffle(List pokers) Random r = new Random();for (int i = pokers.size() - 1; i 0; i-) int j = r.nextInt(i);Card cj = pokers.get(j);Card ci = pokers.set(i, cj);/ 置換pokers.set(j, ci);return pokers;import java.util.ArrayList;import java.util.List;public class Player private int id;private String name;private String pwd;private List cards=new ArrayList();/人手中的牌public int getId() return id;public void setId(int id) this.id = id;public String getName() return name;public void setName(String name) = name;public String getPwd() return pwd;public void setPwd(String pwd) this.pwd = pwd;public List getCards() return cards;public void setCards(List cards) this.cards = cards;public Player()public Player(int id,String name)this.id=id;=name;public String toString()return +:+this.cards;public boolean equals(Object o)if(this=o)return true;if(o=null)return f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热力工程安全防护与应急响应方案
- 矿山地灾治理施工方案
- 宝坻脱硫塔防腐施工方案
- 双层钢结构防水施工方案
- 河南环保钢板仓施工方案
- 学校雨棚施工方案怎么写
- 招商引资的目标市场定位技巧
- 国有企业税务知识测试题及答案解析
- 山西抗倍特板施工方案
- 2025年及未来5年中国拍摄美化行业市场运营现状及投资规划研究建议报告
- XX园项目销售手册
- 锅炉工安全培训知识课件
- 人类辅助生殖技术质量监测与评价规范
- 青年上香行为的社会文化动机与影响研究
- 2024年中国建设银行招聘笔试真题
- 《多相催化反应原理》课件
- 灌注桩施工的合同范本
- 当代世界经济心得体会
- 2024版人教版八年级上册英语单词表(含音标完整版)
- 天津地区高考语文五年高考真题汇编-文言文阅读
- 高三为梦想扬帆++励志班会课件
评论
0/150
提交评论