Example #1
0
        public MainViewModel()
        {
            //cost in names//index equal to cost
            int[] manaCurves = ProbabilityCalculation.GetCurves();
            if (manaCurves == null)
            {
                return;
            }

            for (int i = 0; i < 11; i++)
            {
                int       currentCost = i;
                ManaCurve curvei      = new ManaCurve {
                    Amount = manaCurves[i], Name = currentCost.ToString()
                };
                ManaCurves.Add(curvei);
            }
        }
Example #2
0
        public CoachWindow()
        {
            ResourceDictionary Controls = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml", UriKind.Absolute)
            };
            ResourceDictionary Fonts = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml", UriKind.Absolute)
            };
            ResourceDictionary Colors = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml", UriKind.Absolute)
            };
            ResourceDictionary BlueAccent = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml", UriKind.Absolute)
            };
            ResourceDictionary BaseLightAccent = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml", UriKind.Absolute)
            };

            Application.Current.Resources.MergedDictionaries.Add(Fonts);
            Application.Current.Resources.MergedDictionaries.Add(Colors);
            Application.Current.Resources.MergedDictionaries.Add(BlueAccent);
            Application.Current.Resources.MergedDictionaries.Add(BaseLightAccent);
            Application.Current.Resources.MergedDictionaries.Add(Controls);

            InitializeComponent();
            textBox1.IsReadOnly = true;

            DataContext = new MainViewModel();

            minProb_procBar.Value = ValueReader.MinProbabilityToReplace;
            minProb_lbl.Content   = ValueReader.MinProbabilityToReplace + " %";

            ProbabilityCalculation probabilityCalculation = new ProbabilityCalculation();
            Tuple <int, float>     treeResult             = probabilityCalculation.GenerateTreeWhiteListDraw();

            realProb_procBar.Value = treeResult.Item2;
            realProb_lbl.Content   = treeResult.Item2;

            int normalMinionCount = MainLists.HandCards_BoardCards.Count(x => new NeutralMinion(x).minionBoardCard != null &&
                                                                         NeutralMinion.WouldTakeMinion(x) && !MainLists.whiteList.Contains(x.Id.ToString()));

            //less medium cards than actually having possible
            if (treeResult.Item1 /*prospective refused*/ < normalMinionCount)
            {
                int deltaReplaceCount = normalMinionCount - treeResult.Item1;

                int i = 1;
                // ReSharper disable once LoopCanBePartlyConvertedToQuery
                foreach (CardTemplate badCard in MainLists.HandCards_BoardCards.
                         Where(x => new NeutralMinion(x).minionBoardCard != null && NeutralMinion.WouldTakeMinion(x) &&
                               !MainLists.whiteList.Contains(x.Id.ToString())).
                         OrderBy(x => new NeutralMinion(x).thisCardValue).TakeWhile(x => i <= deltaReplaceCount))
                {
                    string cardString = badCard.Name + " (" + badCard.Id + ")";
                    textBox1.AppendText(cardString + "\n");
                    ++i;
                }

                replaceCount_info.Content = "...by being able to replace " + deltaReplaceCount + " cards in hand";
            }
        }
        public CoachWindow()
        {
            ResourceDictionary Controls = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml", UriKind.Absolute)
            };
            ResourceDictionary Fonts = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml", UriKind.Absolute)
            };
            ResourceDictionary Colors = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml", UriKind.Absolute)
            };
            ResourceDictionary BlueAccent = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml", UriKind.Absolute)
            };
            ResourceDictionary BaseLightAccent = new ResourceDictionary
            {
                Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml", UriKind.Absolute)
            };

            Application.Current.Resources.MergedDictionaries.Add(Fonts);
            Application.Current.Resources.MergedDictionaries.Add(Colors);
            Application.Current.Resources.MergedDictionaries.Add(BlueAccent);
            Application.Current.Resources.MergedDictionaries.Add(BaseLightAccent);
            Application.Current.Resources.MergedDictionaries.Add(Controls);

            InitializeComponent();
            textBox1.IsReadOnly = true;

            DataContext = new MainViewModel();

            minProb_procBar.Value = ValueReader.MinProbabilityToReplace;
            minProb_lbl.Content = ValueReader.MinProbabilityToReplace + " %";

            ProbabilityCalculation probabilityCalculation = new ProbabilityCalculation();
            Tuple<int, float> treeResult = probabilityCalculation.GenerateTreeWhiteListDraw();
            realProb_procBar.Value = treeResult.Item2;
            realProb_lbl.Content = treeResult.Item2;

            int normalMinionCount = MainLists.HandCards_BoardCards.Count(x => new NeutralMinion(x).minionBoardCard != null &&
                NeutralMinion.WouldTakeMinion(x) && !MainLists.whiteList.Contains(x.Id.ToString()));

            //less medium cards than actually having possible
            if (treeResult.Item1 /*prospective refused*/ < normalMinionCount)
            {
                int deltaReplaceCount = normalMinionCount - treeResult.Item1;

                int i = 1;
                // ReSharper disable once LoopCanBePartlyConvertedToQuery
                foreach (CardTemplate badCard in MainLists.HandCards_BoardCards.
                    Where(x => new NeutralMinion(x).minionBoardCard != null && NeutralMinion.WouldTakeMinion(x) &&
                        !MainLists.whiteList.Contains(x.Id.ToString())).
                    OrderBy(x => new NeutralMinion(x).thisCardValue).TakeWhile(x => i <= deltaReplaceCount))
                {
                    string cardString = badCard.Name + " (" + badCard.Id + ")";
                    textBox1.AppendText(cardString + "\n");
                    ++i;
                }

                replaceCount_info.Content = "...by being able to replace " + deltaReplaceCount + " cards in hand";
            }
        }