public Task GuessGiven(GuessGivenDto data) { var ctx = new GameEventContext(data.GameId, data.RoundIndex); var e = new GuessGiven(ctx, new PlayerIndex(data.PlayerIndex), data.Count); System.Console.WriteLine(e); _gameEventCallback(e); return(Task.CompletedTask); }
public bool TryGiveGuess(int player, int guess) { var move = new GuessGiven(_gameEventContext, new PlayerIndex(player), guess); if (State.IsValid(move)) { Dispatch(move); return(true); } return(false); }
public void GuessGivenIsMappedAndBack() { var ctx = new GameEventContext("g", 12); var guessGiven = new GuessGiven(ctx, new PlayerIndex(1), 23); var persistable = GameEventSerializer.Convert(guessGiven); var recreated = GameEventSerializer.Convert(persistable) as GuessGiven; Assert.Equal(1, recreated.Player.Value); Assert.Equal(23, recreated.Count); }
public void OnNext(GameEvent e) { var task = e switch { HandReceived hand => _client.HandReceived(GetHandReceivedData(e.Context, hand)), CardPlayed move => _client.CardPlayed(new CardPlayedDto(e.Context.GameId, e.Context.RoundIndex, move.Player, GetIndex(move.Card))), GuessGiven guess => _client.GuessGiven(new GuessGivenDto(e.Context.GameId, e.Context.RoundIndex, guess.Player, guess.Count)), TrickWon trick => _client.TrickWon(new TrickWonDto(e.Context.GameId, e.Context.RoundIndex, trick.Player)), _ => Task.CompletedTask, }; task.GetAwaiter().GetResult(); }
public void OnNext(GameEvent e) { var player = _playerNames[e.Player]; var message = e switch { GuessGiven guess => $"{player} made guess of <{guess.Count}>", CardPlayed move => $"{player} played {move.Card} ({move.Card.Rank} of {move.Card.Suit})", HandReceived received => $"{player} got {received.Hand.NumberOfCards} cards", TrickWon trick => $"{player} won the trick", _ => e.ToString(), }; Render(message, ConsoleColor.DarkGreen); }
public GuessPayload(GuessGiven gg) : base(gg) { Guess = gg.Count; }