public King(byte xPosition, byte yPosition) { UnicodeSymbol = "♔"; Name = "King"; MoveRules = MovePattern.OneMoveEveryDirection; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; }
public Rook(byte xPosition, byte yPosition) { UnicodeSymbol = "♖"; Name = "Rook"; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; MoveRules = MovePattern.Horizontal | MovePattern.Vertical; }
public Bishop(byte xPosition, byte yPosition) { UnicodeSymbol = "♗"; Name = "Bishop"; MoveRules = MovePattern.FullCross; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; }
public Queen(byte xPosition, byte yPosition) { UnicodeSymbol = "♕"; Name = "Queen"; MoveRules = MovePattern.OneMoveEveryDirection | MovePattern.FullCross | MovePattern.Horizontal | MovePattern.Vertical; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; }
public Knight(byte xPosition, byte yPosition) { UnicodeSymbol = "♘"; Name = "Knight"; MoveRules = MovePattern.LPattern; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; }
public King() { UnicodeSymbol = "♔"; Name = "King"; MoveRules = MovePattern.OneMoveEveryDirection; StartPosition = new FigurePosition(4, 1); CurrentPosition = StartPosition; IsOnStart = true; }
public Rook() { UnicodeSymbol = "♖"; Name = "Rook"; StartPosition = new FigurePosition(1, 1); CurrentPosition = StartPosition; MoveRules = MovePattern.Horizontal | MovePattern.Vertical; IsOnStart = true; }
public Bishop() { UnicodeSymbol = "♗"; Name = "Bishop"; MoveRules = MovePattern.FullCross; StartPosition = new FigurePosition(3, 1); CurrentPosition = StartPosition; IsOnStart = true; }
public Pawn() { UnicodeSymbol = "♙"; Name = "Pawn"; MoveRules = MovePattern.OneForward | MovePattern.TwoForwardOnStart; StartPosition = new FigurePosition(1, 2); CurrentPosition = StartPosition; IsOnStart = true; }
public Pawn(byte xPosition, byte yPosition) { UnicodeSymbol = "♙"; Name = "Pawn"; MoveRules = MovePattern.OneForward | MovePattern.TwoForwardOnStart; StartPosition = new FigurePosition(xPosition, yPosition); CurrentPosition = StartPosition; IsOnStart = CurrentPosition.YPosition == (byte)2; }
public Queen() { UnicodeSymbol = "♕"; Name = "Queen"; MoveRules = MovePattern.OneMoveEveryDirection | MovePattern.FullCross | MovePattern.Horizontal | MovePattern.Vertical; StartPosition = new FigurePosition(4, 1); CurrentPosition = StartPosition; IsOnStart = true; }
public Knight() { UnicodeSymbol = "♘"; Name = "Knight"; MoveRules = MovePattern.LPattern; StartPosition = new FigurePosition(2, 1); CurrentPosition = StartPosition; IsOnStart = true; }
public virtual void SetPosition(byte xPosition, byte yPosition) { if (CanMoveTo(xPosition, yPosition)) { CurrentPosition = new FigurePosition(xPosition, yPosition); IsOnStart = false; } else { throw new InvalidOperationException($"{GetType().Name} cannot perform move to coordinates X: {xPosition}, Y: {yPosition} from " + $"X: {CurrentPosition.XPosition}, Y: {CurrentPosition.YPosition}"); } }