Exemple #1
0
        //Movimentos da IA.
        public bool IAmove(Jogo obj, int turno, char Simbolo, out int posL, out int posC)
        {
            posL = 0;
            posC = 0;

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    if (obj.tabuleiro[i, j] == '-')
                    {
                        obj.tabuleiro[i, j] = Simbolo;
                        if (!obj.VerficiaVencedor(turno))
                        {
                            obj.tabuleiro[i, j] = '-';
                            posL = i;
                            posC = j;
                            continue;
                        }
                        else if (obj.VerficiaVencedor(turno))
                        {
                            obj.tabuleiro[i, j] = '-';
                            posL = i;
                            posC = j;
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Exemple #2
0
        public static void Main(string[] args)
        {
            Console.BackgroundColor = ConsoleColor.DarkGray;
            Console.ForegroundColor = ConsoleColor.Black;

            Jogo   novojogo = new Jogo();
            Player Jogador  = new Player();
            CPU    IA       = new CPU();
            string resp     = "S";

            while (resp == "S")
            {
                Console.Clear();

                if (resp == "S")
                {
                    novojogo.CriaTabuleiro();
                    novojogo.PrintaTabuleiro();
                    int turno = 0;

                    while (!novojogo.gameOver)
                    {
                        turno++;
                        Jogador.VezJogador(novojogo);

                        if (!novojogo.VerficiaVencedor(turno))
                        {
                            turno++;
                            IA.VezIA(novojogo, turno);
                            novojogo.VerficiaVencedor(turno);
                        }
                        else
                        {
                            Console.Clear();
                            novojogo.VerficiaVencedor(turno);
                            novojogo.PrintaTabuleiro();
                        }
                    }

                    resp = "A";
                }
                Console.WriteLine("Fim de Jogo!\nQuer jogar novamente? S\\N");

                while (resp != "S" && resp != "N")
                {
                    if (resp != "S" && resp != "N")
                    {
                        Console.WriteLine("Responda apenas com S ou N!");
                    }
                    resp = Convert.ToString(Console.ReadLine());
                    resp = resp.ToUpper();
                }
            }
            Console.Write("Aperte qualquer tecla para continuar . . . ");
            Console.ReadKey(true);
        }