public Player BreakTie(Player gameWinner, Player player, int attempts = 1) { Player winner = gameWinner; int winnerHandSum = gameWinner.HandSum; int playerHandSum = player.HandSum; if (attempts > 4) { throw new ApplicationException("Tie breaks can only be done with a hand of 5."); } if (gameWinner.HandValue < player.HandValue) { winner = player; } if (winnerHandSum == playerHandSum) { GameWinners.Add(player); return(winner); } if (gameWinner.HandValue == player.HandValue && attempts < 4) { gameWinner.HandValue = CheckHandValue(gameWinner, attempts); player.HandValue = CheckHandValue(player, attempts); BreakTie(gameWinner, player, attempts + 1); } return(winner); }
public void Reset() { CoinEntityID = null; CurrentGameStep = null; EntityControllers.Clear(); EntityMappings.Clear(); GameLosers.Clear(); GameWinners.Clear(); PlayerHeroCards.Clear(); PlayerID = null; PlayerNames.Clear(); }
public override string ToString() { string gameResults = "\n"; for (int i = 0; i < GamePlayers.Count(); i++) { gameResults += String.Format("{0}\n\n", GamePlayers[i].ToString()); } if (GameWinners.Count() > 1) { for (int i = 1; i < GamePlayers.Count(); i++) { gameResults += String.Format("{0},", GameWinners[i]); } gameResults += String.Format("{0} split the pot!", GameWinners[0].Name); } gameResults += String.Format("{0} wins and takes the pot!", GameWinners[0].Name); return(gameResults); }
private void SetGameWinners() { foreach (Player player in GamePlayers) { player.HandName = CheckHand(player); player.HandValue = CheckHandValue(player); } GameWinners.Add(GamePlayers[0]); for (int i = 1; i < GamePlayers.Count(); i++) { if ((int)GameWinners[0].HandName < (int)GamePlayers[i].HandName) { GameWinners[0] = GamePlayers[i]; } else if ((int)GameWinners[0].HandName == (int)GamePlayers[i].HandName) { GameWinners[0] = BreakTie(GameWinners[0], GamePlayers[i]); } } }
private void NotifyHandler(Action <ResponseModel> d, LongPollResponse.EventsInfo e) { switch (e.Type) { case "sq_ed_game": { d.Invoke(new ResponseModel()); break; } case "sq_question": { var q = new Question { Id = e.Question.Id, Text = e.Question.Text, Time = e.UnixQuestionTime, Answers = e.Question.Answers_q }; d.Invoke(q); break; } case "sq_game_winners": { var gw = new GameWinners { Users = e.Users, Prize = e.Prize, CountWinners = e.CountWinners }; d.Invoke(gw); break; } case "sq_friend_answer": { var fa = new FriendAnswer { AnswerFriendId = e.AnswerFriendId, PhotoFriendUrl = e.PhotoFriendUrl, IsLiveEnabled = e.IsLiveEnabled }; d.Invoke(fa); break; } case "sq_question_answers_right": { var ra = new RightAnswer { Id = e.Question.Id, Text = e.Question.Text, Time = e.UnixQuestionTime, Answers = e.Question.Answers, RightAnswerId = e.Question.RightAnswerId, UnixSentTime = e.Question.UnixSentTime }; d.Invoke(ra); break; } case "video_comment_new": { var vcn = new VideoComment { Comment = e.Comment, User = e.User }; d.Invoke(vcn); break; } } }