public override Escolha trucado(Jogador trucante, Truco pedido, Carta manilha)
        {
            if (trucante.IDEquipe == IDEquipe)
            {
                equipeTrucante = IDEquipe;
                trucoAtual     = pedido;
                return(Escolha.aceitar);
            }
            else
            {
                switch (pedido)
                {
                case Truco.truco:
                    if (90 > probabilidadeVitoria(manilha) && probabilidadeVitoria(manilha) > 50)
                    {
                        return(Escolha.aceitar);
                    }
                    else if (probabilidadeVitoria(manilha) >= 80)
                    {
                        return(Escolha.aumentar);
                    }
                    else
                    {
                        return(Escolha.correr);
                    }

                case Truco.seis:
                    if ((Equipe.BuscaID(IDEquipe).PontosEquipe >= 9 && probabilidadeVitoria(manilha) > 75) ||
                        (probabilidadeVitoria(manilha) < 90 && probabilidadeVitoria(manilha) > 75))
                    {
                        return(Escolha.aceitar);
                    }
                    else if (probabilidadeVitoria(manilha) >= 90)
                    {
                        return(Escolha.aumentar);
                    }
                    else
                    {
                        return(Escolha.correr);
                    }

                case Truco.nove:
                    if ((Equipe.BuscaID(IDEquipe).PontosEquipe >= 6 && probabilidadeVitoria(manilha) > 75) ||
                        (probabilidadeVitoria(manilha) < 90 && probabilidadeVitoria(manilha) > 75))
                    {
                        return(Escolha.aceitar);
                    }
                    else if (probabilidadeVitoria(manilha) >= 90)
                    {
                        return(Escolha.aumentar);
                    }
                    else
                    {
                        return(Escolha.correr);
                    }

                case Truco.doze:
                    if ((Equipe.BuscaID(IDEquipe).PontosEquipe >= 3 && probabilidadeVitoria(manilha) > 75) ||
                        (probabilidadeVitoria(manilha) < 90 && probabilidadeVitoria(manilha) > 75))
                    {
                        return(Escolha.aceitar);
                    }
                    else if (probabilidadeVitoria(manilha) >= 90)
                    {
                        return(Escolha.aumentar);
                    }
                    else
                    {
                        return(Escolha.correr);
                    }

                case Truco.jogo:
                    if (probabilidadeVitoria(manilha) > 80)
                    {
                        return(Escolha.aceitar);
                    }
                    else
                    {
                        return(Escolha.correr);
                    }

                default:
                    return(Escolha.aceitar);
                }
            }
        }
示例#2
0
 protected void trucar(Jogador jogador, Truco pedido)
 {
     truco(jogador, pedido);
 }
        public override Escolha trucado(Jogador trucante, Truco valor, Carta manilha)
        {
            int ptsMinhaEqp = Equipe.BuscaID(this.IDEquipe).PontosEquipe;
            int ptsEqpAdv   = Equipe.BuscaID(trucante.IDEquipe).PontosEquipe;
            int x           = ManilhasNaMao(manilha);

            if ((ptsEqpAdv > ptsMinhaEqp && ptsEqpAdv + valorJogoTruco(valor) < 15) && ptsMinhaEqp - ptsEqpAdv > valorJogoTruco(valor))
            {
                if (cartasUsadas.Count < 4 && x > 0)
                {
                    return(Escolha.aceitar);
                }

                if (cartasUsadas.Count < 4 && _mao[0].valor(manilha) > 8)
                {
                    return(Escolha.aceitar);
                }

                if (ganhoPrimeira && x > 0)
                {
                    return(Escolha.aumentar);
                }

                if (ganhoPrimeira && (cartasUsadas.Count > 3 || cartasUsadas.Count < 8) && (_mao[0].valor(manilha) > 8 || _mao[1].valor(manilha) > 8))
                {
                    return(Escolha.aceitar);
                }

                if ((cartasUsadas.Count > 3 || cartasUsadas.Count < 8) && (_mao[0].valor(manilha) > 10))
                {
                    return(Escolha.aceitar);
                }


                if (ganhoPrimeira && (_mao[0].valor(manilha) > 7))
                {
                    return(Escolha.aceitar);
                }
            }
            return(Escolha.correr);

            //if (x >= 2)
            //    return Escolha.aumentar;
            //if (x == 1)
            //    return Escolha.aceitar;
            //if (ptsEqpAdv > 9 && ptsMinhaEqp < 5)
            //    return Escolha.aumentar;
            //if (_mao.Count == 3)
            //{
            //    if (_mao[0].valor(manilha) > 7)
            //        return Escolha.aceitar;
            //}
            //if (_mao.Count == 2)
            //{
            //    if (_mao[0].valor(manilha) > 7)
            //        return Escolha.aceitar;
            //}

            //if (_mao.Count == 0 && cartasUsadas.Last().valor(manilha) > 8)
            //    return Escolha.aceitar;

            //if (_mao.Count == 1 &&_mao[0].valor(manilha) <= 3)
            //    return Escolha.correr;
            //else
            //    return Escolha.aceitar;
        }
示例#4
0
 public virtual Escolha trucado(Jogador trucante, Truco valor, Carta manilha)
 {
     return(Escolha.aceitar);
 }