Пример #1
0
        /// <summary>
        /// Vaihtaa Kirjainlaattojen värit
        /// </summary>
        private static void VaihdaKirjainlaattojenVarit(List <UIElement> komponentit, List <SolidColorBrush> varit)
        {
            if (komponentit == null)
            {
                return;
            }
            Pelilauta           lauta  = (Pelilauta)komponentit[0];
            KirjainlaattaHolder holder = (KirjainlaattaHolder)komponentit[1];
            KirjainlaattaPussi  pussi  = (KirjainlaattaPussi)komponentit[2];

            // pelilaudalla olevat
            foreach (Kirjainlaatta k in lauta.GetLaudalleLisatyt())
            {
                k.ActiveFillColor     = varit[0];
                k.ActiveBorderColor   = varit[1];
                k.InactiveFillColor   = varit[2];
                k.InactiveBorderColor = varit[3];
            }
            // KirjainlaattaHolderissa olevat
            foreach (Kirjainlaatta k in holder.GetKirjainlaatat())
            {
                k.ActiveFillColor     = varit[0];
                k.ActiveBorderColor   = varit[1];
                k.InactiveFillColor   = varit[2];
                k.InactiveBorderColor = varit[3];
            }
            // KirjainlaattaPussissa olevat
            foreach (Kirjainlaatta k in pussi.GetKirjainlaatat())
            {
                k.ActiveFillColor     = varit[0];
                k.ActiveBorderColor   = varit[1];
                k.InactiveFillColor   = varit[2];
                k.InactiveBorderColor = varit[3];
            }
        }
Пример #2
0
        /// <summary>
        /// Palauttaa listan komponenteista jotka sisältävät Kirjainlaattoja
        /// </summary>
        /// <param name="mainWindow">ohjelman pääikkuna</param>
        /// <returns>lista Kirjainlaattoja sisältävistä komponenteista</returns>
        private static List <UIElement> EtsiKirjainlaattojaSisaltavatKomponentit(DependencyObject mainWindow)
        {
            MainWindow main = (MainWindow)mainWindow;
            StackPanel main_content_area = (StackPanel)main.Content;

            //Jos ei olla vielä pelin puolella, ei tarvitse käydä kaikki laattoja läpi
            if (main_content_area.Children[1].GetType() == typeof(DockPanel))
            {
                // vähän purkkaratkaisu, pitäisi olla fiksumpi
                DockPanel           dpanel = (DockPanel)main_content_area.Children[1];
                Pelilauta           lauta  = (Pelilauta)dpanel.Children[2];
                KirjainlaattaHolder holder = (KirjainlaattaHolder)((StackPanel)dpanel.Children[0]).Children[1];
                KirjainlaattaPussi  pussi  = (KirjainlaattaPussi)((StackPanel)dpanel.Children[1]).Children[5];

                List <UIElement> komponentit = new List <UIElement>();
                komponentit.Add(lauta);
                komponentit.Add(holder);
                komponentit.Add(pussi);
                return(komponentit);
            }
            return(null);
        }
