public int gogogo(HandleTcpClient.TcpServer tcpServerObj, Contest contestObj, string infoStringforJudges, string PointString, int contestfinished) { Thread.Sleep(1000); if (tcpServerObj.ListHandleTcpClients.Count == 3) { try { for (int j = 0; j < 7; j++) { for (int i = 0; i < contestObj.ContenderList.Count; i++) { infoStringforJudges = (contestObj.ContenderList[i].Name + " " + contestObj.ContenderList[i].Nationality + " " + contestObj.ContenderList[i].ListJumps[j].Jumpstyle + " " + (j + 1)); tcpServerObj.SendToAllClients(infoStringforJudges); lock (tcpServerObj.ListHandleTcpClients) { foreach (var judge in tcpServerObj.ListHandleTcpClients) { PointString = String.Empty; PointString = judge.StreamReader.ReadLine(); Console.WriteLine(PointString); contestObj.ContenderList[i].ListJumps[j].Point += double.Parse(PointString, System.Globalization.NumberStyles.AllowDecimalPoint); } } contestObj.ContenderList[i].ListJumps[j].Point *= contestObj.ContenderList[i].ListJumps[j].jumpDifficulty; //Gångrar antalet poäng från judges med hoppets svårighetsgrad. } } foreach (var item in contestObj.ContenderList) //// mio cambie a commentario ambos foreach loops { item.summeraPoints(); } foreach (var item in contestObj.ContenderList) { Console.WriteLine(item.Name + " " + item.totalPoints); } tcpServerObj.SendToAllClients("Vinnare! : " + contestObj.find_winner() + ": " + contestObj.find_winners_score() + "p"); tcpServerObj.SendToAllClients("quit"); } catch (Exception excep) { Console.WriteLine(excep); } finally { Thread.Sleep(5000); tcpServerObj.KillThreads(); } return(contestfinished = 1); } else { return(0); } }
private void buttonStartContest_Click(object sender, EventArgs e) // hämtar all tävlingsinformation och lägger det i contest objekt till judgeclient { Contest _contest = new Contest(); int underJudging; int contestFinished = 0; String infoStringforJudges = String.Empty, PointString = String.Empty; if (File.Exists(contestComboBox.Text + ".txt")) { string firstline; using (StreamReader sr = new StreamReader(contestComboBox.Text + ".txt")) { firstline = sr.ReadLine(); string[] holder = firstline.Split(';'); underJudging = Convert.ToInt32(holder[4]); contestFinished = Convert.ToInt32(holder[5]); } if (underJudging == 0 && contestFinished == 0) { using (StreamReader sr = new StreamReader(contestComboBox.Text + ".txt")) { string line = ""; line = sr.ReadLine(); string[] holder = line.Split(';'); _contest.Name = holder[0]; _contest.Date = holder[1]; _contest.GenderContest = holder[2]; _contest.Jumpheight = Convert.ToInt32(holder[3]); underJudging = Convert.ToInt32(holder[4]); contestFinished = Convert.ToInt32(holder[5]); while ((line = sr.ReadLine()) != null && line.CompareTo("") != 0) { Contender _contender = new Contender(); holder = line.Split(';'); _contender.Name = holder[0]; _contender.Id = Convert.ToInt32(holder[1]); _contender.Nationality = holder[2]; for (int i = 3; i < holder.Length; i = i + 2) { Jump _jump = new Jump(); _jump.Jumpstyle = holder[i]; _jump.jumpDifficulty = double.Parse(holder[i + 1], CultureInfo.InvariantCulture); _contender.add_jump(_jump); } _contest.add_contender(_contender); } _contest.printContest(); } string[] lines = File.ReadAllLines(contestComboBox.Text + ".txt"); using (StreamWriter sw = new StreamWriter(contestComboBox.Text + ".txt")) { string[] holder = firstline.Split(';'); holder[5] = "1"; for (int i = 0; i < lines.Length; i++) { if (i == 0) { sw.WriteLine(holder[0] + ";" + holder[1] + ";" + holder[2] + ";" + holder[3] + ";" + holder[4] + ";" + holder[5]); } else { sw.WriteLine(lines[i]); } } } HandleTcpClient.TcpServer server = HandleTcpClient.TcpServer.Instance(); // mio Startar servern och börjar lyssna efter domarklienter StartContest start = new StartContest(); while (contestFinished == 0) //När tävlingen är avslutad skickar funktionen ut en etta för att avbryta while loopen. { contestFinished = start.gogogo(server, _contest, infoStringforJudges, PointString, contestFinished); } } else if (underJudging == 1) { MessageBox.Show("Tävlingen pågår redan", "Starta tävling", MessageBoxButtons.OK); } else if (contestFinished == 1) { MessageBox.Show("Tävlingen är redan avslutad", "Starta tävling", MessageBoxButtons.OK); } else { MessageBox.Show("Tävling finns inte", "Starta tävling", MessageBoxButtons.OK); } } }