重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java桥牌发牌代码 Java发牌

新手自学java,想做一个题目,求大神给提供一个编程的思想,我改怎样用代码去实现这个功能

首先定义牌和玩家对象。

目前创新互联建站已为超过千家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、朝阳县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

牌还要考虑王牌,属性有花色和点数,能够区分。

玩家有一个list存放手牌。

for循环生成52个对象,然后生成2个王牌,加入一个list.

定义三个玩家。

循环17次,每次按顺序发牌三张。

发牌的时候操作Random生成随机数,每发出一张,从list中remove掉此牌

最后得到4个list,三个玩家加底牌

for循环直接打印。

java洗牌算法问题

你指的是Card里的toString方法吧

public String toString() {

String aa = suit + " " + num + "  ";

return aa;

}

toString这个方法一般在 System.out.print时使用,这个是打印出String,JVM就是默认调用类的toSting方法

注:所有类都有toString方法,默认是当前对象的hashcode,即内存地址

所以在发牌是打印

public void dealcard()//发牌

{

for(int i=0;i52;i++)

{

if(i%4==0i!=0){

System.out.println();  //每发4张牌输出换行

}

// 就是这里,默认调用card的toString方法

System.out.print(card[i]); //依次输出 发的牌

}

}

java 中如何实现一副扑克牌洗牌的功能。如果无法书写完整的代码,可以用文字描述出自己的实现思路

1.定义牌类

public class Card{

public int id;//牌大小

public String number;//牌值名称

public String color;//花色

}

2.定义牌组,用ArrayList存放所有牌

ArrayListCard cardGroup =new ArrayListCard();

3.定义花色枚举

public static final String[] COLORS=new String[]{"方块","梅花","红桃","黑桃"};

4.定义牌值大小枚举

public static fina String[] CARDVALUES=new String[]{"A","1","2","3",

"4","5","6","7","8","9","10","J","Q","K","King_Small","King_Big"};

5.初始化牌组,这就是一副新牌,没切过,己经排好序的

public void initCardGroup(){

//加入A~K

for(int i=0;i13;i++){

for (int j=0;j4;j++){

//生成一张牌的对象

Card card=new Card();

card.id=i;

card.color=COLORS[j];

card.munber=CARDVALUES[i];

//将对象加入牌组

cardGroup.add(card);

}

}

//加入大小王

Card card_k1=new Card();

card_k1.id=13;

card_k1.color="King_Small";

card_k1.number="King_Small";

cardGroup.add(card_k1);

Card card_k2=new Card();

card_k2.id=14;

card_k2.color="King_big";

card_k2.number="King_big";

cardGroup.add(card_k2);

}

6. 洗牌,将原牌组打乱,得到新的牌组

public ArrayListCard flushCardsGroup(ArrayListCard src){

ArrayListCard result=new ArrayListCard();

while(src.size0){

int size=src.size();

//以size为限,生成0~size之间的随机数

Random r=new Random();

int index=r.nextInt(size);

//对index做个检查

if(index0){index=0;}

if(indexsize-1){index=size-1;}

//index就是捡出来的牌,加到新的数组中,从原来数组中删除

Card card=src.get(index);

result.add(card);

card.remove(index);

}

return result;

}


分享标题:java桥牌发牌代码 Java发牌
文章来源:http://cqcxhl.com/article/docgjjj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP