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.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(); } }
public override void Muovi(Cella nuovaPosizione) { base.Muovi(nuovaPosizione); if (Math.Abs(nuovaPosizione.Lettera - Posizione.Lettera) == Math.Abs(nuovaPosizione.Numero - Posizione.Numero)) { Posizione = nuovaPosizione; } else { Errore(); } }
public override void Muovi(Cella nuovaPosizione) { base.Muovi(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); base.Muovi(nuovaPosizione); 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); base.Muovi(nuovaPosizione); if ((h == 3 && v == 1) || (h == 1 && v == 3)) { Posizione = nuovaPosizione; } else { Errore(); } }