package cpsc2150.extendedConnectX.models;

/**
 * Keep track of an individual cell for a board.
 * <p>This class keeps row and column information for a single cell on the game board
 * and provides methods to get the row and column numbers.</p>
 *
 * @author Owen Sullivan
 * @version 1.0
 *
 * @invariant 0 {@code >=} row {@code <=} 8 AND 0 {@code >=} column {@code <=} 6
 */
public class BoardPosition {

    private int row;
    private int column;

    /**
     * Constructor for BoardPosition that takes integers
     * for row and column.
     *
     * @param Row number corresponding to row
     * @param Column number corresponding to column
     *
     * @pre
     *      0 {@code >=} Row {@code <=} 8 AND 0 {@code >=} Column {@code <=} 6 AND 
     *      [ row is uninitialized ] AND [ column is uninitialized ]
     *
     * @post
     *      row = Row AND column = Column
     */
    public BoardPosition(int Row, int Column) {



    }

    /**
     * Overloaded equals method for BoardPosition.
     *
     * @param o Object to check if equal to
     * @return Whether two BoardPosition objects are equal
     *
     * @pre
     *      o instanceof BoardPosition = true
     *
     * @post
     *      equals = true iff ((BoardPosition)o = this) AND row = #row AND column = #column
     *      equals = false iff ((BoardPosition)o != this) AND row = #row AND column = #column
     */
    @Override
    public boolean equals(Object o) {



    }

    /**
     * Overloaded toString method for BoardPosition.
     * <p><b>NOTE:</b> The string will change depending on the values of the BoardPosition
     * object that calls the toString method, and thus the post-condition for this method 
     * is partially informal.</p>
     *
     * @return A string in the format "<row>,<column>"
     *
     * @post
     *      [toString is formatted like "<row>,<column>"] AND row = #row AND column = #column
     */
    @Override
    public String toString() {



    }

    /**
     * This function returns the value of the row number.
     *
     * @return The row value
     *
     * @post
     *      getRow = row AND row = #row AND column = #column
     */
    public int getRow() {



    }

    /**
     * This function returns the value of the column number.
     *
     * @return The column value
     *
     * @post
     *      getColumn = column AND row = #row AND column = #column
     */
    public int getColumn() {



    }

}
