예제 #1
0
        public IActionResult HandSummary(string gameId)
        {
            IGame game       = GetGame(gameId);
            var   hand       = game.IHands.LastOrDefault(d => d.IsComplete());
            var   mustRedeal = hand?.MustRedeal;
            var   scores     = hand?.CalculateScores();

            return(Json(new
            {
                points = scores?.Points?.ToDictionary(k => k.Key.Name, k => k.Value),
                coins = scores?.Coins?.ToDictionary(k => k.Key.Name, k => k.Value),
                tricks = hand.ITricks
                         .Select(trick =>
                                 new KeyValuePair <string, List <CardSummary> > (
                                     trick.Winner().Player.Name,
                                     trick.OrderedMoves.Select(c => CardUtil.GetCardSummary(c.Value)).ToList()
                                     )
                                 ),
                mustRedeal,
                buried = hand.Buried.Select(c => CardUtil.GetCardSummary(c)).ToList()
            }));
        }