/// <summary> /// Monta a lista de mesas com base nas informações anteriores /// </summary> /// <returns>Lista de mesas geradas</returns> public List <Mesa> ObterListaDeMesas() { var mesas = new List <Mesa>(); var idMesa = 1; foreach (var quantidade in _quantidadeJogadoresPorMesa) { if (quantidade < 0 || quantidade > 9) { continue; } Mesa mesa = new Mesa(idMesa); //for (int i = 1; i <= quantidade; i++) //{ // Jogador jogador = new Jogador(i, $"jogador{i}"); // mesa.Jogadores.Add(jogador); //} new JogadorBuilder().Novo().CriarJogadores(quantidade).ObterJogadores().ForEach(j => mesa.Jogadores.Add(j)); mesas.Add(mesa); idMesa++; } foreach (var mesa in mesas) { if (_deveIniciarPartida) { mesa.IniciarPartida(); } if (_deveIniciarMao) { mesa.IniciarMao(); } if (_apostasPosPreFlop) { foreach (var jogador in mesa.JogadoresAtivos) { jogador.AlterarValorFichasApostadasNaRodada(mesa.ApostaAtual); } } if (_deveExecutarFlop) { mesa.Flop(); } if (_deveExecutarTurn) { mesa.Turn(); } if (_deveExecutarRiver) { mesa.River(); } if (!string.IsNullOrEmpty(_jogadaMesa)) { mesa.AlterarExecucaoDeJogadas(_jogadaMesa, _statusJogadaMesa); } } return(mesas); }