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; } } }
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; } }