Пример #1
0
        public void AdicionarJogada(Guid idPartida)
        {
            if (idPartida == default(Guid))
            {
                throw new ApplicationException("Partida não informada");
            }

            var jogadores = _jogadorRepository.Get();
            var partida   = _partidaRepository.Get(id: idPartida);

            while (partida.IsOn())
            {
                jogadores.ForEach(jogador =>
                {
                    Console.WriteLine($"Jogador {jogador.Nome}:");
                    Console.WriteLine($"Adicione uma Jogada :");

                    var text      = Console.ReadLine();
                    Jogada jogada = null;

                    if (Jogada.Create(text, jogador, ref jogada))
                    {
                        partida.Add(jogada);

                        if (partida.VerificarEmpate())
                        {
                            partida.AdicionarEmpate();
                        }

                        if (partida.VerificarGanhador())
                        {
                            partida.TerminarComVencedor();
                        }

                        Console.WriteLine("\n");
                    }
                    else
                    {
                        partida.Terminar();
                    }
                });
            }
        }