Beispiel #1
0
        protected async Task ShowResult()
        {
            if (ValidateTextbox())
            {
                invalid = false;
                DayThree _challengeSolver = new DayThree();

                await RefreshSlopesMap();

                _slopeConfigurations.ForEach(sc =>
                {
                    sc.EncounteredTrees = _challengeSolver.CalculateSlopes(sc.StartPosition, sc.Move, sc.Jumps, _forestMap);
                });

                if (_slopeConfigurations.Select(s => s.EncounteredTrees).Any(r => r > 1))
                {
                    double result = _slopeConfigurations
                                    .Select(s => s.EncounteredTrees).Aggregate(1.0, (acc, c) => (acc * c));

                    _productResult = Convert.ToInt64(result);
                    _child.Show();
                }
                else
                {
                    invalid = true;
                }
            }
            else
            {
                invalid = true;
            }
        }