package jrummikub.model; import jrummikub.util.Pair; import static jrummikub.model.StoneTray.Direction.*; /** Class managing a {@link Player}'s {@link Stone}s */ public class Hand extends StoneTray implements IHand { /** * The width of the hand */ public final static int WIDTH = 14; /** * The height of the hand */ public final static int HEIGHT = 2; @Override protected Pair fixInvalidDrop(Stone stone, Position pos, Direction dir) { float x = pos.getX(); float y = pos.getY(); if (x >= 0 && x <= WIDTH - 1) { return null; } if (x < 0) { if (y == 0) { return new Pair(new Position(0, 0), RIGHT); } else { return new Pair(new Position(WIDTH - 1, 0), LEFT); } } else { if (y == 0) { return new Pair(new Position(0, 1), RIGHT); } else { return new Pair(new Position(WIDTH - 1, 1), LEFT); } } } }