public Carta quartoJogar(List <Carta> cartasMesa, Carta manilha) { Carta carta = _mao[0]; if (TrucoAuxiliar.gerarValorCarta(cartasMesa[1], manilha) > TrucoAuxiliar.gerarValorCarta(cartasMesa[0], manilha) && TrucoAuxiliar.gerarValorCarta(cartasMesa[1], manilha) > TrucoAuxiliar.gerarValorCarta(cartasMesa[2], manilha)) { carta = _mao[0]; _mao.RemoveAt(0); } else { Carta maior = null; if (TrucoAuxiliar.gerarValorCarta(cartasMesa[0], manilha) > TrucoAuxiliar.gerarValorCarta(cartasMesa[2], manilha)) { maior = cartasMesa[0]; } else { maior = cartasMesa[2]; } for (int i = 0; i < _mao.Count; i++) { if (TrucoAuxiliar.compara(_mao[i], maior, manilha) > 0) { carta = _mao[i]; _mao.RemoveAt(i); break; } } } return(carta); }
public Carta segundoJogar(List <Carta> cartasMesa, Carta manilha) { Carta carta = _mao[0]; for (int i = 0; i < _mao.Count; i++) { if (TrucoAuxiliar.compara(_mao[i], cartasMesa[0], manilha) > 0) { carta = _mao[i]; _mao.RemoveAt(i); break; } } return(carta); }
public Carta terceiroJogar(List <Carta> cartasMesa, Carta manilha) { Carta carta = _mao[0]; if (TrucoAuxiliar.gerarValorCarta(cartasMesa[0], manilha) > TrucoAuxiliar.gerarValorCarta(cartasMesa[1], manilha)) { carta = _mao[0]; _mao.RemoveAt(0); } else { for (int i = 0; i < _mao.Count; i++) { if (TrucoAuxiliar.compara(_mao[i], cartasMesa[1], manilha) > 0) { carta = _mao[i]; _mao.RemoveAt(i); break; } } } return(carta); }
public override Carta Jogar(List <Carta> cartasRodada, Carta manilha) { // encontra maior da mesa if (_mao.Count == 3) { ordenar(manilha); } RegraTrucar(manilha); Carta carta; switch (_mao.Count) { #region case 3 case 3: //Carta maiorMesa = cartasRodada.LastOrDefault(); if (cartasRodada.Count == 0) { if (TrucoAuxiliar.gerarValorCarta(_mao[1], manilha) > 7) { carta = _mao[1]; _mao.RemoveAt(1); return(carta); } else { carta = _mao[0]; _mao.RemoveAt(0); return(carta); } } if (cartasRodada.Count == 1) { if (TrucoAuxiliar.compara(_mao[1], cartasRodada[0], manilha) > 0) { carta = _mao[1]; _mao.RemoveAt(1); return(carta); } else { carta = _mao[0]; _mao.RemoveAt(0); return(carta); } } if (cartasRodada.Count == 2) { if (TrucoAuxiliar.compara(cartasRodada[0], cartasRodada[1], manilha) > 0) { carta = _mao[0]; _mao.RemoveAt(0); return(carta); } else { for (int i = 0; i < _mao.Count; i++) { carta = _mao[i]; if (TrucoAuxiliar.comparar(carta, cartasRodada[1], manilha) > 0) { _mao.RemoveAt(i); return(carta); } } carta = _mao[0]; _mao.RemoveAt(0); return(carta); } } if (cartasRodada.Count == 3) { if (TrucoAuxiliar.compara(cartasRodada[1], cartasRodada[0], manilha) > 0 && TrucoAuxiliar.compara(cartasRodada[1], cartasRodada[2], manilha) > 0) { carta = _mao[0]; _mao.RemoveAt(0); ganhoPrimeira = true; return(carta); } else { for (int i = 0; i < _mao.Count; i++) { carta = _mao[i]; if (TrucoAuxiliar.comparar(carta, cartasRodada[0], manilha) > 0 && TrucoAuxiliar.comparar(carta, cartasRodada[2], manilha) > 0) { _mao.RemoveAt(i); ganhoPrimeira = true; return(carta); } } carta = _mao[0]; _mao.RemoveAt(0); return(carta); } } return(null); #endregion #region case 2 case 2: //Carta maiorMesa = cartasRodada.LastOrDefault(); if (cartasRodada.Count == 0) { ganhoPrimeira = true; carta = _mao[0]; _mao.RemoveAt(0); return(carta); } if (cartasRodada.Count == 1) { carta = _mao[0]; _mao.RemoveAt(0); return(carta); } if (cartasRodada.Count == 2) { carta = _mao[1]; _mao.RemoveAt(1); return(carta); } if (cartasRodada.Count == 3) { if (TrucoAuxiliar.compara(cartasRodada[1], cartasRodada[0], manilha) > 0 && TrucoAuxiliar.compara(cartasRodada[1], cartasRodada[2], manilha) > 0) { carta = _mao[0]; _mao.RemoveAt(0); return(carta); } else { for (int i = 0; i < _mao.Count; i++) { carta = _mao[i]; if (TrucoAuxiliar.comparar(carta, cartasRodada[0], manilha) > 0 && TrucoAuxiliar.comparar(carta, cartasRodada[2], manilha) > 0) { _mao.RemoveAt(i); return(carta); } } carta = _mao[0]; _mao.RemoveAt(0); return(carta); } } return(null); #endregion #region case 1 case 1: carta = _mao[0]; _mao.RemoveAt(0); return(carta); default: return(null); #endregion } }