public override void RimettiPedina(Controllo controllo, int idPedina) { if (PossoMangiare(controllo, controllo.DadoScelto().Valore * 5 - 5)) { MangiaPedina(controllo, controllo.TrovaIdTriangolo(controllo.DadoScelto().Valore * 5 - 5)); TogliPedinaDaOut(controllo); } else { controllo.AggiungiPedinaSuTriangolo(controllo.DadoScelto().Valore * 5 - 5, this.Colore); TogliPedinaDaOut(controllo); } }
// fine singleton public override void MuoviPedina(Controllo controllo, int idPedina) { if (Equals(controllo.ColorePedina(idPedina), this.Colore)) { controllo.TogliUtlimaPedinaTriangolo(idPedina); if (PossoMangiare(controllo, idPedina + (controllo.DadoScelto().Valore * 5))) { MangiaPedina(controllo, controllo.TrovaIdTriangolo(idPedina + (controllo.DadoScelto().Valore * 5))); } else { controllo.AggiungiPedinaSuTriangolo(idPedina + (controllo.DadoScelto().Valore * 5), this.Colore); } } }
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); }
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 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); }