public Spieler[] t2list = new Spieler[0]; //Liste für Team2 //fügt dem Array ein Objekt (Spieler) hinzu public void AddSpieler(Spieler s) { //Interne Variable int anz = slist.Length; Array.Resize(ref slist, anz + 1); //Platz für Spieler in der Liste machen slist[anz] = s; //Spieler hinzufügen }
//Methode um 2 Spieler aus einem übergebenen Array auszuwählen und in ein anderes zu übergeben private void ZweiAuswählen(ref Spieler[] sEingabe, ref Spieler[] sAusgabe, out int mittelwertausgabe) { //interne Varibalen Spieler s1 = sEingabe[0]; Spieler s2; int mittelwert = Mittelwert(sEingabe); int abwmittelwerts1, abwmittelwerts2; //------------------------------------------Erster Spieler----------------------------------------------------------------- //Wahl des ersten Spielers anhand der gespielten Spiele wenn jeder das gleiche -> erster Spieler im Array for (int i = 0; i < sEingabe.Length - 1; i++) { if (sEingabe[i].AnzGamesSpieler > sEingabe[i + 1].AnzGamesSpieler) { s1 = sEingabe[i + 1]; } } //Arraygröße des Ausgabe-Arrays um 1 erhöhen Array.Resize(ref sAusgabe, sAusgabe.Length + 1); //ausgewählter Spieler wird in Ausgabe-Array übertragen sAusgabe[sAusgabe.Length - 1] = s1; abwmittelwerts1 = mittelwert - s1.sr;//Abweichung des ersten Spieler vom Mittelwert ermitteln //Spieler aus Eingabe-Array löschen Array.Clear(sEingabe, Array.IndexOf(sEingabe, s1), 1); //Index vom Minimum suchen und Löschen for (int i = Array.IndexOf(sEingabe, null); i < sEingabe.Length - 1; i++) //von gelöschten index an Elemente nachrücken lassen { sEingabe[i] = sEingabe[i + 1]; } Array.Resize(ref sEingabe, sEingabe.Length - 1);//Eingabe-Arraygröße um 1 verringern //------------------------------------------Zweiter Spieler----------------------------------------------------------------- s2 = sEingabe[0]; //erst nach dem löschen des 1. Spielers den Spieler 2 deklarieren mittelwert = Mittelwert(sEingabe); //Mittelwert neu berechnen lassen for (int i = 0; i < sEingabe.Length - 1; i++) //Eingabe-Array durchgehen { abwmittelwerts2 = mittelwert - sEingabe[i].sr; //Abweichung des Spielers vom Mittelwert ermitteln //wenn "die Abweichung vom Mittelwerts des Spielers + die Abweichung des ersten Spielers in absoluten Zahlen" > "die Abweichung vom Mittelwerts des nächsten Spielers + die Abweichung des ersten Spielers in absoluten Zahlen" if (Math.Abs(abwmittelwerts1 + abwmittelwerts2) > Math.Abs(abwmittelwerts1 + (mittelwert - sEingabe[i + 1].sr))) { s2 = sEingabe[i + 1];//Spieler mit passenden Wert wird vermerkt } } //Arraygröße des Ausgabe-Arrays um 1 erhöhen Array.Resize(ref sAusgabe, sAusgabe.Length + 1); //ausgewählter Spieler wird in Ausgabe-Array übertragen sAusgabe[sAusgabe.Length - 1] = s2; //Spieler aus Eingabe-Array löschen Array.Clear(sEingabe, Array.IndexOf(sEingabe, s2), 1); //Index vom Minimum suchen und Löschen for (int i = Array.IndexOf(sEingabe, null); i < sEingabe.Length - 1; i++) //von gelöschten index an Elemente nachrücken lassen { sEingabe[i] = sEingabe[i + 1]; } Array.Resize(ref sEingabe, sEingabe.Length - 1);//Eingabe-Arraygröße um 1 verringern mittelwertausgabe = Mittelwert(sAusgabe); }