public override bool PossoMuovereGenerale(Controllo controllo)
        {
            Dado dado1    = Dado.Instance("dado1");                          // dado di sinistra
            Dado dado2    = Dado.Instance("dado2");                          // dado di destra
            bool risposta = false;
            int  i;

            for (i = 0; i < 120; i += 5)
            {
                if (dado1.Valore != 0 && Equals(controllo.ColorePedina(i), this.Colore) && i + dado1.Valore * 5 < 120)
                {
                    if (!controllo.TriangoloLibero(i + (dado1.Valore * 5)))
                    {
                        if (PossoMangiare(controllo, i + (dado1.Valore * 5)))
                        {
                            risposta = true;
                        }
                        else if (Equals(controllo.ColoreTriangolo(i + dado1.Valore * 5), this.Colore))
                        {
                            risposta = true;
                        }
                    }
                    else if (Equals(controllo.ColoreTriangolo(i + (dado1.Valore * 5)), this.Colore) || Equals(controllo.ColoreTriangolo(i + (dado1.Valore * 5)), "Libero"))
                    {
                        risposta = true;
                    }
                }
                if (dado2.Valore != 0 && Equals(controllo.ColorePedina(i), this.Colore) && i + dado2.Valore * 5 < 120)
                {
                    if (!controllo.TriangoloLibero(i + (dado2.Valore * 5)))
                    {
                        if (PossoMangiare(controllo, i + (dado2.Valore * 5)))
                        {
                            risposta = true;
                        }
                        else if (Equals(controllo.ColoreTriangolo(i + dado2.Valore * 5), this.Colore))
                        {
                            risposta = true;
                        }
                    }
                    else if (Equals(controllo.ColoreTriangolo(i + (dado2.Valore * 5)), this.Colore) || Equals(controllo.ColoreTriangolo(i + (dado2.Valore * 5)), "Libero"))
                    {
                        risposta = true;
                    }
                }
            }
            return(risposta);
        }
        public override bool PossoRimettereGenerale(Controllo controllo)
        {
            Dado dado1    = Dado.Instance("dado1");                          // dado di sinistra
            Dado dado2    = Dado.Instance("dado2");                          // dado di destra
            bool risposta = false;

            if (dado1.Valore != 0 && !controllo.TriangoloLibero(dado1.Valore * 5 - 5))
            {
                if (PossoMangiare(controllo, dado1.Valore * 5 - 5))
                {
                    risposta = true;
                }
                else if (Equals(controllo.ColoreTriangolo(dado1.Valore * 5 - 5), this.Colore))
                {
                    risposta = true;
                }
            }
            else
            {
                risposta = true;
            }
            if (dado2.Valore != 0 && !controllo.TriangoloLibero(dado2.Valore * 5 - 5))
            {
                if (PossoMangiare(controllo, dado2.Valore * 5 - 5))
                {
                    risposta = true;
                }
                else if (Equals(controllo.ColoreTriangolo(dado2.Valore * 5 - 5), this.Colore))
                {
                    risposta = true;
                }
            }
            else
            {
                risposta = true;
            }
            return(risposta);
        }
        public override bool PossoRimettereQui(Controllo controllo)
        {
            bool risposta = false;

            if (!controllo.TriangoloLibero(controllo.DadoScelto().Valore * 5 - 5))
            {
                if (PossoMangiare(controllo, controllo.DadoScelto().Valore * 5 - 5))
                {
                    risposta = true;
                }
                else if (Equals(controllo.ColoreTriangolo(controllo.DadoScelto().Valore * 5 - 5), this.Colore))
                {
                    risposta = true;
                }
            }
            else
            {
                risposta = true;
            }
            return(risposta);
        }
        public override bool PossoMuovereQuesto(Controllo controllo, int idPedina)
        {
            bool risposta;

            if (controllo.TrovaIdTriangolo(idPedina) + controllo.DadoScelto().Valore * 5 < 120)
            {
                if (!controllo.TriangoloLibero(idPedina + (controllo.DadoScelto().Valore * 5)))
                {
                    if (PossoMangiare(controllo, idPedina + (controllo.DadoScelto().Valore * 5)))
                    {
                        risposta = true;
                    }
                    else if (Equals(controllo.ColoreTriangolo(idPedina + (controllo.DadoScelto().Valore * 5)), this.Colore))
                    {
                        risposta = true;
                    }
                    else
                    {
                        risposta = false;
                    }
                }
                else if (Equals(controllo.ColoreTriangolo(idPedina + (controllo.DadoScelto().Valore * 5)), "Libero"))
                {
                    risposta = true;
                }
                else
                {
                    risposta = false;
                }
            }
            else
            {
                risposta = false;
            }
            return(risposta);
        }