private void btn_spiel_starten_Click(object sender, RoutedEventArgs e)
        {
            //
            //In den If Abfragen wird geprüft ob min 2 gültige spieler da sind und kein slot mehr offen ist und ein Name angegeben wurde.
            //
            int temp = 0;

            if (!Überprüfe_eingabe_Name())
            {
                return;
            }

            if (Prüfe_Startbedingungen(L_Name_Spieler_rot))
            {
                temp++;
            }
            if (Prüfe_Startbedingungen(L_Name_Spieler_gelb))
            {
                temp++;
            }
            if (Prüfe_Startbedingungen(L_Name_Spieler_gruen))
            {
                temp++;
            }
            if (Prüfe_Startbedingungen(L_Name_Spieler_blau))
            {
                temp++;
            }

            if (temp < 2)
            {
                MessageBox.Show("Es müssen mindestens 2 Spieler gegeneinander antreten", "Fehler", MessageBoxButton.OK);
                return;
            }

            if (temp >= 2)
            {
                broadcast_status = false;
                if (L_Name_Spieler_rot.Text.ToString() == "Computergegner")
                {
                    Spieler CP_Gegner1 = new Spieler(FARBE.ROT, "Computergegner 1", SPIELER_ART.COMPUTERGEGNER, new System.Net.IPAddress(0));
                }
                if (L_Name_Spieler_gelb.Text.ToString() == "Computergegner")
                {
                    Spieler CP_Gegner1 = new Spieler(FARBE.GELB, "Computergegner 2", SPIELER_ART.COMPUTERGEGNER, new System.Net.IPAddress(0));
                }
                if (L_Name_Spieler_gruen.Text.ToString() == "Computergegner")
                {
                    Spieler CP_Gegner1 = new Spieler(FARBE.GRUEN, "Computergegner 3", SPIELER_ART.COMPUTERGEGNER, new System.Net.IPAddress(0));
                }
                if (L_Name_Spieler_blau.Text.ToString() == "Computergegner")
                {
                    Spieler CP_Gegner1 = new Spieler(FARBE.BLAU, "Computergegner 4", SPIELER_ART.COMPUTERGEGNER, new System.Net.IPAddress(0));
                }

                Spieler host_spieler = new Spieler(ausgewählte_farbe, Spielername_eingabe.Text, SPIELER_ART.NORMALER_SPIELER, eigene_IPAddresse);
                host_spieler.status = true;

                string client_startmessage = Statische_Methoden.Erstelle_Startnachricht_für_clients();
                foreach (Spieler spieler in alle_Spieler)
                {
                    if (spieler.spieler_art == SPIELER_ART.NORMALER_SPIELER)
                    {
                        Netzwerkkommunikation.Send_TCP_Packet(client_startmessage, spieler.ip);
                    }
                }

                Spielerstellenlabel.Clear();
                root_Frame.Content = new Spielwiese(root_Frame);
            }
        }
Пример #2
0
        //--------Computergegner Runtime-------------//
        private void Computergegener_Runtime(Spieler CP_spieler)
        {
            while (true)
            {
                while (CP_spieler.status)
                {
                    System.Threading.Thread.Sleep(500);
                    Würfel.Dispatcher.Invoke(new Click_Event(Würfel_Click));
                    System.Threading.Thread.Sleep(500);
                    foreach (Figur figur in CP_spieler.eigene_Figuren)
                    {
                        if (figur.mögliche_Position != null)
                        {
                            figur.Set_Figureposition(figur.mögliche_Position);
                            Netzwerkkommunikation.Sende_TCP_Nachricht_an_alle_Spieler("Spielfigur Update," + Statische_Methoden.Konvertiere_FARBE_zu_string(figur.farbe) + "," + figur.id + "," + figur.aktuelle_Position.position.X + "," + figur.aktuelle_Position.position.Y);
                            Figur_wurde_bewegt();

                            break;
                        }
                    }
                    foreach (Figur figur in CP_spieler.eigene_Figuren)
                    {
                        figur.mögliche_Position = null;
                    }
                }
                System.Threading.Thread.Sleep(1000);
            }
        }