Exemple #1
0
        public void AzzeraValoreDadi()                                      // azzera il valore dei dadi
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra

            dado1.AzzeraValore();
            dado2.AzzeraValore();
        }
Exemple #2
0
        public void LanciaDadi()                                            // cambia valore dadi
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra

            dado1.Valore = rnd.Next(1, 7);
            dado2.Valore = rnd.Next(1, 7);
        }
Exemple #3
0
        public void AzzeraUtilizziDadi()                                    // azzera utilizzi dadi
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra

            dado1.AzzeraUtilizzi();
            dado2.AzzeraUtilizzi();
        }
Exemple #4
0
        private void picDado2_Click(object sender, EventArgs e)              // azione sul click del dado di destra
        {
            Dado dado1 = Dado.Instance("dado1");                             // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                             // dado di destra

            dado1.SonoScelto = false;
            dado2.SonoScelto = true;
            if (picDado2.Image != null)
            {
                lblInfoBox.Text = "Hai scelto il\ndado con valore: " + dado2.Valore;
            }
        }
Exemple #5
0
        public bool UtilizziRimasti()                                       // ritorna true se sono ancora rimasti degli utilizzi
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra
            bool risposta;

            if (dado1.Utilizzi == 0 && dado2.Utilizzi == 0)
            {
                risposta = false;
            }
            else
            {
                risposta = true;
            }
            return(risposta);
        }
Exemple #6
0
        public void ImpostaUtilizziDadi()                                   // imposta l'utilizzo dei dadi appena tirati
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra

            if (Doppio())
            {
                dado1.Utilizzi = 2;
                dado2.Utilizzi = 2;
            }
            else
            {
                dado1.Utilizzi = 1;
                dado2.Utilizzi = 1;
            }
        }
Exemple #7
0
        private bool Doppio()                                                // controlla se è uscito doppio
        {
            Dado dado1 = Dado.Instance("dado1");                             // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                             // dado di destra
            bool risposta;

            if (dado1.Valore == dado2.Valore)
            {
                risposta = true;
            }
            else
            {
                risposta = false;
            }
            return(risposta);
        }
Exemple #8
0
        // fine metodi gesione pedine
        // metodi gestione dadi
        public Dado DadoScelto()                                            // restituisce il dado scelto dal giocatore
        {
            Dado dado1  = Dado.Instance("dado1");                           // dado di sinistra
            Dado dado2  = Dado.Instance("dado2");                           // dado di destra
            Dado scelto = null;

            if (dado1.SonoScelto && dado1.Valore > 0)
            {
                scelto = dado1;
            }
            else if (dado2.SonoScelto && dado2.Valore > 0)
            {
                scelto = dado2;
            }
            return(scelto);
        }
Exemple #9
0
        public string QualeMovimento(Giocatore giocatore)           // restituisce il movimento che bisogna fare
        {
            Dado            dado1  = Dado.Instance("dado1");        // dado di sinistra
            Dado            dado2  = Dado.Instance("dado2");        // dado di destra
            GiocatoreBianco bianco = GiocatoreBianco.Instance();    // giocatore bianco
            GiocatoreNero   nero   = GiocatoreNero.Instance();      // giocatore nero
            string          movimento;

            if (Equals(giocatore, bianco))
            {
                if (bianco.PedineMangiate)            // se ho pedine fuori
                {
                    movimento = "Rimetti";
                }
                else if (bianco.PossoTogliere(this) && (dado1.Valore != 0 || dado2.Valore != 0)) // se posso togliere
                {
                    movimento = "Scelta";
                }
                else                                    // non posso togliere quindi muovo
                {
                    movimento = "Muovi";
                }
            }
            else if (Equals(giocatore, nero))
            {
                if (nero.PedineMangiate)            // se ho pedine fuori
                {
                    movimento = "Rimetti";
                }
                else if (nero.PossoTogliere(this)) // se posso togliere
                {
                    movimento = "Scelta";
                }
                else                                    // non posso togliere quindi muovo
                {
                    movimento = "Muovi";
                }
            }
            else
            {
                movimento = "Errore";
            }

            return(movimento);
        }
Exemple #10
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();
            }
        }
