发牌算法(java)

原创 2016年05月30日 23:26:40

思想描述:先将牌排好序,然后随机抽出一张牌和前面的牌交换,count–(count为未排序的牌个数),最后输出类数组。

class sendPoke 
{
    private String num,type;

    public sendPoke(String t,String n)
    {
        this.type = t;
        this.num = n;
    }

    public String toString()
    {
        return type+" "+num+"  ";
    }
}

class send
{
    sendPoke poke[];
    public void chushihua()
    {
        poke = new sendPoke[52];
        String num[]={"A","2","3","4","5","6","7","8","9","10""J","Q","K"};
        String type[]={"方块","梅花","红桃","黑桃"};
        for(int i=0;i<52;i++)
        {
            poke[i]=new sendPoke(type[i/13],num[i%13]);
        }
    }
    public void xipai()
    {
        int count=52;
        for(int j=0;j<52;j++)
        {
            int x=(int)(Math.random()*count);
            sendPoke temp=poke[count-1];
            poke[count-1]=poke[x];
            poke[x]=temp;
            count--;
        }
    }
    public void fapai()
    {
        for(int i=0;i<52;i++)
        {
             if(i%13==0) 
                System.out.println("\n");
             System.out.print(poke[i]);
        }
    }
}

测试块:

public class test_sendpoke 
{
    public static void main(String[] args)
    {
        send c1=new send();
        c1.chushihua();
        c1.xipai();
        c1.fapai();
    }
}

其中一种结果:
方块 8 红桃 4 红桃 7 方块 5 梅花 5 梅花 2 方块 3 黑桃 7 梅花 8 红桃 Q 红桃 9 方块 Q 黑桃 10

黑桃 J 梅花 Q 梅花 6 黑桃 4 方块 4 黑桃 3 方块 9 黑桃 A 红桃 3 红桃 J 梅花 10 方块 2 梅花 K

方块 6 黑桃 K 梅花 7 红桃 2 红桃 5 黑桃 6 梅花 J 红桃 6 梅花 3 方块 A 黑桃 5 方块 J 红桃 10

方块 7 红桃 K 黑桃 Q 红桃 A 梅花 9 黑桃 9 黑桃 8 红桃 8 黑桃 2 梅花 A 方块 10 方块 K 梅花 4

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java桥牌发牌算法

参考文章: http://www.cnblogs.com/Jax/archive/2008/07/19/1246692.html http://bbs.csdn.net/topics/8033325...

C#模拟扑克牌发牌算法

斗地主算法的设计与实现(五)--洗牌和发牌

本篇简要介绍如何洗牌和发牌。 这2个算法都很简单,有兴趣的同学可以写得更好一点。 关键点说明 a.洗牌算法的思路就是,构造54张牌,打乱牌N次,这个算法可能不够随机。 b.发牌算法的思路就是,从洗好的...

ios面试算法题(5)——扑克发牌、最小和差问题、V字图形打印

今天给大家介绍几种有意思的算法,优化并不是很好,有想法的大家多多交流交流 1、程序模拟将52张牌随机发送给四个玩家(大小王除外) // // main.c // randPoke ...

洗牌、发牌算法 (打乱扑克牌顺序)

#include  #include  #include  int d[6]; int i,n,a,b,t; int c,j; void main() {     s...

C 扑克牌随机发牌的算法实现与研究

最近老师布置了一个题目: (1)实现函数 /*将1~13随机放入pCards数组里*/ int generate_cards(int [] pCards); /*根据length将数组打印出来...

房卡麻将分析系列之"发牌器"算法设计

房卡麻将分析系列之"发牌器"算法设计              大家好,经过一段时间的努力,在填平了大部分源码框架中的坑后,我们的”大赢家“红中麻将总算完成了1.0版本,虽然仍然有诸多问题,但总归算是...

斗地主发牌算法之c++(初级)

这篇只是介绍简单的斗地主54张牌发牌算法,后边文章还会介绍控制玩家手上炸弹个数的算法

斗地主算法之发牌,洗牌

斗地主游戏的基本算法实现      by -wojiushi3344            QQ:513670524    转载...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)