Пример #1
0
        private void CreateNewExample()
        {
            var exampleFrequecies = _examples.ToDictionary(exampleDef => exampleDef, exampleDef => _currentMonster != null ? _currentMonster.GetExampleFrequencyByMonster(exampleDef) : exampleDef.Frequency);

            var examplesForMonster = exampleFrequecies.SelectMany(exampleDefPair => Enumerable.Repeat(exampleDefPair.Key, exampleDefPair.Value));

            if (!examplesForMonster.Any())
            {
                MessageBox.Show("Vyber si jiného plyšáka. Tomuto už příklady došly.");
            }
            else
            {
                var random      = new Random();
                int randomIndex = random.Next(examplesForMonster.Count());

                var exampleDef = examplesForMonster.ToArray()[randomIndex];
                _currentExample = exampleDef.CreateExample(random);
                if (_currentMonster != null)
                {
                    _currentMonster.UpdateExampleByMonster(_currentExample); //callback na potvoru - muze menit example       //TODO tato implementace ma za nasledek, ze zmena zvirete po zadani prikladu se uz neprojevi
                }
                labelExample.Text   = _currentExample.Text;
                labelX.Visible      = _currentExample.IsEquation;
                labelEquals.Visible = _currentExample.IsEquation;
                textBox.Text        = "";
                textBox.Focus();
                UpdateLabelMoney();
                pictureBoxMonster.ImageLocation = _image1Location;
            }
        }