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); }
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); }
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); }