Exemplo n.º 1
0
        /// <summary>
        /// Determines this hand which has the specified number of a kind
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public bool HasNumberOfKind(int n)
        {
            var val = GroupCards
                      .Any(g => g.Count() == n);

            return(val);
        }
Exemplo n.º 2
0
        // GET: GroupCards/Random
        public ActionResult Random()
        {
            var groupCards = new GroupCards()
            {
                Name = "Test Card"
            };

            return(View(groupCards));
        }
Exemplo n.º 3
0
        private void checkRes(Mat src, bool auto)
        {
            richTextBox1.Clear();
            OpenCvSharp.Point leftUp;
            Mat rect = CardObtain.GetRect(src, out leftUp);

            if (rect == null)
            {
                richTextBox1.AppendText("未识别\r\n");
                return;
            }

            List <CardInfo> cards      = CardObtain.GetCard(rect);
            GroupCards      groupCards = GroupCards.Grouping(cards);



            richTextBox1.AppendText("识别卡牌:");
            this.group_0.Controls.Clear();
            foreach (CardInfo card in groupCards.allCards)
            {
                richTextBox1.AppendText(card.cn);
                AddImgToGroup(this.group_0, card.hs + card.cn);
            }
            richTextBox1.AppendText("\r\n");

            List <CardInfo> bestAnswer = groupCards.BestAnswer();

            richTextBox1.AppendText("分组A:");
            this.group_1.Controls.Clear();
            foreach (CardInfo card in bestAnswer)
            {
                if (card.group == 1)
                {
                    richTextBox1.AppendText(card.cn);
                    AddImgToGroup(this.group_1, card.hs + card.cn);
                }
            }
            richTextBox1.AppendText(";分组B:");
            this.group_2.Controls.Clear();
            foreach (CardInfo card in bestAnswer)
            {
                if (card.group == 2)
                {
                    richTextBox1.AppendText(card.cn);
                    AddImgToGroup(this.group_2, card.hs + card.cn);
                }
            }
            if (bestAnswer.Count > 0 && auto)
            {
                OpenCvSharp.Point[] points = CardObtain.GetGroupPoint(src);
                if (Math.Abs(points[0].X - points[1].X) < 10 && Math.Abs(points[0].Y - points[1].Y) > 150)
                {
                    foreach (CardInfo card in bestAnswer)
                    {
                        if (card.group > 0)
                        {
                            hotkey.DropObj(300, leftUp.X + card.point.X + 5, leftUp.Y + card.point.Y + 5, leftUp.X + card.point.X + 5, leftUp.Y + points[card.group - 1].Y);
                        }
                    }
                }
            }
        }