Exemplo n.º 1
0
 private string GetVrijVeld(int[] data, Spelbord spelbord)
 {
     for (int i = 0; i < data.Length; i++)
     {
         int index = data[i];
         if (spelbord.VeldIsVrij(spelbord.GetRaster()[index].ToString()))
         {
             return((index + 1).ToString());
         }
     }
     return("");
 }
Exemplo n.º 2
0
        public string DoeZet(Spelbord spelbord, char symboolSpeler, char symboolComputer)
        {
            //check twee-in-een rij van computer zelf
            string zet = spelbord.CheckTweeInEenRij(symboolComputer);

            if (zet.Length > 0)
            {
                return(zet);
            }

            //check twee-in-een rij van speler
            zet = spelbord.CheckTweeInEenRij(symboolSpeler);
            if (zet.Length > 0)
            {
                return(zet);
            }

            //voorkom dat speler drie op een rij krijgt
            if (spelbord.GetRaster()[4] == '5')
            {
                return("5");
            }

            // indien eerste zet pak hoekpunt
            if (!spelbord.BevatSymbool(symboolComputer))
            {
                int[]  data   = new int[] { 0, 2, 6, 8 };
                string result = GetVrijVeld(data, spelbord);
                if (result.Length > 0)
                {
                    return(result);
                }
            }

            // volgende zetten pak niet-hoekpunt
            else
            {
                int[]  data   = new int[] { 1, 3, 5, 7 };
                string result = GetVrijVeld(data, spelbord);
                if (result.Length > 0)
                {
                    return(result);
                }
            }
            // alle andere gevallen doe een willekeurige zet
            return(spelbord.EersteVrijeVeld());
        }