protected virtual void onKliknieciePola(WspolrzednePola wspolrzednePola) { if (KliknieciePola != null) { KliknieciePola(this, new PlanszaEventArgs { WspolrzednePola = wspolrzednePola }); } }
public void ZaznaczPodpowiedz(WspolrzednePola wspolrzednePola, StanPola stanPola) { if (stanPola == StanPola.Puste) { throw new Exception("Nie można zaznaczyc podpowiedzi dla stanu pustego pola"); } SolidColorBrush pedzelPodpowiedzi = PedzelDlaStanu(stanPola).Lerp(pedzelPustegoPola, 0.5f); planszaPrzyciski[wspolrzednePola.Pionowo, wspolrzednePola.Poziomo].Background = pedzelPodpowiedzi; }
private void tworzPlansze(int szerokosc, int wysokosc) { this.szerokosc = szerokosc; this.wysokosc = wysokosc; // podział siatki na wiesze i kolumny planszaSiatka.ColumnDefinitions.Clear(); for (int i = 0; i < szerokosc; i++) { planszaSiatka.ColumnDefinitions.Add(new ColumnDefinition()); } planszaSiatka.RowDefinitions.Clear(); for (int j = 0; j < wysokosc; j++) { planszaSiatka.RowDefinitions.Add(new RowDefinition()); } // towrzenie tablic stanów planszaStany = new StanPola[szerokosc, wysokosc]; for (int i = 0; i < szerokosc; i++) { for (int j = 0; j < wysokosc; j++) { planszaStany[i, j] = StanPola.Puste; } } // tworzenie przycisków planszaPrzyciski = new Button[szerokosc, wysokosc]; for (int i = 0; i < szerokosc; i++) { for (int j = 0; j < wysokosc; j++) { Button przycisk = new Button(); przycisk.Margin = new Thickness(0); planszaSiatka.Children.Add(przycisk); Grid.SetColumn(przycisk, i); Grid.SetRow(przycisk, j); przycisk.Tag = new WspolrzednePola { Poziomo = i, Pionowo = j }; przycisk.Click += new RoutedEventHandler( (s, e) => { Button kliknietyPrzycisk = s as Button; WspolrzednePola wspolrzedne = (WspolrzednePola)kliknietyPrzycisk.Tag; int kliknietePoziomo = wspolrzedne.Poziomo; int kliknietePionowo = wspolrzedne.Pionowo; onKliknieciePola(wspolrzedne); }); planszaPrzyciski[i, j] = przycisk; } } zmienKoloryWszystkichPrzyciskow(); }
public void ZaznaczRuch(WspolrzednePola wspolrzednePola, StanPola stanPola) { planszaStany[wspolrzednePola.Poziomo, wspolrzednePola.Pionowo] = stanPola; planszaPrzyciski[wspolrzednePola.Poziomo, wspolrzednePola.Pionowo].Background = PedzelDlaStanu(stanPola); }