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 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); }
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); }
protected override int PrimoTriangoloOccupatoBase(Controllo controllo) { GiocatoreNero nero = GiocatoreNero.Instance(); // giocatore nero int id = 90; int i; for (i = 90; i < 120; i += 5) { if (Equals(controllo.ColoreTriangolo(i), "Libero") || Equals(controllo.ColoreTriangolo(i), nero.Colore)) { id = i + 5; } else { i = 120; } } return(id); }
protected override int PrimoTriangoloOccupatoBase(Controllo controllo) { GiocatoreBianco bianco = GiocatoreBianco.Instance(); // giocatore bianco int id = 25; int i; for (i = 25; i >= 0; i -= 5) { if (Equals(controllo.ColoreTriangolo(i), "Libero") || Equals(controllo.ColoreTriangolo(i), bianco.Colore)) { id = i - 5; } else { i = 0; } } return(id); }
public override bool PossoMangiare(Controllo controllo, int idPedina) { GiocatoreNero nero = GiocatoreNero.Instance(); // giocatore nero bool risposta = false; if (Equals(controllo.ColoreTriangolo(idPedina), nero.Colore) && controllo.ContaPedineSuTriangolo(idPedina) < 2) { 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 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); }
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); }
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); }