コード例 #1
0
 public override void RimettiPedina(Controllo controllo, int idPedina)
 {
     if (PossoMangiare(controllo, controllo.DadoScelto().Valore * 5 - 5))
     {
         MangiaPedina(controllo, controllo.TrovaIdTriangolo(controllo.DadoScelto().Valore * 5 - 5));
         TogliPedinaDaOut(controllo);
     }
     else
     {
         controllo.AggiungiPedinaSuTriangolo(controllo.DadoScelto().Valore * 5 - 5, this.Colore);
         TogliPedinaDaOut(controllo);
     }
 }
コード例 #2
0
 // fine singleton
 public override void MuoviPedina(Controllo controllo, int idPedina)
 {
     if (Equals(controllo.ColorePedina(idPedina), this.Colore))
     {
         controllo.TogliUtlimaPedinaTriangolo(idPedina);
         if (PossoMangiare(controllo, idPedina + (controllo.DadoScelto().Valore * 5)))
         {
             MangiaPedina(controllo, controllo.TrovaIdTriangolo(idPedina + (controllo.DadoScelto().Valore * 5)));
         }
         else
         {
             controllo.AggiungiPedinaSuTriangolo(idPedina + (controllo.DadoScelto().Valore * 5), this.Colore);
         }
     }
 }
コード例 #3
0
        public override string TogliPedina(Controllo controllo)
        {
            string messaggio = "OK";

            if (Equals(controllo.ColoreTriangolo(controllo.DadoScelto().Valore * 5 - 5), this.Colore))
            {
                controllo.TogliUtlimaPedinaTriangolo(controllo.DadoScelto().Valore * 5 - 5);
            }
            else if ((Equals(controllo.ColoreTriangolo(controllo.DadoScelto().Valore * 5 - 5), "Libero") || Equals(controllo.ColoreTriangolo(controllo.DadoScelto().Valore * 5 - 5), this.Colore)) && ((controllo.DadoScelto().Valore * 5 - 5)) >= PrimoTriangoloOccupatoBase(controllo))
            {
                controllo.TogliUtlimaPedinaTriangolo(PrimoTriangoloOccupatoBase(controllo));
            }
            else
            {
                messaggio = "Mossa non possibile";
            }
            return(messaggio);
        }
コード例 #4
0
        public override string TogliPedina(Controllo controllo)
        {
            GiocatoreNero nero      = GiocatoreNero.Instance();     // giocatore nero
            string        messaggio = "OK";

            if (Equals(controllo.ColoreTriangolo(120 - (controllo.DadoScelto().Valore * 5)), this.Colore))
            {
                controllo.TogliUtlimaPedinaTriangolo(120 - controllo.DadoScelto().Valore * 5);
            }
            else if ((Equals(controllo.ColoreTriangolo(120 - (controllo.DadoScelto().Valore * 5)), "Libero") || Equals(controllo.ColoreTriangolo(120 - (controllo.DadoScelto().Valore * 5)), nero.Colore)) && (120 - (controllo.DadoScelto().Valore * 5)) <= PrimoTriangoloOccupatoBase(controllo))
            {
                controllo.TogliUtlimaPedinaTriangolo(PrimoTriangoloOccupatoBase(controllo));
            }
            else
            {
                messaggio = "Mossa non possibile";
            }
            return(messaggio);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }