Exemplo n.º 1
0
        public void Start()
        {
            //Der Spieler beginnt
            Wurfrunde = new WurfRunde();
            Wurfrunde.AnzahlWuerfe = 3;

            int CounterWegenAnzahlWuerfe = 0;

            foreach (SpielerBase spieler in AlleMitspieler)
            {
                if (spieler.NameSpieler.Equals("Spieler"))
                {
                    if (spieler.Dabei)
                    {
                        //Der User würfelt selber
                        WuerfelDialog dialog = new WuerfelDialog(Wurfrunde.AnzahlWuerfe);
                        if (dialog.ShowDialog() == true)
                        {
                            spieler.Wurf = dialog.Wurf;
                            _MainWindow.Spieler.SetCubeImages(dialog.Wurf);
                            _MainWindow.Spieler.lblSpielername.Content = Wuerfe.Wurfbezeichnungen[Array.IndexOf(Wuerfe.WuerfeListe, spieler.Wurf)];
                            SortiereWurfInWurfrundeEin(spieler.Wurf, spieler);
                        }
                    }
                }
                else
                {
                    if (spieler.Dabei)
                    {
                        //Der COmputer würfelt
                        //Welcher SPieler?
                        ucMitspieler aktSpieler = (from ucMitspieler spl in _MainWindow.Computerspieler where spl.Spieler.NameSpieler.Equals(spieler.NameSpieler) select spl).FirstOrDefault();

                        //TODO, das hier ist vorläufig. An diese STelle kommt noch eine Methode mit der Würfellogik für den Computerspieler
                        spieler.Wurf = Wuerfeln.Wuerfle(3);
                        aktSpieler.SetCubeImages(spieler.Wurf);
                        aktSpieler.lblWurfbezeichnung.Content = Wuerfe.Wurfbezeichnungen[Array.IndexOf(Wuerfe.WuerfeListe, spieler.Wurf)];
                        SortiereWurfInWurfrundeEin(spieler.Wurf, spieler);
                    }
                }
                CounterWegenAnzahlWuerfe++;
            }
            //Alle haben gewürfelt --> Bewerten
            if (Bewerte())
            {
                //Die aktuelle Wuerfelrunde ist vorbei!

                WeiterDialog d = new WeiterDialog();
                if (d.ShowDialog() == true)
                {
                    _MainWindow.ResetSpielerFuerWurfrunde();
                    _MainWindow.UpdateSpieler(true);
                    ResetRunde();
                    ReStart();
                }
            }
            else
            {
                //Dialog, um weiter zu würfeln
                WeiterDialog d = new WeiterDialog();
                if (d.ShowDialog() == true)
                {
                    _MainWindow.ResetSpielerFuerWurfrunde();
                    ReStart();
                }
            }
        }
Exemplo n.º 2
0
        private void BtnRoll_Click(object sender, RoutedEventArgs e)
        {
            ButtonReadyAktiv = true;
            AnzahlWuerfe++;
            Btn1.Content = "";
            Btn2.Content = "";
            Btn3.Content = "";

            int wurfZahl = 3;

            if (Cube1Raus)
            {
                wurfZahl--;
            }
            if (Cube2Raus)
            {
                wurfZahl--;
            }
            if (Cube3Raus)
            {
                wurfZahl--;
            }

            string _wurf = Wuerfeln.Wuerfle(wurfZahl);

            if (wurfZahl == 3)
            {
                ValCube1 = Int32.Parse(_wurf[0].ToString());
                ValCube2 = Int32.Parse(_wurf[1].ToString());
                ValCube3 = Int32.Parse(_wurf[2].ToString());
                _wurf    = ValCube1 + "" + ValCube2 + "" + ValCube3;
            }
            //Schauen ob und welche Würfel rausgelegt sind
            if (wurfZahl == 2)
            {
                int wert1 = Int32.Parse(_wurf[0].ToString());
                int wert2 = Int32.Parse(_wurf[1].ToString());
                if (Cube1Raus)
                {
                    _wurf = "1" + wert1 + "" + wert2; ValCube2 = wert1; ValCube3 = wert2;
                }
                if (Cube2Raus)
                {
                    _wurf = "" + wert1 + "1" + wert2; ValCube1 = wert1; ValCube3 = wert2;
                }
                if (Cube3Raus)
                {
                    _wurf = wert1 + "" + wert2 + "1"; ValCube1 = wert1; ValCube2 = wert2;
                }
            }
            if (wurfZahl == 1)
            {
                int wert1 = Int32.Parse(_wurf[0].ToString());
                if (Cube1Raus && Cube2Raus)
                {
                    _wurf = "11" + wert1; ValCube3 = wert1;
                }
                if (Cube2Raus && Cube3Raus)
                {
                    _wurf = wert1 + "11"; ValCube1 = wert1;
                }
                if (Cube1Raus && Cube3Raus)
                {
                    _wurf = "1" + wert1 + "1"; ValCube2 = wert1;
                }
            }

            SetCubeImages(_wurf);
            LblAnzahl.Content = (AnzahlErlaubteWuerfe - AnzahlWuerfe) > 1 ? "Noch " + (AnzahlErlaubteWuerfe - AnzahlWuerfe) + " Würfe" : "Noch " + (AnzahlErlaubteWuerfe - AnzahlWuerfe) + " Wurf";
        }