unity开发 斗地主算法—比较两个手牌的大小

本文介绍如何在Unity中实现斗地主游戏的算法,重点讲解如何比较两个玩家的手牌大小。具体内容可在链接http://blog.csdn.net/csdn_cjt/article/details/78593140的第一章找到,这里是该系列教程的第二章。
摘要由CSDN通过智能技术生成

牌型的定义在http://blog.csdn.net/csdn_cjt/article/details/78593140 第一章 这是第二章


下面是代码

#region isSelectCardCanPut 

    public static bool isSelectCardCanPut(List<int> myCards,DDZ_POKER_TYPE myCardType, List<int> lastCards, DDZ_POKER_TYPE lastCardTye)
    {
        // 我的牌和上家的牌都不能为null
        if (myCards == null || lastCards == null)
        {
            return false;
        }

        if (myCardType == null || lastCardTye == null)
        {
            Debug.Log("上家出的牌不合法,所以不能出。");
            return false;
        }

        // 上一首牌的个数
        int prevSize = lastCards.Count;
        int mySize = myCards.Count;

        // 我先出牌,上家没有牌
        if (prevSize == 0 && mySize != 0)
        {
            return true;
        }

        // 集中判断是否王炸,免得多次判断王炸
        if (lastCardTye == DDZ_POKER_TYPE.KingBomb)
        {
            Debug.Log("上家王炸,肯定不能出。");
            return false;
        }
        else if (myCardType == DDZ_POKER_TYPE.KingBomb)
        {
            Debug.Log("我王炸,肯定能出。");
            return true;
        }

        // 集中判断对方不是炸弹,我出炸弹的情况
        if (lastCardTye != DDZ_POKER_TYPE.FourBomb && myCardType == DDZ_POKER_TYPE.FourBomb)
        {
            return true;
        }

        //所有牌提前排序过了

        int myGrade = myCards[0];
        int prevGrade = lastCards[0];

        // 比较2家的牌,主要有2种情况,1.我出和上家一种类型的牌,即
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值