public Position getPosition(final IndexPosition key, final Player access) throws GameException { if ((key.getCurveIndex() >= 0) && (key.getCurveIndex() < NUM_ROWS)) return basePosition .add(rowOffset.scale(key.getCurveIndex())) .add(columnOffset.scale(key.getCardIndex())); else if (CURVE_CMDS == key.getCurveIndex()) return cmdPosition.add(cmdOffset.scale(key.getCardIndex())); else return _mplayerManager.getPosition(key, access); }
boolean isAdjacent(final IndexPosition position, final IndexPosition prevPosition) { if (null == position) return false; if (null == prevPosition) return false; if (position.getCurveIndex() + 1 < prevPosition.getCurveIndex()) return false; if (position.getCurveIndex() - 1 > prevPosition.getCurveIndex()) return false; if (position.getCardIndex() + 1 < prevPosition.getCardIndex()) return false; if (position.getCardIndex() - 1 > prevPosition.getCardIndex()) return false; final boolean curveMatch = position.getCurveIndex() == prevPosition.getCurveIndex(); final boolean cardMatch = position.getCardIndex() == prevPosition.getCardIndex(); if (curveMatch && cardMatch) return true; if (curveMatch || cardMatch) return true; return true; }
BoardToken getGenerateToken( final int chainSize, final MarkovPredictor mk, final TokenArray a, final IndexPosition p) { return getGenerateToken( chainSize, mk, a, a.new ArrayPosition(p.getCurveIndex(), p.getCardIndex())); }