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); }
internal void InviaLog(Pezzo p, Cella vecchiaposizione, Cella nuovaposizione) { if (Spostamento != null) { Spostamento(p, vecchiaposizione, nuovaposizione); } }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { if (nuovaPosizione.x == Posizione.x || nuovaPosizione.y == Posizione.y || Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(nuovaPosizione.y - Posizione.y)) { return(true); } return(false); }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { if (nuovaPosizione.x == Posizione.x || nuovaPosizione.y == Posizione.y) { return true; } return false; }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { base.Muovi(nuovaPosizione); if (Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(1) && nuovaPosizione.y == Posizione.y || Math.Abs(nuovaPosizione.y - Posizione.y) == Math.Abs(1) && nuovaPosizione.x == Posizione.x || Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(1) && Math.Abs(nuovaPosizione.y - Posizione.y) == Math.Abs(1)) { return(true); } return(false); }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { if (Math.Abs(nuovaPosizione.x - Posizione.x) == Math.Abs(nuovaPosizione.y - Posizione.x)) { return(true); } else { return(false); } }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { int h = Math.Abs(nuovaPosizione.x - Posizione.y); int v = Math.Abs(nuovaPosizione.x - Posizione.x); if ((h == 3 && v == 1) || (h == 1 && v == 3)) { return(true); } else { return(false); } }
protected override bool ControllaSpostamento(Cella nuovaPosizione) { if (nuovaPosizione.x == Posizione.x) { int segno = Colore == Schieramento.Bianco ? +1 : -1; int start = Colore == Schieramento.Bianco ? 2 : 7; if (nuovaPosizione.y == Posizione.y + segno) { return(true); } else if (Posizione.y == start && nuovaPosizione.y == Posizione.y + segno * 2) { return(true); } } return(false); }