Пример #3
0
        /// <summary>
        /// Aloittaa uuden pelin, eli alustaa alustaa pelin komponentit.
        /// </summary>
        private void NewGame()
        {
            // Tyhjennetään pelialue
            if (window_content.Children.Count > 1)
            {
                window_content.Children.Remove(aloitusnaytto);
                window_content.Children.Remove(window_dockpanel);
            }
            window_dockpanel = new DockPanel();
            if (kirjainlaattaPussi1 != null)
            {
                kirjainlaattaPussi1.Clear();
            }
            window_dockpanel.Children.Clear();
            int vaikeusaste = VAIKEUSASTE[Vaikeusaste];

            KirjaintenVaihtojaJaljella = ((vaikeusaste / 60) + 2);

            peliControlsPanel = new StackPanel();
            DockPanel.SetDock(peliControlsPanel, Dock.Left);
            peliControlsPanel.Width      = 80;
            peliControlsPanel.Margin     = new Thickness(4);
            peliControlsPanel.MaxWidth   = 100;
            peliControlsPanel.Background = new SolidColorBrush(Colors.Gainsboro);

            lblLaatatKaytossa          = new Label();
            lblLaatatKaytossa.Content  = "Kirjaimet:";
            lblLaatatKaytossa.FontSize = 14;
            lblLaatatKaytossa.Width    = 80;
            lblLaatatKaytossa.MaxWidth = 100;
            //lblLaatatKaytossa.BorderBrush = new SolidColorBrush(Colors.SlateGray);
            //lblLaatatKaytossa.BorderThickness = new Thickness(2);

            kirjainlaattaHolder1      = new KirjainlaattaHolder();
            kirjainlaattaHolder1.Name = "Holder";
            kirjainlaattaHolder1.MaxLukumaaraModifiable = true;
            kirjainlaattaHolder1.MaxLukumaara           = 7;
            kirjainlaattaHolder1.AllowDrop       = true;
            kirjainlaattaHolder1.MinHeight       = 350;
            kirjainlaattaHolder1.Width           = 62;
            kirjainlaattaHolder1.Margin          = new Thickness(2);
            kirjainlaattaHolder1.Padding         = new Thickness(2);
            kirjainlaattaHolder1.BorderBrush     = new SolidColorBrush(Colors.SlateGray);
            kirjainlaattaHolder1.BorderThickness = new Thickness(4);

            buttonVaihdaKirjaimet            = new Button();
            buttonVaihdaKirjaimet.Content    = "_Vaihda";
            buttonVaihdaKirjaimet.Click     += buttonVaihdaKirjaimet_Click;
            buttonVaihdaKirjaimet.Width      = 62;
            buttonVaihdaKirjaimet.Height     = 44;
            buttonVaihdaKirjaimet.Margin     = new Thickness(2, 10, 2, 10);
            txtVaihtojaJaljella              = new TextBlock();
            txtVaihtojaJaljella.Text         = "Vaihtoja jäljellä: " + KirjaintenVaihtojaJaljella;
            txtVaihtojaJaljella.FontSize     = 14;
            txtVaihtojaJaljella.TextWrapping = TextWrapping.Wrap;
            txtVaihtojaJaljella.Margin       = new Thickness(10, 10, 2, 10);

            peliControlsPanel.Children.Add(lblLaatatKaytossa);
            peliControlsPanel.Children.Add(kirjainlaattaHolder1);
            peliControlsPanel.Children.Add(buttonVaihdaKirjaimet);
            peliControlsPanel.Children.Add(txtVaihtojaJaljella);

            pelaajaTiedotPanel = new StackPanel();
            DockPanel.SetDock(pelaajaTiedotPanel, Dock.Right);
            pelaajaTiedotPanel.Width      = 110;
            pelaajaTiedotPanel.Background = new SolidColorBrush(Colors.Gainsboro);
            pelaajaTiedotPanel.Margin     = new Thickness(4);

            lblAika          = new Label();
            lblAika.Content  = "Aika:";
            lblAika.FontSize = 14;
            aikalaskuri1     = new Aikalaskuri(vaikeusaste);
            aikalaskuri1.IsDescendingTimer = true;
            lblPisteet                   = new Label();
            lblPisteet.Content           = "Pisteet:";
            lblPisteet.FontSize          = 14;
            pistelaskuri1                = new Pistelaskuri();
            pistelaskuri1.TotalPoints    = 0;
            lblLaattojaJaljella          = new Label();
            lblLaattojaJaljella.Content  = "Laattoja jäljellä:";
            lblLaattojaJaljella.FontSize = 14;
            kirjainlaattaPussi1          = new KirjainlaattaPussi(varit);
            kirjainlaattaPussi1.Name     = "Pussi";
            buttonLaskePisteet           = new Button();
            buttonLaskePisteet.Content   = "_Tarkista sana";
            buttonLaskePisteet.Margin    = new Thickness(2, 10, 2, 10);
            buttonLaskePisteet.Height    = 23;
            buttonLaskePisteet.Width     = 100;
            buttonLaskePisteet.Click    += buttonTarkistaSana_Click;

            pelaajaTiedotPanel.Children.Add(lblAika);
            pelaajaTiedotPanel.Children.Add(aikalaskuri1);
            pelaajaTiedotPanel.Children.Add(lblPisteet);
            pelaajaTiedotPanel.Children.Add(pistelaskuri1);
            pelaajaTiedotPanel.Children.Add(lblLaattojaJaljella);
            pelaajaTiedotPanel.Children.Add(kirjainlaattaPussi1);
            pelaajaTiedotPanel.Children.Add(buttonLaskePisteet);

            pelilauta1                     = new Pelilauta();
            pelilauta1.Name                = "Pelilauta";
            pelilauta1.Margin              = new Thickness(4);
            pelilauta1.Loaded             += pelilauta1_Loaded;
            aikalaskuri1.AikalaskuriAlarm += pelilauta1_AikalaskuriAlarm;

            window_dockpanel.LastChildFill = true;
            window_dockpanel.Children.Add(peliControlsPanel);
            window_dockpanel.Children.Add(pelaajaTiedotPanel);
            window_dockpanel.Children.Add(pelilauta1);
            window_dockpanel.Background = new SolidColorBrush(Colors.SteelBlue);

            window_content.Children.Add(window_dockpanel);
        }