真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java橋牌發(fā)牌代碼 Java發(fā)牌

新手自學(xué)java,想做一個(gè)題目,求大神給提供一個(gè)編程的思想,我改怎樣用代碼去實(shí)現(xiàn)這個(gè)功能

首先定義牌和玩家對(duì)象。

目前創(chuàng)新互聯(lián)建站已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、朝陽(yáng)縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

牌還要考慮王牌,屬性有花色和點(diǎn)數(shù),能夠區(qū)分。

玩家有一個(gè)list存放手牌。

for循環(huán)生成52個(gè)對(duì)象,然后生成2個(gè)王牌,加入一個(gè)list.

定義三個(gè)玩家。

循環(huán)17次,每次按順序發(fā)牌三張。

發(fā)牌的時(shí)候操作Random生成隨機(jī)數(shù),每發(fā)出一張,從list中remove掉此牌

最后得到4個(gè)list,三個(gè)玩家加底牌

for循環(huán)直接打印。

java洗牌算法問(wèn)題

你指的是Card里的toString方法吧

public?String?toString()?{

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

return?aa;

}

toString這個(gè)方法一般在?System.out.print時(shí)使用,這個(gè)是打印出String,JVM就是默認(rèn)調(diào)用類的toSting方法

注:所有類都有toString方法,默認(rèn)是當(dāng)前對(duì)象的hashcode,即內(nèi)存地址

所以在發(fā)牌是打印

public?void?dealcard()//發(fā)牌

{

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

{

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

System.out.println();??//每發(fā)4張牌輸出換行

}

//?就是這里,默認(rèn)調(diào)用card的toString方法

System.out.print(card[i]);?//依次輸出?發(fā)的牌

}

}

java 中如何實(shí)現(xiàn)一副撲克牌洗牌的功能。如果無(wú)法書寫完整的代碼,可以用文字描述出自己的實(shí)現(xiàn)思路

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.初始化牌組,這就是一副新牌,沒切過(guò),己經(jīng)排好序的

public void initCardGroup(){

//加入A~K

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

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

//生成一張牌的對(duì)象

Card card=new Card();

card.id=i;

card.color=COLORS[j];

card.munber=CARDVALUES[i];

//將對(duì)象加入牌組

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之間的隨機(jī)數(shù)

Random r=new Random();

int index=r.nextInt(size);

//對(duì)index做個(gè)檢查

if(index0){index=0;}

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

//index就是撿出來(lái)的牌,加到新的數(shù)組中,從原來(lái)數(shù)組中刪除

Card card=src.get(index);

result.add(card);

card.remove(index);

}

return result;

}


文章名稱:java橋牌發(fā)牌代碼 Java發(fā)牌
本文鏈接:http://weahome.cn/article/docgjjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部