/// <summary> /// Initializes a new instance of the CardInHand class. /// </summary> /// <param name="Parent">Placeholder for the Parent object.</param> /// <param name="MasterParent">Placeholder for the Master Parent object.</param> /// <param name="BaseCard">The card in which to hold this class's data.</param> public CardInHand(PlayerHandViewModel Parent, TableViewModel MasterParent, Card BaseCard) { m_Parent = Parent; m_MasterParent = MasterParent; m_Card = BaseCard; if (!m_MasterParent.HouseRulesVM.FastMode) { OnPropertyChanged("CardImage"); } }
/// <summary> /// Initializes a new instance of the Shoe class. /// </summary> public ShoeViewModel(TableViewModel Parent, bool IsBenchmark = false) { m_MasterParent = Parent; m_ShoeModel = new ShoeModel(); IsBenchmark = false; ResetShoe(); }
/// <summary> /// Initializes a new instance of the PlayerHandViewModel class. /// </summary> /// <param name="ParentTVM">Placeholder for the parent MasterViewModel.</param> /// <param name="ParentPVM">Placeholder for the parent PlayerViewModel.</param> public PlayerHandViewModel(TableViewModel ParentTVM, PlayerViewModel ParentPVM) { m_MasterParent = ParentTVM; m_ParentPlayerViewModel = ParentPVM; m_PlayerHandModel = new PlayerHandModel(); m_PlayerStrategyViewModel = new PlayerStrategyViewModel(m_MasterParent, this); }
/// <summary> /// Initializes a new instance of the BenchmarkViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> public BenchmarkViewModel(TableViewModel Parent) { m_Parent = Parent; m_BenchmarkModel = new BenchmarkModel(); SecondsPerBenchmark = 3; RunType = "Create Shoe"; RunSubType = "Fisher-Yates Shfle"; }
/// <summary> /// Initializes a new instance of the DealerCardInHand class. /// </summary> /// <param name="Parent">Placeholder for the Parent object.</param> /// <param name="MasterParent">Placeholder for the Master Parent object.</param> /// <param name="BaseCard">The card in which to hold this class's data.</param> /// <param name="ShowCard">Whether or not the card is shown face up or face down.</param> public DealerCardInHand(DealerHandViewModel Parent, TableViewModel MasterParent, Card BaseCard, bool ShowCard) { m_MasterParent = MasterParent; m_Parent = Parent; m_Card = BaseCard; m_IsShowing = ShowCard; if (!m_MasterParent.HouseRulesVM.FastMode) { OnPropertyChanged("CardImage"); } }
/// <summary> /// Initializes a new instance of the PlayerViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> /// <param name="PlayerNum">Indicates the player number.</param> public PlayerViewModel(TableViewModel Parent, int PlayerNum) { m_MasterParent = Parent; m_PlayerModel = new PlayerModel(); PlayerHandVM = new PlayerHandViewModel[4]; PlayerHandVM[0] = new PlayerHandViewModel(m_MasterParent, this); PlayerHandVM[1] = new PlayerHandViewModel(m_MasterParent, this); PlayerHandVM[2] = new PlayerHandViewModel(m_MasterParent, this); PlayerHandVM[3] = new PlayerHandViewModel(m_MasterParent, this); m_PlayerModel.Name = String.Format("Player {0}", PlayerNum); }
private void UserControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { MasterViewModel = (TableViewModel)DataContext; DealerSeat.DataContext = MasterViewModel.DealerVM; Player1Seat.DataContext = MasterViewModel.PlayerVM[0]; Player2Seat.DataContext = MasterViewModel.PlayerVM[1]; Player3Seat.DataContext = MasterViewModel.PlayerVM[2]; Player4Seat.DataContext = MasterViewModel.PlayerVM[3]; Player5Seat.DataContext = MasterViewModel.PlayerVM[4]; Player6Seat.DataContext = MasterViewModel.PlayerVM[5]; Player7Seat.DataContext = MasterViewModel.PlayerVM[6]; }
/// <summary> /// Runs a specific benchmark for a specified number of seconds. /// </summary> /// <param name="Benchmark">Type of Benchmark to run.</param> private void RunSingleBenchmark(BenchmarkType Benchmark) { CanStartBenchmark = false; BenchmarkResults Results = new BenchmarkResults(); DateTime StartTime, EndTime; TableViewModel tempMasterViewModel = new TableViewModel(); #region Temp MasterViewModel Settings tempMasterViewModel.HouseRulesVM.DecksInShoe = 7; tempMasterViewModel.HouseRulesVM.ShoePenetration = 0.75; #endregion Results.Type = Benchmark; Results.Iterations = 0; StartTime = DateTime.Now; EndTime = StartTime.AddSeconds(SecondsPerBenchmark); switch (Benchmark) { case BenchmarkType.CreateShoeFisherYates: #region Create Shoe - Fisher-Yates Shuffle Results.Name = "Create Shoe - Fisher-Yates Shuffle"; tempMasterViewModel.HouseRulesVM.ShuffleMode = ShuffleMode.FisherYates; while (DateTime.Now < EndTime) { ShoeViewModel Shoe = new ShoeViewModel(tempMasterViewModel, true); Results.Iterations++; } break; #endregion case BenchmarkType.NoShuffle: #region Create Shoe - No Shuffle Results.Name = "Create Shoe - No Shuffle"; tempMasterViewModel.HouseRulesVM.ShuffleMode = ShuffleMode.NoShuffle; while (DateTime.Now < EndTime) { ShoeViewModel Shoe = new ShoeViewModel(tempMasterViewModel, true); Results.Iterations++; } break; #endregion } Results.RunTime = DateTime.Now.Subtract(StartTime).TotalMilliseconds / 1000; Results.IterationsPerSecond = Math.Round(Results.Iterations / Results.RunTime, 2); Results.RunTime = Math.Round(Results.RunTime, 2); BenchmarkData[Benchmark] = Results; m_Parent.LoggingVM.AddItem(LogActionType.Benchmark, Results); OnPropertyChanged("DataTable"); tempMasterViewModel.Dispose(); CanStartBenchmark = true; }
/// <summary> /// Initializes a new instance of the DealerHandViewModel class. /// </summary> /// <param name="ParentTVM">Placeholder for the parent MasterViewModel.</param> /// <param name="ParentDVM">Placeholder for the parent DealerViewModel.</param> public DealerHandViewModel(TableViewModel ParentTVM, DealerViewModel ParentDVM) { m_MasterParent = ParentTVM; m_ParentDealerViewModel = ParentDVM; m_DealerHandModel = new DealerHandModel(); }
/// <summary> /// Initializes a new instance of the PlayerStrategyViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> /// <param name="ParentPHVM">Placeholder for the parent player hand view model object.</param> public PlayerStrategyViewModel(TableViewModel Parent, PlayerHandViewModel ParentPHVM) { m_Parent = Parent; m_ParentPlayerHandViewModel = ParentPHVM; m_PlayerStrategyModel = new PlayerStrategyModel(); }
/// <summary> /// Initializes a new instance of the HouseRulesViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> public HouseRulesViewModel(TableViewModel Parent) { m_MasterParent = Parent; m_HouseRulesModel = new HouseRulesModel(); }
/// <summary> /// Initializes a new instance of the LoggingViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> public LoggingViewModel(TableViewModel Parent) { m_MasterParent = Parent; m_LoggingModel = new LoggingModel(); }
/// <summary> /// Initializes a new instance of the GameStatisticsViewModel class. /// </summary> /// <param name="Parent">Placeholder for the parent object.</param> public GameStatisticsViewModel(TableViewModel Parent) { m_MasterParent = Parent; m_GameStatisticsModel = new GameStatisticsModel(); Reset(); }
/// <summary> /// Initializes a new instance of the MainWindow class. /// </summary> /// <param name="ParentTVM">Parent TableViewModel object.</param> public MainWindow(TableViewModel ParentTVM) { InitializeComponent(); TableViewModel = ParentTVM; BlackJackTable.DataContext = TableViewModel; ShoeContentsTabItem.DataContext = TableViewModel.ShoeVM; DebugLogTabItem.DataContext = TableViewModel.LoggingVM; BenchmarkTabItem.DataContext = TableViewModel.BenchmarkVM; HouseRulesTabItem.DataContext = TableViewModel.HouseRulesVM; DataContext = TableViewModel; AutoPlayTimer.Interval = TimeSpan.FromTicks(1); AutoPlayTimer.Tick += new EventHandler(Tick); }
/// <summary> /// Initializes a new instance of the ResourcesViewModel class. /// </summary> /// <param name="Parent">Placeholder for parent object.</param> public ResourcesViewModel(TableViewModel Parent) { m_Parent = Parent; m_ResourcesModel = new ResourcesModel(); CardLoad(); }