1 / 9
文档名称:

发牌问题 斗地主.doc

格式:doc   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

发牌问题 斗地主.doc

上传人:wc69885 2016/6/4 文件大小:0 KB

下载得到文件列表

发牌问题 斗地主.doc

相关文档

文档介绍

文档介绍:发牌问题斗地主随机发牌问题问题描述: 有一种***的打法叫斗地主,3 个玩家, 先在牌里选好一张地主牌,先向每个玩家发 17 张牌,留 3 张底牌。从有地主牌的玩家开始叫地主, 确定是否当地主, 若当地主则获得底牌。如果前两个玩家不当地主,第 3 个玩家必须当地主。问题:模拟斗地主发牌。需求分析:牌:花色,大小玩家:手中的牌 17 张(若是地主 20张) ,是否是地主,手中是否有地主牌,获得底牌,获得发牌; 一副牌: 54 张,洗牌; 斗地主打法的牌:继承一副牌 54 张,洗牌。 3 个玩家, 3 张底牌,发牌,确定底牌,叫地主,获得底牌。概要设计:牌:花色,大小用字符串表示; 一副牌: 54 张用数组存储,洗牌:循环 54 次,产生一个 0~53 的随机数 X ,第 i 张牌与第 X 张牌交换。斗地主打法发牌模拟: 1 先洗牌, 最后 3 张为底牌, 产生一个 0~50 的随机数 X,第X 张为地主牌 2 像玩家发牌,每人 17 张,从有地主牌的玩家开始叫地主,确定是否当地主, 若当地主则获得底牌。如果前两个玩家不当地主,第3个玩家必须当地主。-------------------------------- 华丽丽的分割线---------------------- public class Card { // 一张牌 private String color; // 牌的花色 private String size; // 牌的大小 public Card(String color,String size) { // 以花色为 color, 大小为 size 构造一张牌 =color; =size; } public String getColor(){ // 返回牌的花色 return ; } public String getSize(){ // 返回牌的大小 return ; } public boolean equal(paredcard){ // 比较两张牌是否相等 if(())==0&& ())==0) return true; else return false; } public String toString(){ return "("+color+","+size+")"; }} -------------------------------- 华丽丽的分割线---------------------- public class Player { // 玩家 public Card value[]; // 玩家手中的牌 public boolean isLord; // 是否是地主 public Player() { // 构造默认,手中 17 张牌 value=new Card[17]; isLord=false; } boolean haveLordCard(Card LordCard){ // 判断手中是否有地主牌 for(int i=0;i<17;i++) if(value[i].equal(LordCard)) return true; return false; } boo