Exemplo n.º 1
0
        private void btnLanciaDadi_Click_1(object sender, EventArgs e)       // azione sul click del bottone lancia dadi
        {
            Controllo controllo = Controllo.Instance();

            if (controllo.ChiHaVinto() != null)
            {
                InizializzaTavola();
                controllo.AzzeraUtilizziDadi();
                controllo.AzzeraValoreDadi();
                btnLanciaDadi.Text = "Lancia Dadi";
            }
            else if (!controllo.UtilizziRimasti())
            {
                controllo.LanciaDadi();
                controllo.ImpostaUtilizziDadi();
                controllo.AggiornaDadi();
                lblTurnoGiocatore.Text = "Turno di\n" + controllo.MostraTurno().Colore;
                lblInfoBox.Text        = "Scegli il dado";
                dadiLanciati           = true;
            }
            else
            {
                lblInfoBox.Text = "Devi ancora finire\ndi muovere";
            }
        }
Exemplo n.º 2
0
        private void CambioTurno()                                           // cambia il turno
        {
            Controllo controllo = Controllo.Instance();

            dadiLanciati = false;
            controllo.AzzeraUtilizziDadi();
            controllo.AzzeraValoreDadi();
            controllo.InvertiTurno();
            controllo.ContaPedine();
            lblTurnoGiocatore.Text = "Turno di\n" + controllo.MostraTurno().Colore;
        }
Exemplo n.º 3
0
        private void Movimento(object pedina, EventArgs e)                   // gestisce i movimenti delle pedine
        {
            Controllo controllo = Controllo.Instance();
            Dado      dado1     = Dado.Instance("dado1");                    // dado di sinistra
            Dado      dado2     = Dado.Instance("dado2");                    // dado di destra
            string    messaggio = "ERROR";

            if (controllo.DadoScelto() != null)
            {
                if (dadiLanciati)
                {
                    switch (controllo.QualeMovimento(controllo.MostraTurno()))
                    {
                    case "Muovi":
                        messaggio = controllo.MuoviPedina(pedina, controllo.MostraTurno());
                        break;

                    case "Rimetti":
                        messaggio = controllo.RimettiPedina(pedina, controllo.MostraTurno());
                        break;

                    case "Scelta":
                        if (dado1.Valore != 0 || dado2.Valore != 0)
                        {
                            using (Scelta scelta = new Scelta())
                            {
                                if (scelta.ShowDialog() == DialogResult.OK)
                                {
                                    messaggio = controllo.MuoviPedina(pedina, controllo.MostraTurno());
                                }
                                else if (scelta.ShowDialog() == DialogResult.Cancel)
                                {
                                    messaggio = controllo.TogliPedina(controllo.MostraTurno());
                                }
                            }
                        }
                        break;
                    }
                }
                switch (messaggio)
                {
                case "Non ci sono\nmosse disponibili":
                    CambioTurno();
                    lblInfoBox.Text = messaggio;
                    break;

                case "OK":
                    controllo.DadoScelto().DecrementaUtilizziDado();
                    controllo.DadoScelto().AzzeraValore();
                    if (controllo.UtilizziRimasti())
                    {
                        lblInfoBox.Text = "Scegli il dado";
                    }
                    else
                    {
                        CambioTurno();
                    }
                    break;

                default:
                    lblInfoBox.Text = messaggio;
                    break;
                }
                controllo.AggiornaDadi();
                controllo.ContaPedine();
                ControllaVittoria();
            }
        }