public Piece_Rook(Image image, Piece_Color color) : base(image, color) { Moves = new Piece_Move[] { new Piece_Move(0, 1), new Piece_Move(0, -1), new Piece_Move(1, 0), new Piece_Move(-1, 0), }; }
public Piece_Bishop(Image image, Piece_Color color) : base(image, color) { Moves = new Piece_Move[] { new Piece_Move(1, 1), new Piece_Move(-1, 1), new Piece_Move(1, -1), new Piece_Move(-1, -1), }; }
public Piece_Pawn(Image image, Piece_Color color) : base(image, color) { Moves = new Piece_Move[] { new Piece_Move(0, -1, false, Move_Type.Special), // может двигаться , но не атаковать new Piece_Move(0, -2, false, Move_Type.Special), //может двигаться на 2 клетки вперёд, но не атаковать, и это можно сделать, если это первый ход пешки new Piece_Move(-1, -1, false, Move_Type.Special), // по диагонали иожет только отаковать (влево),но не двигаться new Piece_Move(1, -1, false, Move_Type.Special), // по диагонали иожет только отаковать (вправо),но не двигаться }; }
public Piece_King(Image image, Piece_Color color) : base(image, color) { Moves = new Piece_Move[] { new Piece_Move(-1, -1, false), new Piece_Move(-1, 0, false), new Piece_Move(-1, 1, false), new Piece_Move(0, -1, false), new Piece_Move(0, 1, false), new Piece_Move(1, -1, false), new Piece_Move(1, 0, false), new Piece_Move(1, 1, false), new Piece_Move(2, 0, false, Move_Type.Special), //рокировка new Piece_Move(-2, 0, false, Move_Type.Special), // рокировка }; }
public Piece_Knight(Image image, Piece_Color color) : base(image, color) { Moves = new Piece_Move[] { new Piece_Move(-1, -2, false), new Piece_Move(1, -2, false), new Piece_Move(-1, 2, false), new Piece_Move(1, 2, false), new Piece_Move(2, -1, false), new Piece_Move(2, 1, false), new Piece_Move(-2, -1, false), new Piece_Move(-2, 1, false), }; }