Example #1
0
 private void PrzywróćStanAplikacji()
 {
     MagazynZmian.Przywróć();
 }
Example #2
0
 private void CofnijStanAplikacji()
 {
     MagazynZmian.Cofnij();
 }
Example #3
0
 private void DodajDziałanie(ManipulacjaKlockiem manipulacja)
 {
     MagazynZmian.DodajDziałanie(manipulacja);
 }
Example #4
0
        public Główny()
        {
            Semafor      = new Semafor();
            MagazynZmian = new MagazynZmian();
            Konsola      = new Konsola();
            KomendaCofnięciaStanuAplikacji          = new Komenda(CofnijStanAplikacji);
            KomendaDodaniaUsunięciaPunktuPrzerwania = new Komenda(DodajUsuńPunktPrzerwania);
            KomendaDodaniaZmiennej                            = new Komenda(DodajZmienną);
            KomendaKontynuacjiWykonywania                     = new Komenda(KontynuujWykonywanie);
            KomendaKopiowaniaKlocka                           = new Komenda(KopiujKlocek);
            KomendaPrzejęciaSkupienia                         = new Komenda(PrzejmijSkupienie);
            KomendaPrzywróceniaStanuAplikacji                 = new Komenda(PrzywróćStanAplikacji);
            KomendaStartuProgramu                             = new Komenda(RozpocznijWykonywanieProgramu);
            KomendaUsunięciaKlockaPionowego                   = new Komenda(UsuńKlocekPionowy);
            KomendaUsunięciaKlockaZwracającegoWartość         = new Komenda(UsuńKlocekZwracającyWartość);
            KomendaUsunięciaZmiennej                          = new Komenda(UsuńZmienną);
            KomendaWycięciaKlocka                             = new Komenda(WytnijKlocek);
            KomendaWykonaniaNastępnegoKroku                   = new Komenda(WykonajNastępnyKrok);
            KomendaZamknięciaOkna                             = new Komenda(ZamknijOkno);
            KomendaZatrzymaniaDebugowania                     = new Komenda(ZatrzymajDebugowanie);
            KomendaZwinięciaRozwinięciaKlockaZZawartością     = new Komenda(ZwińRozwińKlocekZZawartością);
            ObsługującyPrzeciąganieZPrzybornika               = new ObsługującyPrzeciąganieZPrzybornika();
            ObsługującyPrzenoszenieKlockówPionowych           = new ObsługującyPrzenoszenieKlockówPionowych();
            ObsługującyPrzenoszenieKlockówZwracającychWartość = new ObsługującyPrzenoszenieKlockówZwracającychWartość();
            ObsługującyUpuszczanieKlockówPionowych            = new ObsługującyUpuszczanieKlockówPionowych(DodajDziałanie);
            ObsługującyUpuszczanieKlockówZwracającychWartość  = new ObsługującyUpuszczanieKlockówZwracającychWartość(DodajDziałanie);
            Powiększenie        = 1;
            RozpoczęcieProgramu = new RozpoczęcieProgramu {
                Semafor = Semafor
            };
            Schowek = new ObservableCollection <Klocek> {
                null
            };
            Zmienne = new ObservableCollection <Zmienna>();
            Semafor.SemaforOpuszczony += _semafor_SemaforOpuszczony;

            CechyLiczby = new OpcjaZwracającaWartośćNaPodstawieParametru <bool, double>[]
            {
                new Parzystość(),
                new Nieparzystość(),
                new Całkowitość(),
                new Dodatniość(),
                new Ujemność()
            };

            DziałaniaLogiczne = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <bool, bool, bool>[]
            {
                new Koniunkcja(),
                new Alternatywa()
            };

            DziałaniaMatematyczne = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, double, double>[]
            {
                new Dodawanie(),
                new Odejmowanie(),
                new Mnożenie(),
                new Dzielenie(),
                new Potęgowanie(),
                new Modulo()
            };

            DziałaniaMatematyczneNaLiście = new OpcjaZwracającaWartośćNaPodstawieParametru <double, ZmiennaTypuListowego>[]
            {
                new SumaListy(),
                new MinimumListy(),
                new MaksimumListy(),
                new ŚredniaListy()
            };

            FunkcjeMatematyczne = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[]
            {
                new PierwiastekKwadratowy(),
                new WartośćBezwzględna(),
                new WartośćOdwrotna(),
                new LogarytmNaturalny(),
                new LogarytmOPodstawie10(),
                new FunkcjaEksponencjalna(),
                new PotęgaOPodstawie10()
            };

            FunkcjeTrygonometryczne = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[]
            {
                new Sinus(),
                new Cosinus(),
                new Tangens(),
                new ArcusSinus(),
                new ArcusCosinus(),
                new ArcusTangens()
            };

            ModyfikacjeElementuListy = new TypUstawieniaElementuListy[]
            {
                new UstawienieElementu(),
                new WstawienieElementu()
            };

            ObcinaniaSpacji = new OpcjaZwracającaWartośćNaPodstawieParametru <object, object>[]
            {
                new ObcinanieSpacjiZObuStron(),
                new ObcinanieSpacjiZLewejStrony(),
                new ObcinanieSpacjiZPrawejStrony()
            };

            PobieraniaTekstu = new PobieranieTekstu[]
            {
                new PobieranieTekstuTekstowego(),
                new PobieranieTekstuLiczbowego()
            };

            PorządkiSortowania = new PorządekSortowania[]
            {
                new SortowanieRosnąco(),
                new SortowanieMalejąco()
            };

            SortowaniaListy = new SposóbSortowaniaListy[]
            {
                new SortowanieLiczbowe(),
                new SortowanieAlfabetyczne()
            };

            StałeLogiczne = new OpcjaZwracającaWartość <bool>[]
            {
                new Prawda(),
                new Fałsz()
            };

            StałeMatematyczne = new OpcjaZwracającaWartość <double>[]
            {
                new Pi(),
                new LiczbaE(),
                new LiczbaPhi(),
                new PierwiastekZDwóch(),
                new PierwiastekZJednejDrugiej(),
                new Nieskończoność()
            };

            SzukaniaTekstuWTekście = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, object, object>[]
            {
                new PierwszeWystąpienieTekstuWTekście(),
                new OstatnieWystąpienieTekstuWTekście()
            };

            WielkościLiter = new OpcjaZwracającaWartośćNaPodstawieParametru <object, object>[]
            {
                new WielkieLitery(),
                new MałeLitery()
            };

            WystąpieniaElementuNaLiście = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <double, ZmiennaTypuListowego, object>[]
            {
                new PierwszeWystąpienie(),
                new OstatnieWystąpienie()
            };

            ZaokrąglaniaLiczby = new OpcjaZwracającaWartośćNaPodstawieParametru <double, double>[]
            {
                new Zaokrąglanie(),
                new ZaokrąglanieWGórę(),
                new ZaokrąglanieWDół()
            };

            ZnakiPorównania = new OpcjaZwracającaWartośćNaPodstawieDwóchParametrów <bool, object, object>[]
            {
                new Równy(),
                new Nierówny(),
                new Mniejszy(),
                new MniejszyRówny(),
                new Większy(),
                new WiększyRówny()
            };

            KlockiDotycząceList = new Klocek[]
            {
                new DodajDoListy(),
                new UsuńElementZListy(),
                new ModyfikujElementListy {
                    WybranyTypModyfikacjiListy = ModyfikacjeElementuListy.First()
                },

                new ElementListyOIndeksie(),
                new IndeksElementuNaLiście {
                    WybranaOpcja = WystąpieniaElementuNaLiście.First()
                },
                new LiczbaElementówNaLiście(),
                new ListaPowtórzonegoElementu(),
                new ListaZElementów(),
                new Podlista(),
                new PosortowanaLista
                {
                    WybranyPorządekSortowania = PorządkiSortowania.First(),
                    WybranySposóbSortowania   = SortowaniaListy.First()
                },
                new PustaLista(),
                new PustośćListy()
            };

            KlockiDotyczącePętli = new Klocek[]
            {
                new WykonajDlaKażdegoElementu(),
                new WykonujDopóki(),
                new WykonujOdliczając(),
                new PomińIterację(),
                new PrzerwijPętlę()
            };

            KlockiDotycząceZmiennych = new Klocek[]
            {
                new UstawZmienną(),
                new WartośćZmiennej()
            };

            KlockiLogiczne = new Klocek[]
            {
                new WykonajJeżeli(),
                new Negacja(),
                new Porównanie {
                    WybranaOpcja = ZnakiPorównania.First()
                },
                new StałaLogiczna {
                    WybranaOpcja = StałeLogiczne.First()
                },
                new WarunekZłożony {
                    WybranaOpcja = DziałaniaLogiczne.First()
                }
            };

            KlockiMatematyczne = new Klocek[]
            {
                new ZmieńWartośćZmiennejOLiczbę(),

                new FunkcjaMatematyczna {
                    WybranaOpcja = FunkcjeMatematyczne.First()
                },
                new FunkcjaTrygonometryczna {
                    WybranaOpcja = FunkcjeTrygonometryczne.First()
                },
                new LosowaLiczbaCałkowitaZZakresu(),
                new LosowyUłamek(),
                new PodzielnośćLiczbyPrzezLiczbę(),
                new StałaLiczbowa(),
                new StałaMatematyczna {
                    WybranaOpcja = StałeMatematyczne.First()
                },
                new WynikDziałania {
                    WybranaOpcja = DziałaniaMatematyczne.First()
                },
                new WynikDziałaniaMatematycznegoNaLiście {
                    WybranaOpcja = DziałaniaMatematyczneNaLiście.First()
                },
                new WystępowanieCechyLiczby {
                    WybranaOpcja = CechyLiczby.First()
                },
                new ZaokrąglonaLiczba {
                    WybranaOpcja = ZaokrąglaniaLiczby.First()
                },
            };

            KlockiTekstowe = new Klocek[]
            {
                new DodajTekst(),
                new Wyświetl {
                    Konsola = Konsola
                },

                new DługośćTekstu(),
                new IndeksTekstuWTekście {
                    WybranaOpcja = SzukaniaTekstuWTekście.First()
                },
                new LiteraTekstu(),
                new Napis(),
                new PobranyTekst
                {
                    Konsola      = Konsola,
                    WybranaOpcja = PobieraniaTekstu.First()
                },
                new Podciąg(),
                new PustośćTekstu(),
                new TekstOWielkościLiter {
                    WybranaOpcja = WielkościLiter.First()
                },
                new TekstZObciętymiSpacjami {
                    WybranaOpcja = ObcinaniaSpacji.First()
                }
            };
        }