예제 #1
0
        private bool CemiterioFazJogo()
        {
            if (Cemiterio.QntCartas() > 0)
            {
                if (Mao.GetListaCartas().Find(carta => carta.Grupo == Grupo.Nenhum && (Mao.VerifPar(carta, Cemiterio.Top()) || Mao.VerifSeq(carta, Cemiterio.Top()) || Mao.VerifSeq(Cemiterio.Top(), carta))) != null)
                {
                    return(true);
                }
                //Se completa uma trinca ou sequencia.
                if (Mao.GetListaCartas().Find(carta => carta.Grupo == Grupo.Pares && (Mao.VerifPar(carta, Cemiterio.Top()) || Mao.VerifSeq(carta, Cemiterio.Top()) || Mao.VerifSeq(Cemiterio.Top(), carta))) != null)
                {
                    if (Mao.GetListaCartas().Exists(carta => Mao.VerifIguais(carta, Cemiterio.Top())))
                    {
                        return(false);
                    }
                    return(true);
                }

                //Se é 2 acima ou abaixo de uma sequencia.

                if (Mao.GetListaCartas().Find(carta => carta.Livre() && (Mao.VerifSeq2p(carta, Cemiterio.Top()) || Mao.VerifSeq2p(Cemiterio.Top(), carta))) != null)
                {
                    return(true);
                }
                return(false);
            }
            else
            {
                return(false);
            }
        }