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 PossoTogliere(Controllo controllo) { Dado dado1 = Dado.Instance("dado1"); // dado di sinistra Dado dado2 = Dado.Instance("dado2"); // dado di destra GiocatoreNero nero = GiocatoreNero.Instance(); // giocatore nero bool risposta = false; int i; int contatorePedine = 0; for (i = 90; i < 120; i++) { if (Equals(controllo.ColorePedina(i), this.Colore)) { contatorePedine++; if (i % 5 == 4) { contatorePedine += controllo.PedineInPiĆ¹.LeggiLista[controllo.TrovaIdTriangolo(i)]; } } } if (contatorePedine == controllo.PedineBianche) { if (dado1.Valore != 0) { if (Equals(controllo.ColoreTriangolo(120 - (dado1.Valore * 5)), this.Colore)) { risposta = true; } else if (Equals(controllo.ColoreTriangolo(120 - (dado1.Valore * 5)), "Libero") || Equals(controllo.ColoreTriangolo(i), nero.Colore)) { for (i = 90; i <= 120 - (dado1.Valore * 5); i += 5) { if (Equals(controllo.ColoreTriangolo(i), "Libero") || Equals(controllo.ColoreTriangolo(i), nero.Colore)) { risposta = true; } else { risposta = false; } } } } if (dado2.Valore != 0) { if (Equals(controllo.ColoreTriangolo(120 - (dado2.Valore * 5)), this.Colore)) { risposta = true; } else if (Equals(controllo.ColoreTriangolo(120 - (dado2.Valore * 5)), "Libero") || Equals(controllo.ColoreTriangolo(i), nero.Colore)) { for (i = 90; i <= 120 - (dado2.Valore * 5); i += 5) { if (Equals(controllo.ColoreTriangolo(i), "Libero") || Equals(controllo.ColoreTriangolo(i), nero.Colore)) { risposta = true; } else { risposta = false; } } } } } return(risposta); }