Exemplo n.º 1
0
        private void startButton_Click(object sender, EventArgs e)
        {
            if (repBraPanel.BackColor == Color.Red)
            {
                System.Windows.Forms.MessageBox.Show("Check the pattern given !!\nInvalid character given (character allowed : a-zA-Z and parenthesis) or parenthesis not open/closed");
                return;
            }
            else if (repBraPanel.BackColor == Color.Green)
            {
                DetectStartPosition();
                DetectLength();
                pattern.Userstr = patternBox.Text;
                centerPanel.Refresh();
                g = centerPanel.CreateGraphics();

                L_System system = new L_System();
                //  Creation String seed, add pattern textbox
                system.Seed = pattern.Userstr;
                //  Creation Dictionnaty Rules, all Textbox rules into Store rules
                system.Rules = system.Store_Rules(ruleKey1, ruleKey2, ruleValue1, ruleValue2);
                // Creation Dictionnary Symbols, Stack All textbox and combobox for the symbols and related symbols
                TextBox[]        textboxes      = { symbol1, symbol2, symbol3, symbol4, symbol5, symbol6 };
                Stack <TextBox>  symbols        = new Stack <TextBox>(textboxes);
                ComboBox[]       comboboxes     = { relatedSymbol1, relatedSymbol2, relatedSymbol3, relatedSymbol4, relatedSymbol5, relatedSymbol6 };
                Stack <ComboBox> relatedSymbols = new Stack <ComboBox>(comboboxes);
                system.Symbols = system.Store_Symbols(symbols, relatedSymbols);
                //  Creation Levels, get value from form
                system.Level = (short)repeatNumericUpDown.Value;
                BuildPath buildpath = new BuildPath();
                buildpath.Buildingpath(system);
                Draw(buildpath, chosenAngle, chosenLength);
            }
        }
Exemplo n.º 2
0
 public void Buildingpath(L_System system)
 {
     system.Initialize();
     system.Generate();
     Console.WriteLine(system.Sentence);
     Path = system.Sentence;
 }