public static void Spielfigur_Update(string nachricht) { // // Die Informationen müssen folgendes Schema haben: "Spielfigur Update,<Farbe>,<Figur Nr>,<zielfeld_Position_X>,<zielfeldposition_Y>" // string[] informationen = Konvertiere_in_Stringarray(nachricht, 4); int x = Convert.ToInt32(informationen[2]); int y = Convert.ToInt32(informationen[3]); switch (Statische_Methoden.Erkenne_Farbe(informationen[0])) { case FARBE.ROT: { foreach (Figur figur in spieler_rot) { if (figur.id == Convert.ToInt32(informationen[1])) { figur.Set_Figureposition(Statische_Methoden.Finde_Feld(x, y)); } } break; } case FARBE.GELB: { foreach (Figur figur in spieler_gelb) { if (figur.id == Convert.ToInt32(informationen[1])) { figur.Set_Figureposition(Statische_Methoden.Finde_Feld(x, y)); } } break; } case FARBE.GRUEN: { foreach (Figur figur in spieler_gruen) { if (figur.id == Convert.ToInt32(informationen[1])) { figur.Set_Figureposition(Statische_Methoden.Finde_Feld(x, y)); } } break; } case FARBE.BLAU: { foreach (Figur figur in spieler_blau) { if (figur.id == Convert.ToInt32(informationen[1])) { figur.Set_Figureposition(Statische_Methoden.Finde_Feld(x, y)); } } break; } } }
public static void Spielstart(string nachricht) { // // Die Informationen müssen folgendes Schema haben: "Spielstart,<Name_S1>,<ip_S1>,<farbe_S1>,<Name_S2>,<ip_S2>,<farbe_S2>,<Name_S3>,<ip_S3>,<farbe_S3>,<Name_S4>,<ip_S4>,<farbe_S4>,<start_farbe>" // string[] Spieler = Konvertiere_in_Stringarray(nachricht, 12); if (Spieler[0] != "Geschlossen") { new Spieler(Statische_Methoden.Erkenne_Farbe(Spieler[2]), Spieler[0], Statische_Methoden.Erkenne_Spielerart(Spieler[0]), IPAddress.Parse(Spieler[1])); } if (Spieler[3] != "Geschlossen") { new Spieler(Statische_Methoden.Erkenne_Farbe(Spieler[5]), Spieler[3], Statische_Methoden.Erkenne_Spielerart(Spieler[3]), IPAddress.Parse(Spieler[4])); } if (Spieler[6] != "Geschlossen") { new Spieler(Statische_Methoden.Erkenne_Farbe(Spieler[8]), Spieler[6], Statische_Methoden.Erkenne_Spielerart(Spieler[6]), IPAddress.Parse(Spieler[7])); } if (Spieler[9] != "Geschlossen") { new Spieler(Statische_Methoden.Erkenne_Farbe(Spieler[11]), Spieler[9], Statische_Methoden.Erkenne_Spielerart(Spieler[9]), IPAddress.Parse(Spieler[10])); } foreach (Spieler spieler in alle_Spieler) { if (spieler.farbe == Statische_Methoden.Erkenne_Farbe(Spieler[12])) { spieler.status = true; } } }
public void bild_Click(object o, System.Windows.Input.MouseButtonEventArgs e) { if (mögliche_Position != null) { Set_Figureposition(mögliche_Position); Netzwerkkommunikation.Sende_TCP_Nachricht_an_alle_Spieler("Spielfigur Update," + Statische_Methoden.Konvertiere_FARBE_zu_string(this.farbe) + "," + this.id + "," + aktuelle_Position.position.X + "," + aktuelle_Position.position.Y); Statische_Methoden.Figur_wurde_bewegt(); } }
// ALTE VERSION DER FORWARD FUNKTION --> //public static void Forward_Spielrecht() //{ // aktiver_spieler.status = false; // if (aktiver_spieler.nächster_Spieler.spieler_art == SPIELER_ART.NORMALER_SPIELER && aktiver_spieler.nächster_Spieler.ip.Address != eigene_IPAddresse.Address) Netzwerkkommunikation.Sende_TCP_Nachricht_an_alle_Spieler("Spielrecht," + aktiver_spieler.nächster_Spieler.name); // else // { // aktiver_spieler.nächster_Spieler.status = true; // aktiver_spieler = aktiver_spieler.nächster_Spieler; // if (aktiver_spieler.spieler_art == SPIELER_ART.NORMALER_SPIELER) Würfel.Dispatcher.Invoke(new Click_Event(Würfel_einschalten)); // verbleibende_würfelversuche = 3; // } //} public static string Erstelle_Startnachricht_für_clients() { string message = "Spielstart"; int rest = alle_Spieler.Count; foreach (Spieler spieler in alle_Spieler) { message += "," + spieler.name + "," + spieler.ip.ToString() + "," + Statische_Methoden.Konvertiere_FARBE_zu_string(spieler.farbe); } switch (rest) { case 2: message += ",Geschlossen,_,_,Geschlossen,_,_"; break; case 3: message += ",Geschlossen,_,_"; break; } int s = Statische_Methoden.Ermittle_start_Spieler(); if (s > 0) { alle_Spieler[s].status = true; message += "," + Statische_Methoden.Konvertiere_FARBE_zu_string(alle_Spieler[s].farbe); } return(message); }
public void Initialisiere_Figuren() { this.eigene_Figuren = Statische_Methoden.Initialisiere_Figuren(this.farbe); }
public static void Anlaysiere_IP_Paket(string nachricht) { if (nachricht.Contains("Hostinformationen") && aktive_Seite == AKTIVE_SEITE.SPIEL_SUCHEN) { string temp = nachricht.Replace("Hostinformationen,", ""); Update_Hostinformationen(temp); } else if (nachricht.Contains("Hostabsage") && aktive_Seite == AKTIVE_SEITE.SPIEL_SUCHEN) { anfragen_result = false; } else if (nachricht.Contains("Hostzusage") && aktive_Seite == AKTIVE_SEITE.SPIEL_SUCHEN) { anfragen_result = true; } else if (nachricht.Contains("Spielstart") && aktive_Seite == AKTIVE_SEITE.SPIEL_SUCHEN) { string temp = nachricht.Replace("Spielstart,", ""); Spielstart(temp); Spiel_suchen_Grid.Dispatcher.Invoke(new Hosts_Update(Spiel_suchen_Spiel_starten)); } else if (nachricht.Contains("Spielende") && aktive_Seite == AKTIVE_SEITE.SPIELWIESE) { string temp = nachricht.Replace("Spielende,", ""); Statische_Methoden.Spielende(); Aufgeben.Dispatcher.Invoke(new Ende(Statische_Methoden.Spielende)); } else if (nachricht.Contains("Clientanfrage") && aktive_Seite == AKTIVE_SEITE.SPIEL_ERSTELLEN) { string temp = nachricht.Replace("Clientanfrage,", ""); Clientanfrage(temp); } else if (nachricht.Contains("Clientabsage") && aktive_Seite == AKTIVE_SEITE.SPIEL_ERSTELLEN) { string temp = nachricht.Replace("Clientabsage,", ""); Clientabsage(temp); } else if (nachricht.Contains("Chatinformationen") && aktive_Seite == AKTIVE_SEITE.SPIELWIESE) { string temp = nachricht.Replace("Chatinformationen,", ""); Update_Chatinformationen(temp); } else if (nachricht.Contains("Spielrecht") && aktive_Seite == AKTIVE_SEITE.SPIELWIESE) { string temp = nachricht.Replace("Spielrecht,", ""); if (nachricht.Contains(lokaler_spieler.name)) { lokaler_spieler.status = true; Würfel.Dispatcher.Invoke(new Hosts_Update(Aktiviere_Würfel)); verbleibende_würfelversuche = 3; } aktiver_Spieler.Dispatcher.Invoke(new LabelUpdate(LabelUpdate_aktiver_Spieler), temp); } else if (nachricht.Contains("Spielfigur Update") && aktive_Seite == AKTIVE_SEITE.SPIELWIESE) { string temp = nachricht.Replace("Spielfigur Update,", ""); Spielfigur_Update(temp); } else if (nachricht.Contains("Wuerfelzahl") && aktive_Seite == AKTIVE_SEITE.SPIELWIESE) { string temp = nachricht.Replace("Wuerfelzahl,", ""); Würfel.Dispatcher.Invoke(new Würfelupdate(Würfel_update), nachricht.Last().ToString()); } else if (nachricht.Contains("Client_abbruch")) { string temp = nachricht.Replace("Client_abbruch,", ""); int index = -1; foreach (Spieler sp in alle_Spieler) { if (sp.name == temp) { index = alle_Spieler.IndexOf(sp); } } foreach (Figur fig in alle_Spieler[index].eigene_Figuren) { fig.Set_Figure_to_Start(); } if (index > -1) { alle_Spieler.RemoveAt(index); } } }