// Visualiseer een afgelegde fase met de gegevens opgehaald uit de database. private void _maakAfgelegdeFase(DataRowCollection WedstrijdFase) { SolidBrush kwastWinnaar = new SolidBrush(Color.LightGreen); SolidBrush kwastVerliezer = new SolidBrush(Color.LightCoral); SolidBrush kwastVeld = new SolidBrush(Color.DarkOrange); Font font = new Font(FontFamily.GenericSansSerif, 10); float lengteVeld = 280; float breedteVeld = 600; float offsetX = breedteVeld / 8; float offsetY = lengteVeld / (WedstrijdFase.Count * 2); float positieX = AfvalFase == 1 ? 0 : offsetX * (AfvalFase - 1); float positieY = offsetY; foreach (DataRow wedstrijd in WedstrijdFase) { // winnaar tekenen op het ui Papier.DrawString(wedstrijd["Winnaar"].ToString() + " | " + wedstrijd["Eindstand"].ToString().Split('|').First(), font, kwastWinnaar, positieX, positieY - (offsetY * (float)0.5)); // veld toevoegen tussen bijde namen van spelers Papier.DrawString(wedstrijd["Velden_Naam"].ToString(), font, kwastVeld, positieX, positieY); // tellers + positie updaten. positieY += (offsetY); // verliezer tekenen op het ui Papier.DrawString(wedstrijd["Verliezer"].ToString() + " | " + wedstrijd["Eindstand"].ToString().Split('|').Last(), font, kwastVerliezer, positieX, positieY - (offsetY * (float)0.5)); // tellers + positie updaten. positieY += offsetY; } // gelijk geheugen van items legen. kwastWinnaar.Dispose(); kwastVerliezer.Dispose(); kwastVeld.Dispose(); }
// Visualiseer een nog niet afgelegde fase waarvoor automatisch nieuwe datarows voor de database tafel wedstrijden gemaakt moet worden. private void _maakActieveFase(List <string> spelers) { // datarowcollection leeg gooien om problemen te voorkomen. WedstrijdFase.Clear(); SolidBrush kwastSpeler = new SolidBrush(Color.Silver); SolidBrush kwastVeld = new SolidBrush(Color.DarkOrange); Font font = new Font(FontFamily.GenericSansSerif, 11); float lengteVeld = 280; float breedteVeld = 600; float offsetX = breedteVeld / 8; float offsetY = spelers.Count() == 1 ? lengteVeld / 2 : lengteVeld / spelers.Count(); float positieX = AfvalFase == 1 ? 0 : offsetX * (AfvalFase - 1); float positieY = offsetY; // check als het de tweede speler is voor de if in de for loop. int veldTeller = 2; // wijst een specifiek veld aan in de `velden` `list`. int VeldTeller = 0; int nummer = 1; foreach (string speler in spelers) { if (spelers.Count() == 1) { // spelers tekenen op ui Papier.DrawString(speler, font, kwastSpeler, positieX, positieY); break; } // spelers tekenen op ui Papier.DrawString(speler, font, kwastSpeler, positieX, positieY - (offsetY * (float)0.5)); if (veldTeller == 2) { // check als er een veld in de `List` bestaat met het opgegeven index, // als dit niet zo is wordt de variabele die het index aanwijst gereset naar nul. if (VeldTeller.Equals(velden.Count)) { VeldTeller = 0; } if (velden.Count != 0) { // veld toevoegen tussen bijde namen van spelers Papier.DrawString(velden[VeldTeller], font, kwastVeld, positieX, positieY); // datarow toevoegen WedstrijdFase.Add(Naam, AfvalFase, nummer, velden[VeldTeller], "", "", ""); } else { // als er geen velden meegegeven wordt kan wordt het niet wegeschreven naar de fase datarow collectie. WedstrijdFase.Add(Naam, AfvalFase, nummer, null, "", "", ""); } // tellers updaten veldTeller = 0; VeldTeller++; nummer++; } // tellers + positie updaten. veldTeller++; positieY += offsetY; } // gelijk geheugen van items legen. kwastSpeler.Dispose(); kwastVeld.Dispose(); }