using System.Text;

namespace GameFix.PaoDeKuaiF
{
    /// <summary>
    /// 跑得快玩法规则
    /// </summary>
    public class PdkRule
    {
        /// <summary>
        /// 经典玩法 (必压) false不是  true是
        /// 经典玩法（16张玩法）：一副牌，去掉大小王、三个2（保留黑桃2）和黑桃 A ，共48张，每人16张
        /// </summary>
        public bool JingDianWanFa;

        /// <summary>
        /// 是否必压 true必压 false不必压
        /// </summary>
        public bool BiYa;

        /// <summary>
        /// 15张玩法 false不是  true是
        /// 15张玩法（有大必压）：一副牌，去掉大小王、三个2（保留黑桃2）和三个A（保留黑桃 A ），去掉一个K，共45张，每人15张
        /// </summary>
        public bool Zhang15;

        /// <summary>
        /// 关牌（不必压）false不是  true是
        /// 一副牌，去掉大小王、三个2（保留黑桃2）和黑桃 A ，共48张，每人16张
        /// </summary>
        public bool GuanPai;

        /// <summary>
        /// 首局黑桃3玩家先出，下局赢家先出。false不是  true是
        /// </summary>
        public bool ShouJu3;

        //注意：2个人都没有黑桃3的情况下，那就从小到大找黑桃的，比如没有黑桃3，就找黑桃4.看谁有就随先出

        /// <summary>
        /// 每局黑桃3先出。 如果是2个玩家玩，
        /// </summary>
        public bool MeiJu3;

        /// <summary>
        /// 4带3张 false不是  true是 AAA只能带2张
        /// </summary>
        public bool SiDai3;

        /// <summary>
        /// 4带两张 false不是  true是 AAA只能带2张
        /// </summary>
        public bool SiDai2;

        /// <summary>
        /// 显示剩余牌数 false不是  true是
        /// </summary>
        public bool XianShenYuPai;

        /// <summary>
        /// 红桃十扎鸟 false不是  true是
        /// 有红桃十玩家手牌输赢分翻倍
        /// </summary>
        public bool HongTao10ZhaNiao;

        /// <summary>
        /// 炸弹加分 true加10分 false不加分
        /// </summary>
        public bool ZhaDanDeFen;

        /// <summary>
        /// 3张A是不是炸弹 true是 false不是
        /// </summary>
        public bool AAAIsZhaDan;

        /// <summary>
        /// 下家报单，上家有压必压 true是 false不是。
        /// 如果勾选了，那么上家要出最大的单张
        /// </summary>
        public bool XiaJiaBaoDan;

        /// <summary>
        /// 包庄 true包庄 false不包庄
        /// 玩家选择包庄，打完不能让其他玩家出牌，关了算春天，输赢分*2，如果让其他玩家出牌了，包庄失败，输赢分也要*2。
        /// 如果有2个闲家包庄，庄家的下家为包庄玩家。如果一庄一闲。那庄家为包庄。
        /// </summary>
        public bool BaoZhuang;

        /// <summary>
        /// 托管的时间 0不托管 1超过1分钟托管 3超过3分钟托管 5超过5分钟托管
        /// </summary>
        public int TuoGuanNum;

        /// <summary>
        /// 首局黑桃三首次必出
        /// </summary>
        public bool HeiTao3BiChu;

        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            if (JingDianWanFa)
            {
                sb.Append("经典玩法, ");
            }
            if (Zhang15)
            {
                sb.Append("15张玩法, ");
            }
            if (GuanPai)
            {
                sb.Append("关牌玩法, ");
            }
            if (MeiJu3)
            {
                sb.Append("每局黑桃3先出, ");
            }
            if (ShouJu3)
            {
                sb.Append("首局黑桃3先出, ");
            }
            if (SiDai3)
            {
                sb.Append("四带三, ");
            }
            if (SiDai2)
            {
                sb.Append("四带二, ");
            }
            if (HongTao10ZhaNiao)
            {
                sb.Append("红桃10扎鸟, ");
            }
            if (ZhaDanDeFen)
            {
                sb.Append("炸弹加10, ");
            }
            if (AAAIsZhaDan)
            {
                sb.Append("3A为最大炸弹, ");
            }
            if (BaoZhuang)
            {
                sb.Append("包庄, ");
            }
            sb.Append(BiYa ? "必压, " : "不必压, ");
            if (XianShenYuPai)
            {
                sb.Append("显示剩余牌数, ");
            }
            if (XiaJiaBaoDan)
            {
                sb.Append("下家报单，上家有压必压, ");
            }
            if (HeiTao3BiChu)
            {
                sb.Append("首局黑桃三首次必出 ");
            }
            return sb.ToString();
        }
    }
}