Ejemplo n.º 1
0
        // 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();
        }
Ejemplo n.º 2
0
        // 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();
        }