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); } }
//--------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); } }