public async Task DeleteCard(Card.SuitType suit, Card.ValType val) { Card card = await _Context.Cards.FirstOrDefaultAsync(c => c.Suit == suit && c.Value == val); _Context.Cards.Remove(card); await _Context.SaveChangesAsync(); }
public static int EvaluateFullHand(Card[] cards, int cutIndex) { //Evaluates the 5 cards according to the rules of Cribbage //The cut card is treated differently than the rest for knobs and flush purposes //Could assume that the last card is always the cut card but that isn't very cohesive //return 29; if (cutIndex < cards.Count()) { var faces = new Card.FaceType[cards.Count()]; var faceVals = new int[(int)Card.FaceType.King + 1]; var suits = new Card.SuitType[cards.Count()]; var values = new int[cards.Count()]; for (int i = 0; i < cards.Count(); i++) { faces[i] = cards[i].Face; faceVals[(int)cards[i].Face]++; suits[i] = cards[i].Suit; values[i] = cards[i].Value; } int fifteens = FindFifteens(values); int pairs = FindPairs(faces); int runs = FindRuns(faceVals); int knobs = FindKnobs(cards, cutIndex); int flush = IsFlush(suits, cutIndex); //foreach(var card in cards) //{ // Console.WriteLine(card); //} //Console.WriteLine("Fifteens: {0}", fifteens); //Console.WriteLine("Pairs : {0}", pairs); //Console.WriteLine("Runs : {0}", runs); //Console.WriteLine("Knobs : {0}", knobs); //Console.WriteLine("Flush : {0}", flush); //Console.ReadKey(); int total = fifteens + pairs + runs + flush + knobs; //Console.WriteLine("Total: {0}", total); //Console.ReadKey(); return(total); } else { throw new ArgumentException("CutIndex out of range!"); } }
public static string GetName(this Card.SuitType param) { var str = ""; switch (param) { case Card.SuitType.clover: str = "クローバー"; break; case Card.SuitType.heart: str = "ハート"; break; case Card.SuitType.diamond: str = "ダイヤ"; break; case Card.SuitType.spade: str = "スペード"; break; case Card.SuitType.black: str = "黒"; break; case Card.SuitType.red: str = "赤"; break; default: str = "エラー"; break; } return(str); }
public static string GetMark(this Card.SuitType param) { var str = ""; switch (param) { case Card.SuitType.clover: str = "♧"; break; case Card.SuitType.heart: str = "♡"; break; case Card.SuitType.diamond: str = "♢"; break; case Card.SuitType.spade: str = "♤"; break; case Card.SuitType.black: str = "黒"; break; case Card.SuitType.red: str = "赤"; break; default: str = "!?"; break; } return(str); }
public async Task <Card> GetCard(Card.SuitType suit, Card.ValType val, int gameID) { Card card = await _Context.Cards.FirstOrDefaultAsync(c => c.Suit == suit && c.Value == val && c.GameID == gameID); return(card); }