private void btn_beitreten_Click(object sender, RoutedEventArgs e)
        {
            if (Spieler_name.Text == "" || Spieler_name.Text == "Gib einen Spielernamen ein" || Spieler_name.Text.Length > 20)
            {
                MessageBox.Show("Gegen sie einen gültigen Namen ein!", "Fehler", MessageBoxButton.OK);
                Spieler_name.Focus();
                return;
            }

            if (Spieler_name.Text.Contains(","))
            {
                MessageBox.Show("Der Spielername darf kein \",\"enthalten", "Fehler", MessageBoxButton.OK);
                Spieler_name.Focus();
                return;
            }
            if (ausgewählten_Host.freie_plätze > 0)
            {
                string message = "Clientanfrage," + Spieler_name.Text + "," + Statische_Variablen.eigene_IPAddresse.ToString() + "," + ausgewählte_Farbe;
                Netzwerkkommunikation.Send_TCP_Packet(message, ausgewählten_Host.host_ip);
                //Warten auf zusage
                Netzwerkkommunikation.Start_TCP_Listener();
                if (Statische_Variablen.anfragen_result == true)
                {
                    Task tcp_listener = Task.Factory.StartNew(Sart_TCP_Listener);
                    btn_beitreten.IsEnabled = false;
                    Spieler_name.IsEnabled  = false;
                    RB_blau.IsEnabled       = false;
                    RB_gelb.IsEnabled       = false;
                    RB_gruen.IsEnabled      = false;
                    RB_blau.IsEnabled       = false;
                    btn_Abbrechen.IsEnabled = true;
                    Hosts.IsEnabled         = false;
                }
            }
        }
 private void btn_Abbrechen_Click(object sender, RoutedEventArgs e)
 {
     if (ausgewählten_Host != null)
     {
         Netzwerkkommunikation.Send_TCP_Packet("Clientabsage," + Statische_Variablen.eigene_IPAddresse.ToString(), ausgewählten_Host.host_ip);
     }
     btn_Abbrechen.IsEnabled = false;
     btn_beitreten.IsEnabled = true;
     Spieler_name.IsEnabled  = true;
     RB_blau.IsEnabled       = true;
     RB_gelb.IsEnabled       = true;
     RB_gruen.IsEnabled      = true;
     RB_blau.IsEnabled       = true;
     Hosts.IsEnabled         = true;
 }
Пример #3
0
 public void Text_in_Chat_senden(string spielername)
 {
     active_chat.Text += "\n" + spielername + ": " + Chat_eingabe.Text;
     if (aktiver_chat_spieler != null)
     {
         Netzwerkkommunikation.Send_TCP_Packet("Chatinformationen," + Chat_eingabe.Text, aktiver_chat_spieler.ip);
     }
     else
     {
         Netzwerkkommunikation.Sende_TCP_Nachricht_an_alle_Spieler("Chatinformationen," + Chat_eingabe.Text);
     }
     active_chat.ScrollToEnd();
     Chat_eingabe.Text = "";
     Chat_eingabe.Focus();
 }
        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);
            }
        }