/// <summary> /// Luodaan gridiin rivit, kolumnit ja laatta-kontrollit /// </summary> private void LuoRuudukko() { double koko = this.Height / (kokoAlue / 2); for (int riv = 0; riv < kokoAlue / 2; riv++) { for (int sar = 0; sar < kokoAlue / 2; sar++) { RowDefinition r = new RowDefinition(); r.Height = new GridLength(koko, GridUnitType.Pixel); ColumnDefinition c = new ColumnDefinition(); c.Width = new GridLength(koko, GridUnitType.Pixel); gridi.RowDefinitions.Add(r); gridi.ColumnDefinitions.Add(c); Laatta.Laatta laatta = new Laatta.Laatta(); if (ruudukko == null) { ruudukko = Brushes.Wheat; } Laatta.Laatta.SetVari(laatta, ruudukko); gridi.Children.Add(laatta); Grid.SetColumn(laatta, sar); Grid.SetRow(laatta, riv); } } }
/// <summary> /// Muutetaan laatan väriä /// </summary> /// <param name="uusiPaikka">Laatan paikka</param> private void MuutaLaatanVaria(Point paikka) { int indeksi = EtsiIndeksi(paikka, laattapaikat, laattapaikat.Length); laatanOikeaVari = (SolidColorBrush)Laatta.Laatta.GetVari(laatat[indeksi]); Laatta.Laatta.SetVari(laatat[indeksi], Brushes.Red); //laittoman paikan käsittely muutettuLaatta = laatat[indeksi]; }
/// <summary> /// Luodaan gridiin rivit, kolumnit ja laatta-kontrollit /// </summary> public void LuoRuudukko() { double koko = this.Height / (kokoAlue / 2); SolidColorBrush edellinenVari = ruudukkoVaalea; SolidColorBrush seuraavaVari = ruudukkoTumma; int i = 0; for (int riv = 0; riv < kokoAlue / 2; riv++) { for (int sar = 0; sar < kokoAlue / 2; sar++) { RowDefinition r = new RowDefinition(); r.Height = new GridLength(koko, GridUnitType.Pixel); ColumnDefinition c = new ColumnDefinition(); c.Width = new GridLength(koko, GridUnitType.Pixel); gridi.RowDefinitions.Add(r); gridi.ColumnDefinitions.Add(c); if (ruudukkoTumma == null) { ruudukkoTumma = Brushes.DarkGreen; } if (ruudukkoVaalea == null) { ruudukkoVaalea = Brushes.Wheat; } Laatta.Laatta laatta = new Laatta.Laatta(); SolidColorBrush maalattavaVari = ruudukkoVaalea; if (edellinenVari == ruudukkoVaalea) { maalattavaVari = ruudukkoTumma; sallitutPaikat.Add(new Point(sar, riv)); vapaat_paikat.Add(new Point(sar, riv)); if (riv < 3) { taulukoidenKoko++; } } Laatta.Laatta.SetVari(laatta, maalattavaVari); gridi.Children.Add(laatta); Grid.SetColumn(laatta, sar); Grid.SetRow(laatta, riv); laatat.Add(laatta); laattapaikat[i] = new Point(sar, riv); seuraavaVari = edellinenVari; edellinenVari = maalattavaVari; i++; } if (kokoAlue / 2 % 2 == 0) { edellinenVari = seuraavaVari; } } punaiset_nappulat = new Pelinappula.Pelinappula[taulukoidenKoko]; valkoiset_nappulat = new Pelinappula.Pelinappula[taulukoidenKoko]; p_paikat = new Point[taulukoidenKoko]; v_paikat = new Point[taulukoidenKoko]; }