/// <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); }
// GET: GroupCards/Random public ActionResult Random() { var groupCards = new GroupCards() { Name = "Test Card" }; return(View(groupCards)); }
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); } } } } }