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());
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Spelbord spelbord        = new Spelbord();
            Computer computer        = new Computer();
            string   speler1         = "";
            string   speler2         = "";
            char     symboolComputer = 'O';
            char     symboolSpeler   = 'X';

            Intro();
            string spelkeuze = SpelTypeKeuze();

            Console.WriteLine();
            Console.WriteLine("Speler 1, hoe heet je?");
            speler1 = Console.ReadLine();
            if (spelkeuze == "2")
            {
                Console.WriteLine("Speler 2, hoe heet je?");
                speler2 = Console.ReadLine();
            }
            else
            {
                speler2 = "Computer";
            }

            Console.WriteLine("{0} speelt tegen {1}!", speler1, speler2);
            spelbord.ShowRaster();
            Console.WriteLine();
            bool   gewonnen         = false;
            bool   heeftRuimte      = true;
            string speleraandebeurt = StartspelerBepalen(speler1, speler2);
            char   symbool;

            while (!gewonnen && heeftRuimte)
            {
                symbool = (speleraandebeurt == speler1) ? 'X' : 'O';

                string zet = "";
                heeftRuimte = spelbord.SpaceRaster();
                if (heeftRuimte)
                {
                    if (spelkeuze == "1")
                    {
                        if (speleraandebeurt == speler1)
                        {
                            zet = spelbord.DoeZet(speleraandebeurt);
                        }
                        else
                        {
                            zet = computer.DoeZet(spelbord, symboolSpeler, symboolComputer);
                            Console.WriteLine("computer kiest {0}", zet);
                        }
                    }
                    else
                    {
                        zet = spelbord.DoeZet(speleraandebeurt);
                    }
                    spelbord.VerwerkZet(zet, symbool);
                    spelbord.ShowRaster();
                    gewonnen = spelbord.Score(symbool);
                    if (gewonnen)
                    {
                        Console.WriteLine("\nGefeliciteerd {0}!", speleraandebeurt);
                    }
                    speleraandebeurt = (speleraandebeurt == speler1) ? speler2 : speler1;
                }
            }
            if (!gewonnen)
            {
                Console.WriteLine();
                Console.WriteLine("\nGelijkspel");
            }
            Console.WriteLine("Press <ENTER> to EXIT!");
            Console.ReadLine();
        }