public override bool CanMove(CellMove move) { int distanceX = Math.Abs(move.End.X - move.Begin.X); int distanceY = Math.Abs(move.End.Y - move.Begin.Y); if (distanceX != 0 && distanceY != 0) return false; return true; }
public abstract bool CanMove(CellMove move);
public abstract bool CanKill(CellMove move);
public override bool CanKill(CellMove move) { return CanMove(move); }
public override bool CanMove(CellMove move) { int distanceX = move.End.X - move.Begin.X; int distanceY = move.End.Y - move.Begin.Y; if (GetColor == FigureColor.White) { if (distanceY > 1 && move.Begin.Y != 1 || distanceY > 2) return false; if (distanceX != 0) return false; } else { if (distanceY > -1 && move.Begin.Y != 6 || distanceY <= -2) return false; if (distanceX != 0) return false; } return true; }
public override bool CanKill(CellMove move) { int distanceX = move.End.X - move.Begin.X; int distanceY = move.End.Y - move.Begin.Y; if (GetColor == FigureColor.White) { if (Math.Abs(distanceX) != 1 || distanceY != 1) return false; } else { if (Math.Abs(distanceX) != 1 || distanceY != -1) return false; } return true; }
public bool Move(CellMove move) { return true; }