public GameForm() { this.InitializeComponent(); this.timer.Interval = 1000; this.timer.Tick += this.TimerTick; this.updates.Interval = 100; this.updates.Tick += this.UpdateTick; this.textboxBigBlind.Visible = false; this.textboxSmallBlind.Visible = false; this.buttonBigBlind.Visible = false; this.buttonSmallBlind.Visible = false; this.textboxRaise.Text = (AppSettigns.DefaultMinBigBlind * 2).ToString(); IPlayer human = this.GetHumanPlayer(); IAILogicProvider logicProvider = new AILogicProvider(); ICollection <IAIPlayer> enemies = this.GetEnemies(logicProvider); IPot pot = new Pot(this.textboxPot); IDealer dealer = this.GetDealer(); IDeck deck = Deck.Instance; this.messageWriter = new MessageBoxWriter(); IHandTypeHandler handTypeHandler = new HandTypeHandler(); this.engine = new GameEngine(human, enemies, pot, dealer, deck, this.messageWriter, handTypeHandler); this.engine.GameEngineStateEvent += this.ChangeGameEngineStateHandler; this.updates.Start(); this.engine.Run(); }
public static void InitGameObjectss(TestContext testContext) { players = new List<IPlayer>(); IPlayer human = PlayerFactory.CreateHuman("human", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(human); IAILogicProvider logicProvider = new AILogicProvider(); IAIPlayer AI1 = PlayerFactory.CreateAI(logicProvider, "AI1", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(AI1); IAIPlayer AI2 = PlayerFactory.CreateAI(logicProvider, "AI2", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(AI2); IAIPlayer AI3 = PlayerFactory.CreateAI(logicProvider, "AI3", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(AI3); IAIPlayer AI4 = PlayerFactory.CreateAI(logicProvider, "AI4", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(AI4); IAIPlayer AI5 = PlayerFactory.CreateAI(logicProvider, "AI5", 10000, new Label(), new TextBox(), AnchorStyles.Bottom, 100, 100); players.Add(AI5); dealer = new Dealer(100, 100); deck = new MockDeck(); handHandler = new HandTypeHandler(); }
Logic(ITable table, IDealer dealer, IModuleContainer moduleContainer, List<IPlayer> players) { _table = table; _dealer = dealer; _players = players; _moduleContainer = moduleContainer; }
public PokerTable(List <IPlayer> players, IDealer dealer) : this() { SeatDealer(dealer); SeatPlayers(players.Take(House.MaxPlayers).ToList()); AllPlayers = Players.ToList(); }
public MainWindow(string s) { InitializeComponent(); //initialize the connections try { DuplexChannelFactory<IDealer> channel = new DuplexChannelFactory<IDealer>(this, "DealerEndPoint"); //activate the dealer object. dealer = channel.CreateChannel(); //does this in turn call the dealer constructor?? myCallbackKey = dealer.PlayerJoin(s); lblMoney.Content = 2000; cmboNumber.ItemsSource = dealer.RouletteWheel; cmboNumber.DisplayMemberPath = "Key"; cmboRange.Items.Add("1-12"); cmboRange.Items.Add("13-24"); cmboRange.Items.Add("25-36"); cmboColor.Items.Add("Red"); cmboColor.Items.Add("Black"); cmboOddEven.Items.Add("Odd"); cmboOddEven.Items.Add("Even"); } catch (Exception ex) { MessageBox.Show("Error starting the service: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public TableSimulation(IDealer dealer, TableSettings tableSettings) { Dealer = dealer; Dealer.SetTableSettingsWith(tableSettings); SeatedPlayers = new List <IPlayer>(); _tableSettings = tableSettings; }
public PokerTable(IDealer dealer, IHandEngine engine) { Players = new List <Player>(); Board = new Board(); HandEngine = engine; Dealer = dealer; }
public void MyTestInitialize() { _mockGroupOfCards = new Mock <IGroupOfCards>(); _mockGroupOfCards.Setup(mgoc => mgoc.Cards).Returns(new List <ICard>()); _mockGameManager = new Mock <IGameManager>(); _sut = new Dealer(_mockGroupOfCards.Object, _mockGameManager.Object, _dealerStrategy); _sut.SetTableSettingsWith(_tableSettings); }
public Game(IMatchCondition matchCondition, int decks) { _matchCondition = matchCondition; _rdm = new Random(); _dealer = new Dealer(decks); _player1 = new Player("player 1"); _player2 = new Player("player 2"); }
public static void WriteDealerHitDialogToConsole(IDealer GameDealer) { IDealer _dealer = GameDealer; Console.WriteLine(_dealer.DealerPlayer.PlayerName + " took a Hit. The cards are now as follow:\n"); ConsoleUtilities.WritePlayerHandsToConsole(_dealer); Console.WriteLine("Press 'H' or 'Enter' to Hold\n"); }
protected bool Transite(IDealer dealer, IDictionary <string, string> result, object context) { // 循环蓝图中的迁移对象 foreach (var transaction in this.BluePrint.Transactions) { //做迁移判断 } }
/// <summary> /// 执行Activity.Execute方法 /// </summary> /// <param name="dealer"></param> /// <param name="state"></param> /// <param name="context"></param> /// <returns></returns> ExecuteStages ExecuteActivity(IDealer dealer, IState state, object context) { var outputs = this.Activity.Execute(state, dealer, context); if (outputs == null) { return(ExecuteStages.Executing); } if (outputs != Nothing) { var t = outputs.GetType(); if (t.IsClass && t != typeof(string)) { var rs = JObject.FromObject(outputs); (this.Outputs as State).Internals = rs; } else { var rs = JToken.FromObject(outputs); var jrs = new JObject(); jrs.Add("Returns", rs); (this.Outputs as State).Internals = jrs; } } if (this.Parent == null) { return(ExecuteStages.End); } if (this.Config != null) { var exports = this.Config.Exports; if (exports != null) { var pstates = (this.Parent.Variables as State); var parentVariableDatas = pstates.Internals; var selfVariableDatas = (this.Variables as State).Internals; foreach (var key in exports) { parentVariableDatas[key] = selfVariableDatas[key].DeepClone(); pstates.HasChanges = true; } } } if (_Exports != null) { var pstates = (this.Parent.Variables as State); var parentVariableDatas = pstates.Internals; var selfVariableDatas = (this.Variables as State).Internals; foreach (var key in this._Exports) { parentVariableDatas[key] = selfVariableDatas[key].DeepClone(); pstates.HasChanges = true; } } return(ExecuteStages.Executed); }
public void Setup() { this.repositoryMock = new Mock<IRepository>(); this.deckBuilder = new DeckBuilder(); this.dealer = new Dealer(); this.repositoryMock.Setup(x => x.TablePasswordExists(It.IsAny<string>())).Returns(false); this.engine = new Engine(this.repositoryMock.Object, this.deckBuilder, this.dealer); this.engine.CreateNewTable(4, string.Empty); }
public Table(List <IPlayer> players, IDealer dealer, int smallBlind) { Players.AddRange(players); Dealer = dealer; Bank = 0; SmallBlind = smallBlind; SmallBlindIndex = 0; dealer.GameTable = this; }
public void SetUp() { _pokerTable = new PokerTable(); _dealer = _pokerTable.Dealer; _player1 = new Player("Player1"); _pokerTable.AddPlayer(_player1); _player2 = new Player("Player2"); _pokerTable.AddPlayer(_player2); }
public void SetUp() { _dealer = new Dealer(); _pokerTable = new PokerTable(_dealer, new TexasHoldemEngine()); _player1 = new Player("Player1"); _pokerTable.AddPlayer(_player1); _player2 = new Player("Player2"); _pokerTable.AddPlayer(_player2); }
public void LeaveTableOrStay() { if (!_playerStrategy.ShouldLeaveTable(CurrentTotalCash, _currentDealer.TableSettings)) { return; } _currentDealer.Unregister(this); _currentDealer = null; }
/// <summary> /// 在数据库中新添一条ActivityState记录 /// </summary> /// <param name="dealer"></param> /// <param name="inputs"></param> /// <param name="context"></param> /// <returns></returns> ExecuteStages InsertActivity(IDealer dealer, object context) { var entity = this.Entity; entity.ExecuteStage = (int)ExecuteStages.Created; entity.Inputs = this.Inputs.ToJSON(); //entity.Variables = this.Variables.ToJSON(); this.Persistent.CreateActivityState(entity); return(ExecuteStages.Created); }
public IActivityStateProxy GetAndLockActivityState(Guid activityId, IDealer user, int retryCount = 0) { var sql = @"SELECT * FROM ActivityStates WHERE RootId IN (SELECT Id FROM ActivityStates WHERE Id=@id) AND ExecuteStage<5 AND HandlerId=@userId "; return(null); //this.Dao.ListActivityStates() }
public PlayingTable(string creator, string name, string password = null) { this.Name = name; this.Creator = creator; this._password = password; this._dealer = new Dealer(); this.Players = new List<IPlayer>(); this.UserScores = new Dictionary<IPlayer, IRoundScore>(); this.GameRoundsInfo = new Dictionary<GameRound, GameRoundInfo>(); this._playerChairs = new Dictionary<string, char>(); }
private void Init() { var services = new ServiceCollection(); services.AddTransient <IGameRepository, DynamoDBGameRepository>(); services.AddTransient <IDealer, Dealer>(); var provider = services.BuildServiceProvider(); _dealer = provider.GetService <IDealer>(); }
/// <summary> /// Converts domain object to DTO. /// </summary> /// <param name="dealer">Dealer.</param> /// <returns>Dealer DTO.</returns> public static DealerDto ToDto(IDealer dealer) { if (dealer == null) { throw new ArgumentNullException(nameof(dealer)); } return(new DealerDto( id: dealer.Id, name: dealer.Name)); }
/// <summary> /// Gets the get dealer from record. /// </summary> /// <param name="reader">The reader.</param> /// <returns>The dealer object</returns> private static IDealer GetGetDealerFromRecord(SqlDataReader reader) { string name = DataUtil.GetString(reader, "Dealer", string.Empty); string address = DataUtil.GetString(reader, "Address", string.Empty); string phoneNumber = DataUtil.GetString(reader, "Telephone", string.Empty); string postcode = DataUtil.GetString(reader, "Postcode", string.Empty); string town = DataUtil.GetString(reader, "Town", string.Empty); IDealer result = CreateDealer(name, address, phoneNumber, postcode, town); return(result); }
/// <summary> /// Gets the dealer. /// </summary> /// <param name="supplierId">The supplier id.</param> /// <param name="dealerId">The dealer id.</param> /// <returns> /// The dealer object /// </returns> public IDealer GetDealer(int supplierId, int dealerId) { IDealer result = GetDealerFromDatabase(supplierId, dealerId); if (result != null) { result.SupplierId = supplierId; result.DealerId = dealerId; } return(result); }
public BlackjackApplication(IDealer dealer, IBlackjackConsole console, IGameClock clock) { this.dealer = dealer ?? throw new ArgumentNullException(nameof(dealer)); this.console = console ?? throw new ArgumentNullException(nameof(console)); this.clock = clock ?? throw new ArgumentNullException(nameof(clock)); playingPlayers = new List <Player>(); activePlayers = new List <Player>(); absentPlayers = new List <Player>(); bets = new Dictionary <Player, List <PlayerBet> >(); }
/// <inheritdoc/> public void CreateDealer(IDealer dealer) { DealerDto dealerDto = DealerDto.ToDto(dealer); this.Context.Dealers.Add(dealerDto); int count = this.Context.SaveChanges(); if (count != 1) { throw new ApplicationException($"Unexpectedly created {count} rows"); } }
public override Task OnActivateAsync() { this.dealer = this.GrainFactory.GetGrain <IDealer>(NewGuid()); var registry = this.GrainFactory.GetGrain <IMatchRegistry>("match_registry"); registry.AddMatch(this); this.game = new Game(); this.players = new ObserverSubscriptionManager <IPlayer>(); this.spectators = new ObserverSubscriptionManager <IPlayer>(); return(base.OnActivateAsync()); }
public GameEngine(IPlayer human, ICollection<IAIPlayer> enemies, IPot pot, IDealer dealer, IDeck deck, IMessageWriter messageWriter, IHandTypeHandler handTypeHandler) { this.human = human; this.enemies = new List<IAIPlayer>(enemies); this.Pot = pot; this.dealer = dealer; this.deck = deck; this.MessageWriter = messageWriter; this.handTypeHandler = handTypeHandler; this.BigBlind = AppSettigns.DefaultMinBigBlind; this.SmallBlind = AppSettigns.DefaultMinSmallBlind; this.SetDefaultCall(); this.Raise = 0; this.IsAnyPlayerRaise = false; }
public GameEngine(IPlayer human, ICollection <IAIPlayer> enemies, IPot pot, IDealer dealer, IDeck deck, IMessageWriter messageWriter, IHandTypeHandler handTypeHandler) { this.human = human; this.enemies = new List <IAIPlayer>(enemies); this.Pot = pot; this.dealer = dealer; this.deck = deck; this.MessageWriter = messageWriter; this.handTypeHandler = handTypeHandler; this.BigBlind = AppSettigns.DefaultMinBigBlind; this.SmallBlind = AppSettigns.DefaultMinSmallBlind; this.SetDefaultCall(); this.Raise = 0; this.IsAnyPlayerRaise = false; }
public async Task SetCards(IList<IPlayer> players, IDealer dealer) { if (players == null || dealer == null) { throw new NullReferenceException("The players and dealer cannot be null"); } this.Shuffle(); int playersCount; for (playersCount = 0; playersCount < players.Count; playersCount++) { await this.SetCardToPlayers(players[playersCount], playersCount, 2); } await this.SetCardToDealer(dealer, 5, playersCount * 2); }
public TestStash(IDealer dealer, ILogger logger = null) { _dealer = dealer; _draw = new Queue <Card>(_dealer.NewDeck().Shuffle().Deal(20)); // _draw = new Queue<Card>(_dealer.NewDeck().Take(20)); _discarded = new Queue <Card>(); if (logger == null) { _logger = LogManager.GetLogger("stash"); } else { _logger = logger; } }
public DealerFacade() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("DefaultConnection").ToString(); var optionsBuilder = new DbContextOptionsBuilder <ljgbContext>(); optionsBuilder.UseSqlServer(connectionString); db = new ljgbContext(optionsBuilder.Options); dep = new DealerRepository(db); }
public void Select() { Console.Clear(); IDealer dealer = DealerFactory.CreateDealer(); IPlayer player1 = PlayerFactory.CreatePlayer(PlayerType.Human); IPlayer player2 = PlayerFactory.CreatePlayer(PlayerType.Computer); IPlayer player3 = PlayerFactory.CreatePlayer(PlayerType.Computer); IPlayer player4 = PlayerFactory.CreatePlayer(PlayerType.Computer); List <IPlayer> players = new List <IPlayer>() { player1, player2, player3, player4 }; PokerGameFactory.CreateGame(players, dealer).Start(); }
public PokerTable(IDealer dealer, ICheckHandType checkHand, IHandType handType, IWriter messageBoxWriter) { this.Player = new PokerPlayer(new Panel()); this.FirstBot = new PokerPlayer(new Panel()); this.SecondBot = new PokerPlayer(new Panel()); this.ThirdBot = new PokerPlayer(new Panel()); this.FourthBot = new PokerPlayer(new Panel()); this.FifthBot = new PokerPlayer(new Panel()); this.Dealer = dealer; this.CheckHand = checkHand; this.HandType = handType; this.messageBoxWriter = messageBoxWriter; this.neededChipsToCall = this.bigBlind; this.MaximizeBox = false; this.MinimizeBox = false; this.updates.Start(); this.InitializeComponent(); this.Shuffle(); this.potStatus.Enabled = false; this.playerChips.Enabled = false; this.botOneChips.Enabled = false; this.botTwoChips.Enabled = false; this.botThreeChips.Enabled = false; this.botFourChips.Enabled = false; this.botFiveChips.Enabled = false; this.playerChips.Text = "Chips : " + this.Player.Chips; this.botOneChips.Text = "Chips : " + this.FirstBot.Chips; this.botTwoChips.Text = "Chips : " + this.SecondBot.Chips; this.botThreeChips.Text = "Chips : " + this.ThirdBot.Chips; this.botFourChips.Text = "Chips : " + this.FourthBot.Chips; this.botFiveChips.Text = "Chips : " + this.FifthBot.Chips; this.timer.Interval = 1000; this.timer.Tick += this.TimerTick; this.updates.Interval = 100; this.updates.Tick += this.Update_Tick; this.raiseAmountField.Text = (this.bigBlind * 2).ToString(); this.Player.OutOfChips = false; this.Player.AbleToMakeTurn = true; }
public async Task SetCards(IList <IPlayer> players, IDealer dealer) { if (players == null || dealer == null) { throw new NullReferenceException("The players and dealer cannot be null"); } this.Shuffle(); int playersCount; for (playersCount = 0; playersCount < players.Count; playersCount++) { await this.SetCardToPlayers(players[playersCount], playersCount, 2); } await this.SetCardToDealer(dealer, 5, playersCount * 2); }
static void Main(string[] args) { Console.Title = "C# Poker Game v3"; House.DisplayHouseRules(); IDealer dealer = DealerFactory.CreateDealer(); IPlayer player1 = PlayerFactory.CreatePlayer(PlayerType.Computer); IPlayer player2 = PlayerFactory.CreatePlayer(PlayerType.Human); List <IPlayer> players = new List <IPlayer>() { player1, player2 }; PokerGame pokerGame = PokerGameFactory.CreateGame(players, dealer); pokerGame.Start(); Console.ReadLine(); }
public static void DealerTurn(IDealer dealer) { Console.Write($"Dealer is currently at {dealer.hand.CalculateScore()}\n with the hand ["); foreach (var card in dealer.hand.CardsInHand) { if (card.CardSuit == "HEARTS" || card.CardSuit == "DIAMONDS") { Console.ForegroundColor = ConsoleColor.Red; Console.Write($"[{card.CardValue} , {card.CardSuit} ]"); Console.ResetColor(); } else { Console.Write($"[{card.CardValue} , {card.CardSuit} ]"); } } Console.WriteLine("]"); }
public ExecuteStages Deal(Queue <ActivityState> todos, IDealer dealer, object context = null) { if (!this.Activity.CheckStart(this.Inputs, new ReadOnlyState(this.Config.Parameters), this, dealer, context)) { return(ExecuteStages.Denied); } if (this.ExecuteStage == ExecuteStages.Creating) { this.ExecuteStage = this.InsertActivity(dealer, context); } if (this.ExecuteStage == ExecuteStages.Created) { this.MergeStates(); } if (this.ExecuteStage == ExecuteStages.Executing || this.ExecuteStage == ExecuteStages.Created) { this.ExecuteStage = this.ExecuteActivity(dealer, null, context); this.SaveChanges(); } if (this.ExecuteStage == ExecuteStages.Executed) { if (this.Activity.CheckOver(this.Outputs, dealer, context)) { this.ExecuteStage = ExecuteStages.Routing; } } if (this.ExecuteStage == ExecuteStages.Routing) { if (todos != null) { this.ExecuteStage = RouteNexts(todos); } else { this.ExecuteStage = ExecuteStages.Finished; } } this.SaveChanges(); return(this.ExecuteStage); }
public Task SetCards(IList<IPlayer> players, IDealer dealer) { int i = 0; foreach (var player in players) { for (int j = 0; j < 2; j++) { player.AddCard(this.Cards[i]); i++; } } for (int j = 0; j < 5; j++) { dealer.AddCard(this.Cards[i]); i++; } return Task.FromResult(0); }
public Enums.PaymentFlow DetermineWinner(PlayerHand playerHand, IDealer dealer) { var dealerHandValue = dealer.GetDealerHandValue(); var isDealerHandBlackjack = dealer.IsHandBlackjack(); if ((playerHand.IsBlackJack && isDealerHandBlackjack) || (playerHand.HandTotal == dealerHandValue && !playerHand.IsBlackJack && isDealerHandBlackjack) || (playerHand.HandTotal > 21 && dealerHandValue > 21)) { return Enums.PaymentFlow.Push; } if (playerHand.IsBlackJack) { return Enums.PaymentFlow.PayBlackjack; } if (playerHand.HandTotal > 21 || (playerHand.HandTotal < dealerHandValue && dealerHandValue <= 21) || isDealerHandBlackjack) { return Enums.PaymentFlow.PayDealer; } return Enums.PaymentFlow.PayPlayer; }
public void Rules(IPlayer player, IDealer dealer, IDeck deck) { if (!player.FoldedTurn) { #region Variables bool done = false; bool validFlush = false; int[] dealerCards = new int[5]; int[] dealerWithPlayerCards = new int[7]; dealerWithPlayerCards[0] = player.Cards.First().Power; dealerWithPlayerCards[1] = player.Cards.Last().Power; dealerCards[0] = dealerWithPlayerCards[2] = dealer.Cards.ElementAt(0).Power; dealerCards[1] = dealerWithPlayerCards[3] = dealer.Cards.ElementAt(1).Power; dealerCards[2] = dealerWithPlayerCards[4] = dealer.Cards.ElementAt(2).Power; dealerCards[3] = dealerWithPlayerCards[5] = dealer.Cards.ElementAt(3).Power; dealerCards[4] = dealerWithPlayerCards[6] = dealer.Cards.ElementAt(4).Power; var a = dealerWithPlayerCards.Where(o => o % 4 == 0).ToArray(); var b = dealerWithPlayerCards.Where(o => o % 4 == 1).ToArray(); var c = dealerWithPlayerCards.Where(o => o % 4 == 2).ToArray(); var d = dealerWithPlayerCards.Where(o => o % 4 == 3).ToArray(); var spades = a.Select(o => o / 4).Distinct().ToArray(); var hearts = b.Select(o => o / 4).Distinct().ToArray(); var diamonds = c.Select(o => o / 4).Distinct().ToArray(); var clubs = d.Select(o => o / 4).Distinct().ToArray(); Array.Sort(dealerWithPlayerCards); Array.Sort(spades); Array.Sort(hearts); Array.Sort(diamonds); Array.Sort(clubs); #endregion for (int i = 0; i < 16; i++) { if (deck.GetCardAtIndex(i).Power == player.Cards.First().Power && deck.GetCardAtIndex(i + 1).Power == player.Cards.Last().Power) { // High Card this.checkHandType.CheckHighCard(player, deck.Cards, i); // TwoPair from Hand this.checkHandType.CheckPairFromHand(player, deck.Cards, i); // TwoPair or Two TwoPair from Table this.checkHandType.CheckPairTwoPair(player, deck.Cards, i); // Three of a kind this.checkHandType.CheckThreeOfAKind(player, dealerWithPlayerCards); // Straight this.checkHandType.CheckStraight(player, dealerWithPlayerCards); // Flush current this.checkHandType.CheckFlush(player, ref validFlush, dealerCards, deck.Cards, i); // Full House this.checkHandType.CheckFullHouse(player, ref done, dealerWithPlayerCards); // Four of a Kind this.checkHandType.CheckFourOfAKind(player, dealerWithPlayerCards); // Straight Flush this.checkHandType.CheckStraightFlush(player, spades, hearts, diamonds, clubs); } } } }
public void DealerInit() { this.dealer = new Dealer(new RandomGenerator()); }
public void Setup() { this.dealer = new Dealer(); this.deckBuilder = new DeckBuilder(); }
ILogic GetLogic(IDealer dealer, IModuleContainer container, ITable table, List<IPlayer> players) { return _logicBuilder .DealerIs(dealer) .ModuleContainerIs(container) .TableIs(table) .PlayersAre(players) .Build(); }
public void Setup() { this.dealer = new Dealer(); }
private void CheckWinners(ICollection<IPlayer> players, IDealer dealer) { for (int i = 0; i < dealer.Cards.Count; i++) { dealer.RevealCardAtIndex(i); } foreach (var player in players) { for (int i = 0; i < player.Cards.Count; i++) { player.RevealCardAtIndex(i); } } var winners = this.GetWinners(players); if (this.GetNotFoldedPlayersCount(this.GetAllPlayers()) != 1) { this.ShowWinnersMessages(winners); } this.SetWinnersChips(winners); }
public Engine(IRepository repository, IDeckBuilder deckBuilder, IDealer dealer) { this.deckBuilder = deckBuilder; this.repository = repository; this.dealer = dealer; }
public ILogicBuilder DealerIs(IDealer dealer) { _dealer = dealer; return this; }