示例#1
0
        void UaktualnijWtykiWejsciowe()
        {
            for (int i = 0; i < 4; i++)             //tworzenie wtykow bitow wejsciowych i nadanie wartosci ze stringow
            {
                if (Przeniesienie == null)
                {
                    Przeniesienie = new Wtyk(false);
                }
                else
                {
                    Przeniesienie.Wartosc = false;
                }
                bool bit;
                bit = LiczbaX[i] == '1';
                if (X[i] == null)
                {
                    X[i] = new Wtyk(bit);
                }
                else                 //jesli juz istnieje to ustaw wartosc
                {
                    X[i].Wartosc = bit;
                }

                bit = LiczbaY[i] == '1';
                if (Y[i] == null)
                {
                    Y[i] = new Wtyk(bit);
                }
                else
                {
                    Y[i].Wartosc = bit;
                }
            }
        }
示例#2
0
 public MainWindow()
 {
     InitializeComponent();
     UstawieniaPoczatkoweKolorow();
     Wynik = new Wtyk[4];
     UaktualnijWtykiWejsciowe();
     for (int i = 3; i >= 0; i--)             //łączenie bramek
     {
         Bramka BramkaXor = new Bramka(XOR);
         Bramki.Add(BramkaXor);
         BramkaXor.UstawWtykiWejsciowe(X[i], Y[i]);
         Bramki.Add(new Bramka(XOR));
         Bramki.Last().UstawWtykiWejsciowe(BramkaXor.Wyjscie, Przeniesienie);
         Wynik[i] = Bramki.Last().Wyjscie;
         Bramka ANDGorny = new Bramka(AND);
         Bramki.Add(ANDGorny);
         ANDGorny.UstawWtykiWejsciowe(X[i], Y[i]);
         Bramka ANDDolny = new Bramka(AND);
         Bramki.Add(ANDDolny);
         ANDDolny.UstawWtykiWejsciowe(Przeniesienie, BramkaXor.Wyjscie);
         Bramka BramkaOR = new Bramka(OR);
         Bramki.Add(BramkaOR);
         BramkaOR.UstawWtykiWejsciowe(ANDGorny.Wyjscie, ANDDolny.Wyjscie);
         Przeniesienie = BramkaOR.Wyjscie;
     }
 }