public override void Muovi(Cella nuovaPosizione) { if (Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(nuovaPosizione.Numero - Posizione.Numero)) { Posizione = nuovaPosizione; } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { if (nuovaPosizione.Lettera == Posizione.Lettera || nuovaPosizione.Numero == Posizione.Numero) { Posizione = nuovaPosizione; } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { int l = Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera); int n = Math.Abs(nuovaPosizione.Numero - Posizione.Numero); if (l <= 1 && n <= 1 && n + l >= 1) { Posizione = nuovaPosizione; } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { int h = Math.Abs(nuovaPosizione.Numero - Posizione.Numero); int v = Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera); if ((h == 3 && v == 1) || (h == 1 && v == 3)) { Posizione = nuovaPosizione; } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { if (nuovaPosizione.Lettera == Posizione.Lettera) { int segno = Schieramento == Colore.Bianco ? +1 : -1; int start = Schieramento == Colore.Bianco ? 2 : 7; if (nuovaPosizione.Numero == Posizione.Numero + segno) { Posizione = nuovaPosizione; } else if (Posizione.Numero == start && nuovaPosizione.Numero == Posizione.Numero + segno * 2) { Posizione = nuovaPosizione; } else { Errore(); } } else { Errore(); } }