java桥牌发牌程序,java桥牌发牌算法 | 学步园

参考文章:

--------------------------------------------------------------------------------------------------------------------------------------------------

桥牌发牌类:

import java.util.*;

import java.math.*;

//桥牌发牌类

public class Poker {

static List pokerN=new ArrayList(new Integer(13));//北家的牌

static List pokerE=new ArrayList(new Integer(13));//东家的牌

static List pokerS=new ArrayList(new Integer(13));//南家的牌

static List pokerW=new ArrayList(new Integer(13));//西家的牌

static List pokerAll=new ArrayList(new Integer(52));//52张牌

//洗牌

public static void Shuffle()

{

for(int i=1;i<=52;i++)

{

pokerAll.add(i);

}

Random rd=new Random();

int tmp=0,idx=0;

for(int i=0;i<52;i++)

{

idx=rd.nextInt(52);

tmp=pokerAll.get(i);

pokerAll.set(i,pokerAll.get(idx));

pokerAll.set(idx, tmp);

}

}

//获取北家的牌

public static List getPokerN()

{

for(int i=0;i<13;i++)

{

pokerN.add(pokerAll.get(i));//0~12

}

return pokerN;

}

//获取东家的牌

public static List getPokerE()

{

for(int i=0;i<13;i++)

{

pokerE.add(pokerAll.get(i+13));//13~25

}

return pokerE;

}

//获取南家的牌

public static List getPokerS()

{

for(int i=0;i<13;i++)

{

pokerS.add(pokerAll.get(i+26));//26~38

}

return pokerS;

}

//获取西家的牌

public static List getPokerW()

{

for(int i=0;i<13;i++)

{

pokerW.add(pokerAll.get(i+39));//39~51

}

return pokerW;

}

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

测试代码:

import java.util.*;

public class main {

/**

* @param args

*/

public static void main(String[] args) {

Poker.Shuffle();//洗牌

System.out.print("\n北家的牌:");

List list=Poker.getPokerN();

for(int i=0;i

{

System.out.printf("%-3d ",list.get(i));

}

System.out.print("\n东家的牌:");

list=Poker.getPokerE();

for(int i=0;i

{

System.out.printf("%-3d ",list.get(i));

}

System.out.print("\n南家的牌:");

list=Poker.getPokerS();

for(int i=0;i

{

System.out.printf("%-3d ",list.get(i));

}

System.out.print("\n西家的牌:");

list=Poker.getPokerW();

for(int i=0;i

{

System.out.printf("%-3d ",list.get(i));

}

System.out.println();

}

}

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

效果截图:

557101a7ec5904d1c5620cb74c6348ec.bmp

-----------------------------------------------------------------------------------------------------------------------------------------------------------

42739ca7185f1908dae450810ad5605f.png

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值