public override void Muovi(Cella nuovaPosizione) { base.Muovi(nuovaPosizione); switch (Colore) { case Schieramento.Bianco: if (nuovaPosizione.x == Posizione.x && nuovaPosizione.y == Posizione.y + 1) { Posizione = nuovaPosizione; } else if (nuovaPosizione.x == Posizione.x && nuovaPosizione.y == Posizione.y + 2 && Posizione.y == 2) { Posizione = nuovaPosizione; } Errore(); break; case Schieramento.Nero: if (nuovaPosizione.x == Posizione.x && nuovaPosizione.y == Posizione.y - 1) { Posizione = nuovaPosizione; } else if (nuovaPosizione.x == Posizione.x && nuovaPosizione.y == Posizione.y - 2 && Posizione.y == 7) { Posizione = nuovaPosizione; } Errore(); break; } }
public void Print() { string s = ""; int cellSize = 3; PrintLetters(ref s, cellSize); PrintLine(ref s, cellSize); for (int n = 8; n >= 1; n--) { s += $"{n}|"; for (char c = 'A'; c <= 'H'; c++) { Cella cella = GetCella(c, n); if (cella.Pezzo != null) { s += cella.Pezzo.ShortName.PadRight(cellSize); } else { s += $"".PadRight(cellSize); } s += "|"; } s += "\n"; PrintLine(ref s, cellSize); } PrintLetters(ref s, cellSize); Console.Write(s); }
public override void Muovi(Cella nuovaPosizione) { base.Muovi(nuovaPosizione); if (nuovaPosizione.x == Posizione.x || nuovaPosizione.y == Posizione.y) { Posizione = nuovaPosizione; } Errore(); }
public override void Muovi(Cella nuovaPosizione) { base.Muovi(nuovaPosizione); if (nuovaPosizione.x == Posizione.x || nuovaPosizione.y == Posizione.y || Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(nuovaPosizione.y - Posizione.y)) { Posizione = nuovaPosizione; } Errore(); }
public override void Muovi(Cella nuovaPosizione) { if (Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(nuovaPosizione.y - Posizione.x)) { Posizione = nuovaPosizione; } else { Errore(); } }
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) { int h = Math.Abs(nuovaposizione.y - Posizione.y); int v = Math.Abs(nuovaposizione.x - Posizione.x); if ((h == 3 && v == 1) || (h == 1 && v == 3)) { Posizione = nuovaposizione } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { if (nuovaPosizione.Lettera == Posizione.Lettera || nuovaPosizione.Numero == Posizione.Numero) { Posizione = 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) { 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(); } }