示例#1
0
        public bool checkHorizontal(int rijZet, int kolomZet)
        {
            //Horizontal


            //Check right line -> +++++ Als er minimaal 1 van de andere kleur naast zit.

            try
            {
                if (Bord[rijZet, kolomZet + 1] != Kleur.Geen && Bord[rijZet, kolomZet + 1] != AandeBeurt)
                {
                    for (int x = kolomZet + 2; x < Bord.GetLength(0); x++)
                    {
                        if (Bord[rijZet, x] == AandeBeurt)
                        {
                            typeZet = ZetType.HR;
                            return(true);
                        }
                        else if (Bord[rijZet, x] == Kleur.Geen)
                        {
                            break;
                        }
                    }
                }
            }catch (Exception e) { }
            //Check left line -> ---- Als er minimaal 1 van de andere kleur naast zit.
            try
            {
                if (Bord[rijZet, kolomZet - 1] != Kleur.Geen && Bord[rijZet, kolomZet - 1] != AandeBeurt)
                {
                    for (int x = kolomZet - 2; x >= 0; x--)
                    {
                        if (Bord[rijZet, x] == AandeBeurt)
                        {
                            typeZet = ZetType.HL;
                            return(true);
                        }
                        else if (Bord[rijZet, x] == Kleur.Geen)
                        {
                            break;
                        }
                    }
                }
            }catch (Exception e) { }
            return(false);
        }
示例#2
0
        public bool checkVertical(int rijZet, int kolomZet)
        {
            //Vertical

            try
            {
                //Check beneath line -> +++++ Als er minimaal 1 van de andere kleur naast zit.
                if (Bord[rijZet + 1, kolomZet] != Kleur.Geen && Bord[rijZet + 1, kolomZet] != AandeBeurt)
                {
                    for (int y = rijZet + 2; y < Bord.GetLength(0); y++)
                    {
                        if (Bord[y, kolomZet] == AandeBeurt)
                        {
                            typeZet = ZetType.VO;
                            return(true);
                        }
                        else if (Bord[y, kolomZet] == Kleur.Geen)
                        {
                            break;
                        }
                    }
                }
            } catch (Exception e) { }
            //above line -> ---- Als er minimaal 1 van de andere kleur naast zit.

            try
            {
                if (Bord[rijZet - 1, kolomZet] != Kleur.Geen && Bord[rijZet - 1, kolomZet] != AandeBeurt)
                {
                    for (int y = kolomZet - 2; y >= 0; y--)
                    {
                        if (Bord[y, kolomZet] == AandeBeurt)
                        {
                            typeZet = ZetType.VB;
                            return(true);
                        }
                        else if (Bord[y, kolomZet] == Kleur.Geen)
                        {
                            break;
                        }
                    }
                }
            } catch (Exception e) { }
            return(false);
        }
示例#3
0
        public bool checkDiagnol(int rijZet, int kolomZet)
        {
            //Eerst van linksboven naar rechtsonder

            //Check de positie linksboven, catch die als de positie kleiner is dan 0
            try
            {
                if (Bord[rijZet - 1, kolomZet - 1] != Kleur.Geen && Bord[rijZet - 1, kolomZet - 1] != AandeBeurt)
                {
                    int x = kolomZet - 2;
                    int y = rijZet - 2;

                    while (x >= 0 && y >= 0)
                    {
                        if (Bord[y, x] == AandeBeurt)
                        {
                            typeZet = ZetType.DLB;
                            return(true);
                        }
                        else if (Bord[y, x] == Kleur.Geen)
                        {
                            break;
                        }


                        x--;
                        y--;
                    }
                }
            }
            catch (Exception e) { }

            //Check de positie rechtsonder, catch die als de positie groter is dan het bord
            try
            {
                if (Bord[rijZet + 1, kolomZet + 1] != Kleur.Geen && Bord[rijZet + 1, kolomZet + 1] != AandeBeurt)
                {
                    int x = kolomZet + 2;
                    int y = rijZet + 2;

                    while (x < Bord.GetLength(0) && y < Bord.GetLength(0))
                    {
                        if (Bord[y, x] == AandeBeurt)
                        {
                            typeZet = ZetType.DRO;
                            return(true);
                        }
                        else if (Bord[y, x] == Kleur.Geen)
                        {
                            break;
                        }


                        x++;
                        y++;
                    }
                }
            }
            catch (Exception e) { }

            //Dan van rechtsboven naar linksonder.

            //Check de positie rechtsboven, catch die als de positie kleiner is dan 0
            try
            {
                if (Bord[rijZet - 1, kolomZet + 1] != Kleur.Geen && Bord[rijZet - 1, kolomZet + 1] != AandeBeurt)
                {
                    int x = kolomZet + 2;
                    int y = rijZet - 2;

                    while (x < Bord.GetLength(0) && y >= 0)
                    {
                        if (Bord[y, x] == AandeBeurt)
                        {
                            typeZet = ZetType.DRB;
                            return(true);
                        }
                        else if (Bord[y, x] == Kleur.Geen)
                        {
                            break;
                        }


                        x++;
                        y--;
                    }
                }
            }
            catch (Exception e) { }

            //Check de positie linksonder, catch die als de positie groter is dan het bord
            try
            {
                if (Bord[rijZet + 1, kolomZet - 1] != Kleur.Geen && Bord[rijZet + 1, kolomZet - 1] != AandeBeurt)
                {
                    int x = kolomZet - 2;
                    int y = rijZet + 2;

                    while (x >= 0 && y < Bord.GetLength(0))
                    {
                        if (Bord[y, x] == AandeBeurt)
                        {
                            typeZet = ZetType.DLO;
                            return(true);
                        }
                        else if (Bord[y, x] == Kleur.Geen)
                        {
                            break;
                        }


                        x--;
                        y++;
                    }
                }
            }
            catch (Exception e) { }

            return(false);
        }