package jrummikub.model; /** * Interface for the {@link Hand} model */ public interface IHand extends IStoneTray { /** * The number of used rows * * @return the number of rows */ int getRowCount(); /** * Gets the amount of free space in a hand row * * @param row * the row number * @return the number of stones that can fit into the row */ int getFreeRowSpace(int row); /** * Get the accumulated number of points of stones in the hand * * @param settings * the game settings * * @return points */ int getStonePoints(GameSettings settings); /** * Tests whether it is possible to lay down an initial meld using the stones * on the hand * * @param settings * the game settings * * @return true if an initial meld is possible */ public boolean isInitialMeldPossible(GameSettings settings); /** * Counts the pairs of identical stones * * @return number of identical stone pairs */ public int getIdenticalStoneCount(); }