public Piece(PieceType pieceType, IBoardPosition pieceActualBoardPosition, IPlayer piecePlayerOwner) { this.Identifier = pieceType.ToString() + "-" + pieceActualBoardPosition.ToString() + "-" + piecePlayerOwner?.ToString(); this.Type = pieceType; this.PiecePosition = pieceActualBoardPosition; this.HasMoved = false; this.Player = piecePlayerOwner; }
public bool AddShip(IBattleShip ship, IBoardPosition position) { var y = position.Row - 1; var x = position.Column - 1; var counter = 0; for (int i = y; i < y + ship.Height; i++) { for (int j = x; j < x + ship.Width; j++, counter++) { this[i, j] = ship.Parts[counter]; } } return(true); }
public static IBoardPosition DistanceBetweenBoardPositions(IBoardPosition p1, IBoardPosition p2) { return(new BoardPosition(Math.Abs(p1.X - p2.X), Math.Abs(p1.Y - p2.Y))); }
public static bool PieceDistanceFromPositionLessThan(IPiece piece, IBoardPosition positionFromWhichCalculateDistance, int distanceMathModule) { return(DistanceBetweenBoardPositions(piece.PiecePosition, positionFromWhichCalculateDistance).X <= distanceMathModule && DistanceBetweenBoardPositions(piece.PiecePosition, positionFromWhichCalculateDistance).Y <= distanceMathModule); }
public InfoPanelViewModel(IBoardPosition boardPosition) { _boardPosition = boardPosition; RegisterEventHandler(); }
public PieceMovement(IPiece piece, IBoardPosition origin, IBoardPosition destination) { this.PieceInvolved = piece; this.Origin = origin; this.Destination = destination; }
void OnAddTile(IRuntimeCharacter tile, IBoardPosition pos) { }
/// <summary> /// Adds a character to the board into a specific position. /// </summary> /// <param name="character"></param> /// <param name="pos"></param> public void AddCharacter(IRuntimeCharacter character, IBoardPosition pos) { }
public bool RemoveAtPosition(IBoardPosition positionToRemove) { return(this.GetPieceAtPosition(positionToRemove) != null && this.Remove(this.GetPieceAtPosition(positionToRemove))); }
public IPiece Pawn(IBoardPosition piecePosition) { return(this.PieceFromPieceType(PieceType.PAWN, piecePosition)); }
public IPiece Knight(IBoardPosition piecePosition) { return(this.PieceFromPieceType(PieceType.KNIGHT, piecePosition)); }
public IPiece King(IBoardPosition piecePosition) { return(this.PieceFromPieceType(PieceType.KING, piecePosition)); }
public IPiece Bishop(IBoardPosition piecePosition) { return(this.PieceFromPieceType(PieceType.BISHOP, piecePosition)); }
public PieceMovement(IPiece piece, IBoardPosition destination) : this(piece, piece.PiecePosition, destination) { }
public bool Contains(IBoardPosition positionToCheck) { return(positionToCheck.X < this.Columns && positionToCheck.Y < this.Rows && positionToCheck.X >= 0 && positionToCheck.Y >= 0); }
public IPiece GetPieceAtPosition(IBoardPosition boardPosition) { return(this._piecesOnBoard.FirstOrDefault(piece => piece.PiecePosition.Equals(boardPosition))); }
public IPiece PieceFromPieceType(PieceType type, IBoardPosition piecePosition) { return(new Piece(type, piecePosition, this.player)); }
public IPiece Queen(IBoardPosition piecePosition) { return(this.PieceFromPieceType(PieceType.QUEEN, piecePosition)); }
public IPiece Rook(IBoardPosition piecePosition) { throw new NotImplementedException(); }
/// <summary> /// Removes a character from a specific position. /// </summary> /// <param name="character"></param> /// <param name="pos"></param> public void RemoveTile(IRuntimeCharacter character, IBoardPosition pos) { }
public BasicMovement(IBoardPosition origin, IBoardPosition destination) { this.Origin = origin; this.Destination = destination; }
void OnRemoveTile(IRuntimeCharacter tile, IBoardPosition pos) { }
public BoardPosition(IBoardPosition pos) : this(pos.X, pos.Y) { }