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(); }
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); }
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(); }
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; } }
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); }
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; } }
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); }
// 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); }
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); }
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(); } }
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); }
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; } }