本文整理汇总了C#中Entities.HasWinner方法的典型用法代码示例。如果您正苦于以下问题:C# Entities.HasWinner方法的具体用法?C# Entities.HasWinner怎么用?C# Entities.HasWinner使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entities
的用法示例。
在下文中一共展示了Entities.HasWinner方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
/// <summary>
/// Starts a round if certain requirements are met
/// </summary>
/// <param name="game">The game to start a new round for</param>
/// <param name="commander">The new round's commander</param>
/// <returns>If a round was successfully started</returns>
public Boolean Execute(Entities.Game game, Entities.User commander)
{
Boolean successful = false;
//Check to make sure game still has required number of players
if (game.HasRequiredNumberOfPlayers())
{
//Check to make sure the game has not been ended.
if (game.GameOver.HasValue == false && !game.HasWinner())
{
Entities.GameRound round = _insertGameRound.Execute(game.GameID, commander);
successful = round.GameRoundID > 0;
if (successful)
{
game.Rounds.Add(round);
game.RoundCount++;
//Deal Cards
_dealCards.Execute(game);
}
}
}
return successful;
}
示例2: GameBoard
/// <summary>
/// Constructor
/// </summary>
/// <param name="game"></param>
/// <param name="userId"></param>
/// <param name="hand"></param>
/// <param name="playerType"></param>
/// <param name="voteToKickList"></param>
/// <param name="completedRounds"></param>
public GameBoard(Entities.Game game, Int32 userId, Entities.Enums.GamePlayerType playerType,
List<Models.Game.Board.VoteToKick> voteToKickList = null,
List<Entities.GameRound> completedRounds = null)
{
Game = game;
UserId = userId;
Hand = new List<GamePlayerCard>();
if (playerType == Enums.GamePlayerType.Player)
{
Entities.GamePlayer player = Game.Players.FirstOrDefault(x => x.User.UserId == userId);
if(player != null && player.Hand != null)
{
Hand = player.Hand;
}
}
Hand = playerType == Enums.GamePlayerType.Player ? Game.Players.First(x => x.User.UserId == userId).Hand : new List<GamePlayerCard>();
ActivePlayer = Hand.Count > 0;
PlayerType = playerType;
Entities.GameRound round = Game.CurrentRound();
if (Game.HasRounds() && round != null)
{
Answered = round.HasAnswer(UserId);
ShowAnswers = round.PlayedCount >= round.CurrentPlayerCount && round.Answers.Count > 0;
RoundHasWinner = round.Winner() != null;
GroupedAnswers = round.GroupedAnswers();
IsCommander = Game.IsCurrentCommander(UserId) && PlayerType == Entities.Enums.GamePlayerType.Player;
}
else
{
Answered = false;
ShowAnswers = false;
RoundHasWinner = false;
IsCommander = false;
}
ShowHand = ActivePlayer && !Answered && !IsCommander && PlayerType == Entities.Enums.GamePlayerType.Player;
ShowWaiting = (round == null || RoundHasWinner) && Game.IsWaiting();
WaitingOnAllAnswersOrWinner = !RoundHasWinner && !ShowAnswers;
ShowBoard = !ShowWaiting && !Game.HasWinner();
if (ShowBoard && round != null)
{
Question = round.Question;
}
else
{
Question = null;
}
AnswersViewModel = new Answers(RoundHasWinner, IsCommander, WaitingOnAllAnswersOrWinner, ShowAnswers, ShowHand, ShowBoard, GroupedAnswers);
GameOverViewModel = new GameOver(Game.HasWinner(), Game.GameID, Game.Players);
HandViewModel = new Board.Hand(ShowHand, Hand, ShowBoard);
LobbyViewModel = new Lobby(PlayerType, Game.Players, Game.MaxNumberOfSpectators > 0, Game.Spectators);
RoundQuestionViewModel = new RoundQuestion(round, ShowBoard);
WaitingViewModel = new Waiting(ShowWaiting);
VotesToKickViewModel = new VotesToKick(voteToKickList ?? new List<Models.Game.Board.VoteToKick>());
AllRoundsViewModel = new AllRounds(completedRounds ?? new List<GameRound>());
HeaderViewModel = new Shared.Header();
if (Game.HasWinner())
{
HeaderViewModel.SubHeaderText = "Game Over, man!";
}
else if (ShowWaiting)
{
HeaderViewModel.SubHeaderText = ArmedCards.Entities.Models.Helpers.WaitingHeader.Build(Game, UserId, PlayerType);
}
else
{
HeaderViewModel.SubHeaderText = String.Format("{0} is the Card Commander", Game.DetermineCommander().DisplayName);
}
}
示例3: SendWinnerSelected
private void SendWinnerSelected(Entities.Game game, Entities.GameRound round,
IEnumerable<Entities.ActiveConnection> connections,
List<Entities.GamePlayer> users)
{
Entities.GamePlayer sendToPlayer = null;
foreach (Entities.ActiveConnection connection in connections)
{
sendToPlayer = users.FirstOrDefault(player => player.User.UserId == connection.User_UserId);
if (sendToPlayer != null)
{
Entities.Models.Game.Board.GameBoard model = GetGameBoardModal(connection, game);
Entities.Models.Game.Board.Answers answersModel = new Entities.Models.Game.Board.Answers(true, model.IsCommander, false,
false, false, true, round.GroupedAnswers());
//The round history tab repurposed this to be the winner of the round when the page is loaded
//so setting this here so that when pushed into the observable array it will look correct
round.CardCommander = round.Winner();
_hub.Clients.Client(connection.ActiveConnectionID)
.WinnerSelected(answersModel, model, game.IsWaiting(), game.HasWinner(), round);
}
}
}