Esempio n. 1
0
        //public int 哈希码;
        public 组牌(牌[] ps, 分组规则 gr)
        {
            this.牌数组 = ps;
            this.分组规则 = gr;

            //// 因为麻将的情况不可能超过 每张牌 10bit 的存放能力
            //// 3 张共占 10bit , 即:张, 花, 点 = 3 + 3 + 4,  10 * 3 = 30bit
            //if (ps.Length == 1)
            //{
            //    var p1 = ps[0];
            //    this.哈希码 = ((p1.张 << 7) | (p1.花 << 4) | p1.点);
            //}
            //else if (ps.Length == 2)
            //{
            //    var p1 = ps[0];
            //    var p2 = ps[1];
            //    this.哈希码 =
            //            ((p1.张 << 7) | (p1.花 << 4) | p1.点) |
            //            (((p2.张 << 7) | (p2.花 << 4) | p2.点) << 10);
            //}
            //else
            //{
            //    var p1 = ps[0];
            //    var p2 = ps[1];
            //    var p3 = ps[2];
            //    this.哈希码 =
            //            ((p1.张 << 7) | (p1.花 << 4) | p1.点) |
            //            (((p2.张 << 7) | (p2.花 << 4) | p2.点) << 10) |
            //            (((p3.张 << 7) | (p3.花 << 4) | p3.点) << 20);
            //}
        }
Esempio n. 2
0
        //public int 哈希码;
        public 组牌(牌[] ps, 分组规则 gr)
        {
            this.牌数组  = ps;
            this.分组规则 = gr;

            //// 因为麻将的情况不可能超过 每张牌 10bit 的存放能力
            //// 3 张共占 10bit , 即:张, 花, 点 = 3 + 3 + 4,  10 * 3 = 30bit
            //if (ps.Length == 1)
            //{
            //    var p1 = ps[0];
            //    this.哈希码 = ((p1.张 << 7) | (p1.花 << 4) | p1.点);
            //}
            //else if (ps.Length == 2)
            //{
            //    var p1 = ps[0];
            //    var p2 = ps[1];
            //    this.哈希码 =
            //            ((p1.张 << 7) | (p1.花 << 4) | p1.点) |
            //            (((p2.张 << 7) | (p2.花 << 4) | p2.点) << 10);
            //}
            //else
            //{
            //    var p1 = ps[0];
            //    var p2 = ps[1];
            //    var p3 = ps[2];
            //    this.哈希码 =
            //            ((p1.张 << 7) | (p1.花 << 4) | p1.点) |
            //            (((p2.张 << 7) | (p2.花 << 4) | p2.点) << 10) |
            //            (((p3.张 << 7) | (p3.花 << 4) | p3.点) << 20);
            //}
        }