Exemple #11
0
        public string RimettiPedina(object pedina, object giocatore) // fa rimettere le pedine mangiate ai giocatori e restituisce l'esito
        {
            Dado            dado1     = Dado.Instance("dado1");      // dado di sinistra
            Dado            dado2     = Dado.Instance("dado2");      // dado di destra
            GiocatoreBianco bianco    = GiocatoreBianco.Instance();  // giocatore bianco
            GiocatoreNero   nero      = GiocatoreNero.Instance();    // giocatore nero
            string          messaggio = "OK";

            if (Equals(giocatore, bianco))
            {
                if (TrovaIdPedina((PictureBox)pedina) > 120)
                {
                    if (bianco.PossoRimettereGenerale(this))
                    {
                        if (bianco.PossoRimettereQui(this))
                        {
                            bianco.RimettiPedina(this, TrovaIdPedina((PictureBox)pedina));
                        }
                        else
                        {
                            messaggio = "Mossa non possibile";
                            if (DadoScelto() == dado1 && dado2.Valore == 0)
                            {
                                messaggio = "Non ci sono\nmosse disponibili";
                            }
                            else if (DadoScelto() == dado2 && dado1.Valore == 0)
                            {
                                messaggio = "Non ci sono\nmosse disponibili";
                            }
                        }
                    }
                    else
                    {
                        messaggio = "Non ci sono\nmosse disponibili";
                    }
                }
                else
                {
                    messaggio = "Devi reinserire\nle pedine";
                }
            }
            if (Equals(giocatore, nero))
            {
                if (TrovaIdPedina((PictureBox)pedina) == 120)
                {
                    if (nero.PossoRimettereGenerale(this))
                    {
                        if (nero.PossoRimettereQui(this))
                        {
                            nero.RimettiPedina(this, TrovaIdPedina((PictureBox)pedina));
                        }
                        else
                        {
                            messaggio = "Mossa non possibile";
                            if (DadoScelto() == dado1 && dado2.Valore == 0)
                            {
                                messaggio = "Non ci sono\nmosse disponibili";
                            }
                            else if (DadoScelto() == dado2 && dado1.Valore == 0)
                            {
                                messaggio = "Non ci sono\nmosse disponibili";
                            }
                        }
                    }
                    else
                    {
                        messaggio = "Non ci sono\nmosse disponibili";
                    }
                }
                else
                {
                    messaggio = "Devi reinserire\nle pedine";
                }
            }

            return(messaggio);
        }
Exemple #12
0
        public void AggiornaDadi()                                          // aggiorna immagini dadi
        {
            Dado dado1 = Dado.Instance("dado1");                            // dado di sinistra
            Dado dado2 = Dado.Instance("dado2");                            // dado di destra

            switch (dado1.Valore)
            {
            case 1:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado1;
                Dadi.LeggiLista[0].Tag   = "1";
                break;

            case 2:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado2;
                Dadi.LeggiLista[0].Tag   = "2";
                break;

            case 3:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado3;
                Dadi.LeggiLista[0].Tag   = "3";
                break;

            case 4:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado4;
                Dadi.LeggiLista[0].Tag   = "4";
                break;

            case 5:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado5;
                Dadi.LeggiLista[0].Tag   = "5";
                break;

            case 6:
                Dadi.LeggiLista[0].Image = Properties.Resources.dado6;
                Dadi.LeggiLista[0].Tag   = "6";
                break;

            case 0:
                Dadi.LeggiLista[0].Image = null;
                break;
            }
            switch (dado2.Valore)
            {
            case 1:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado1;
                Dadi.LeggiLista[1].Tag   = "1";
                break;

            case 2:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado2;
                Dadi.LeggiLista[1].Tag   = "2";
                break;

            case 3:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado3;
                Dadi.LeggiLista[1].Tag   = "3";
                break;

            case 4:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado4;
                Dadi.LeggiLista[1].Tag   = "4";
                break;

            case 5:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado5;
                Dadi.LeggiLista[1].Tag   = "5";
                break;

            case 6:
                Dadi.LeggiLista[1].Image = Properties.Resources.dado6;
                Dadi.LeggiLista[1].Tag   = "6";
                break;

            case 0:
                Dadi.LeggiLista[1].Image = null;
                break;
            }
        }