我声明了一对同位数组
我将扑克牌分别编号1到54 顺序从小到大 
并且 记录相应牌的点数 J为11 Q12 K13 A14 215 小王16 大王17 
如下:int[] _bianhao =
        {
            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
        };//编号int[] _dianshu =
        {
            3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 17
        };//点数如过你还没看明白 另外这两个数组可以帮你理解我的做法String[] _huase =
        {
            "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "红桃", "方片", "花子", "黑桃", "小王", "大王"
        };//花色
String[] _paimian =
        {
            "3", "3", "3", "3", "4", "4", "4", "4", "5", "5", "5", "5", "6", "6", "6", "6", "7", "7", "7", "7", "8", "8", "8", "8", "9", "9", "9", "9", "10", "10", "10", "10", "J", "J", "J", "J", "Q", "Q", "Q", "Q", "K", "K", "K", "K", "A", "A", "A", "A", "2", "2", "2", "2", "小王", "大王"
        };//牌面下面我想要的是  随机抽出54张牌里的某些张纸牌
然后判断我抽的这些牌 是如下牌型的某一种    //火箭
    //炸
    //单
    //对
    //三张牌
    //三带一
    //三带二
    //单顺
    //双顺
    //三顺
    //飞机带翅膀单
    //飞机带翅膀双
    //四带二
    //任何牌型都不是我根据int[] _bianhao和int[] _dianshu写了一套判断方法
但是方法笨的自己都看不下去了
求高人指点如何能高效判断类型
如果能代码示例一二 感激不尽!!

解决方案 »

  1.   

    这个还是自己想比较好,或者可以求助于Google。呵呵
      

  2.   

    定义两个枚举类型,一个代表花色,一个代表点数就是你下面那样啊,至于判断牌,为了简便,我假设只有三条,对子,以及散排三种,那么,我们可以定义一个7位数来表示,比如我的牌是三条A,那么我可以用3141414来表示,3代表是三条,14代表A,而对子比如一对4加一张5,那么我们可以用2040405来表示(把对子的点数写在单牌前面),而散牌比如一张4,一张6,一张9,那么我们可以用1090604来表示(后面六位按牌的大小排列),这样比较牌可以转化为整数的比较,你的牌的玩法可以通过这个例子扩展,这是我的想法,不知道能不能替LZ解惑,我只编写过砸金花的纸牌游戏,如果需要,可以发给你看下