Package com.jcloisterzone.board

Examples of com.jcloisterzone.board.Position


        return new Position(x, y);
    }

    @Override
    public void mouseMoved(MouseEvent e) {
        Position p = getGridPosition(e);
        if (currentPosition != null && ! currentPosition.equals(p)) {
            listener.squareExited(e, currentPosition);
            currentPosition = null;
        }
        if (p != null && ! p.equals(currentPosition)) {
            currentPosition = p;
            listener.squareEntered(e, currentPosition);
        }
    }
View Full Code Here


        }
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        Position p = getGridPosition(e);
        if (p != null) {
            listener.mouseClicked(e, p);
        }
    }
View Full Code Here

        if (!getClient().getGridPanel().isLayerVisible(AbstractTilePlacementLayer.class)) {
            g2.setColor(Color.WHITE);
            int squareSize = getSquareSize(),
                thickness = squareSize / 11;
            for (Tile tile : placedTiles) {
                Position p = tile.getPosition();
                if (tile.getPosition() != null) { //threading, tile can be removed
                    int x = getOffsetX(p), y = getOffsetY(p);
                    g2.fillRect(x-thickness, y-thickness, squareSize+2*thickness, squareSize+2*thickness);
                }
            }
View Full Code Here

                            }
                            if (m instanceof Barn) {
                                power[m.getPlayer().getIndex()] += 1;
                            }
                        }
                        Position pos = f.getTile().getPosition();
                        if (pos.x < x) {
                            if (x != Integer.MAX_VALUE) result.area.transform(AffineTransform.getTranslateInstance(FULL_SIZE * (x-pos.x), 0));
                            x = pos.x;
                        }
                        if (pos.y < y) {
                            if (y != Integer.MAX_VALUE) result.area.transform(AffineTransform.getTranslateInstance(0, FULL_SIZE * (y-pos.y)));
                            y = pos.y;
                        }
                        Map<Location, Area> tileAreas = areas.get(f.getTile());
                        if (tileAreas != null) { //sync issue, feature can be extended in other thread, so it is not registered in areas yet
                            Area featureArea = new Area(tileAreas.get(f.getLocation()));
                            featureArea.transform(AffineTransform.getTranslateInstance(FULL_SIZE * (pos.x-x), FULL_SIZE*(pos.y-y)));
                            result.area.add(featureArea);
                        }
                        return true;
                    }

                    @Override
                    public FarmHint getResult() {
                        result.position = new Position(x, y);

                        int bestPower = 0;
                        List<Integer> bestPlayerIndexes = new ArrayList<>();
                        for (int i = 0; i < power.length; i++) {
                            if (power[i] == bestPower) {
View Full Code Here

        if (!Iterables.any(getActivePlayer().getFollowers(), MeeplePredicates.at(p))) {
            throw new IllegalArgumentException("The tile has deployed not own follower.");
        }

        FairyCapability cap = game.getCapability(FairyCapability.class);
        Position fromPosition = cap.getFairyPosition();
        cap.setFairyPosition(p);
        game.post(new NeutralFigureMoveEvent(NeutralFigureMoveEvent.FAIRY, getActivePlayer(), fromPosition, p));
        next();
    }
View Full Code Here

    public void loadFromSnapshot(Document doc, Element node) {
        NodeList nl = node.getElementsByTagName("wagon");
        for (int i = 0; i < nl.getLength(); i++) {
            Element wg = (Element) nl.item(i);
            Location loc = Location.valueOf(wg.getAttribute("loc"));
            Position pos = XmlUtils.extractPosition(wg);
            int playerIndex = Integer.parseInt(wg.getAttribute("player"));
            Player player = game.getPlayer(playerIndex);
            scoredWagons.put(player, getBoard().get(pos).getFeature(loc));
        }
    }
View Full Code Here

        }
    }


    public void resolveChallengedCloisters(Cloister cloister) {
        Position p = cloister.getTile().getPosition();
        for (Tile nt : game.getBoard().getAdjacentAndDiagonalTiles(p)) {
            if (nt.hasCloister()) {
                Cloister nextCloister = nt.getCloister();
                if (cloister.isShrine() ^ nextCloister.isShrine()) {
                    //opposite cloisters
View Full Code Here

        }

        nl = node.getElementsByTagName("castle");
        for (int i = 0; i < nl.getLength(); i++) {
            Element castleEl = (Element) nl.item(i);
            Position pos = XmlUtils.extractPosition(castleEl);
            Location loc = Location.valueOf(castleEl.getAttribute("location"));
            Castle castle = convertCityToCastle(pos, loc, true);
            boolean isNew = XmlUtils.attributeBoolValue(castleEl, "new");
            boolean isCompleted = XmlUtils.attributeBoolValue(castleEl, "completed");
            if (isNew) {
View Full Code Here

        return game.hasCapability(FairyCapability.class);
    }

    @Override
    public void enter() {
        Position fairyPos = fairyCap.getFairyPosition();
        if (fairyPos != null) {
            for (Meeple m : game.getDeployedMeeples()) {
                if (m.at(fairyPos) && m.getPlayer() == getActivePlayer()) {
                    m.getPlayer().addPoints(1, PointCategory.FAIRY);
                    game.post(new ScoreEvent(m.getPosition(), m.getPlayer(), 1, PointCategory.FAIRY));
View Full Code Here

        selectedLocation = null;
    }

    @Override
    public void zoomChanged(int squareSize) {
        Position prevSelectedPosition = selectedPosition;
        super.zoomChanged(squareSize);
        if (selectedPosition != null && selectedPosition.equals(prevSelectedPosition)) {
            //no square enter/leave trigger in this case - refresh areas
            areas = prepareAreas(gridPanel.getTile(selectedPosition), selectedPosition);
        }
View Full Code Here

TOP

Related Classes of com.jcloisterzone.board.Position

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.