public Rodada jogadaAtual(Rodada rodadaAnterior, Baralho pilhaCompra) { Rodada rodada = new Rodada(); if (rodadaAnterior.Resultado == ResultadoRodada.Pular || rodadaAnterior.Resultado == ResultadoRodada.CompraDois || rodadaAnterior.Resultado == ResultadoRodada.CompraQuatro) { return(Ataque(rodadaAnterior.carta, pilhaCompra)); } else if ((rodadaAnterior.Resultado == ResultadoRodada.TrocaCor || rodadaAnterior.Resultado == ResultadoRodada.CompraIndireta || rodadaAnterior.Resultado == ResultadoRodada.Comprarjogar) && valorCorrespondente(rodadaAnterior.corDeclarada)) { rodada = jogandoCartas(rodadaAnterior.corDeclarada); } else if (valorCorrespondente(rodadaAnterior.carta)) { rodada = jogandoCartas(rodadaAnterior.carta); } else //Compra carta e verifica se poder ser jogada { rodada = comprarCarta(rodadaAnterior, pilhaCompra); } exibirRodada(rodada); return(rodada); }
private Rodada Ataque(Carta descarteAtual, Baralho pilhaDescarte) { Rodada rodada = new Rodada(); rodada.Resultado = ResultadoRodada.CompraIndireta; rodada.carta = descarteAtual; rodada.corDeclarada = descarteAtual.Cor; if (descarteAtual.Valor == ValorCarta.Pular) { Console.WriteLine("Jogador: " + Posicao.ToString() + " Bloqueado"); return(rodada); } else if (descarteAtual.Valor == ValorCarta.CompraDois) { Console.WriteLine("Jogador " + Posicao.ToString() + " Comprou 2 cartas"); deck.AddRange(pilhaDescarte.Compra(2)); } else if (descarteAtual.Valor == ValorCarta.CompraQuatro) { Console.WriteLine("Jogador " + Posicao.ToString() + " Comprou 4 cartas"); deck.AddRange(pilhaDescarte.Compra(4)); } return(rodada); }
private Rodada comprarCarta(Rodada rodadaAnterior, Baralho pilhaDescarte) { Rodada rodada = new Rodada(); var compraCarta = pilhaDescarte.Compra(1); deck.AddRange(compraCarta); if (valorCorrespondente(rodadaAnterior.carta)) { rodada = jogandoCartas(rodadaAnterior.carta); rodada.Resultado = ResultadoRodada.Compra; } else { rodada.Resultado = ResultadoRodada.Comprarjogar; rodada.carta = rodadaAnterior.carta; } return(rodada); }
public Jogando(int qtdPlayers) { Jogadores = new List <Player>(); pilhaCompra = new Baralho(); pilhaCompra.Embaralhar(); for (int i = 0; i < qtdPlayers; i++) { Jogadores.Add(new Player { Posicao = i }); } int maximoDeCartas = 7 * Jogadores.Count; int cartasJogadas = 0; while (cartasJogadas < maximoDeCartas) { for (int i = 0; i < qtdPlayers; i++) { Jogadores[i].deck.Add(pilhaCompra.Cartas.First()); pilhaCompra.Cartas.RemoveAt(0); cartasJogadas++; } } pilhaDescarte = new List <Carta>(); pilhaDescarte.Add(pilhaCompra.Cartas.First()); pilhaCompra.Cartas.RemoveAt(0); while (pilhaDescarte.First().Valor == ValorCarta.TrocaCor || pilhaDescarte.First().Valor == ValorCarta.CompraQuatro) { pilhaDescarte.Insert(0, pilhaCompra.Cartas.First()); pilhaCompra.Cartas.RemoveAt(0); } }