Package com.jcloisterzone.board

Examples of com.jcloisterzone.board.Position


    }

    @Test
    public void unfinishedInn() {
        Tile t;
        t = putTile(new Position(0,0), Rotation.R0, Expansion.BASIC, "RCr");
        putTile(new Position(-1,0), Rotation.R0, Expansion.BASIC, "RRRR");
        putTile(new Position(1,0), Rotation.R0, Expansion.INNS_AND_CATHEDRALS, "RFr.i");

        assertScore(0, t, Location.W);
    }
View Full Code Here


    }

    @Test
    public void well() {
        Tile t;
        t = putTile(new Position(0,0), Rotation.R0, Expansion.ABBEY_AND_MAYOR, "Rrr");
        putTile(new Position(0,-1), Rotation.R0, Expansion.ABBEY_AND_MAYOR, "R");
        putTile(new Position(-1, 0), Rotation.R270, Expansion.ABBEY_AND_MAYOR, "R");
        putTile(new Position(1, 0), Rotation.R90, Expansion.ABBEY_AND_MAYOR, "R");

        assertScore(4, t, Location.W);
    }
View Full Code Here

  }
 
  @Test
  public void single() {   
    Tile t;
    t = putTile(new Position(0,0), Rotation.R0, Expansion.BASIC, "L");   
   
    assertScore(1, t);   
  }
View Full Code Here

  }
 
  @Test
  public void incomplete() {   
    Tile t;
    t = putTile(new Position(0,0), Rotation.R0, Expansion.BASIC, "L");   
    putTile(new Position(1,0), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(1,1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(0,1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(-1,0), Rotation.R0, Expansion.BASIC, "L");
   
    assertScore(5, t);   
  }
View Full Code Here

  }
 
  @Test
  public void completed() {   
    Tile t;
    t = putTile(new Position(0,0), Rotation.R0, Expansion.BASIC, "LR");   
    putTile(new Position(1,0), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(1,1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(0,1), Rotation.R90, Expansion.BASIC, "RFr");
    putTile(new Position(-1,0), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(-1,-1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(0,-1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(1,-1), Rotation.R0, Expansion.BASIC, "L");
    putTile(new Position(-1,1), Rotation.R0, Expansion.BASIC, "L");
   
    assertScore(9, t);   
  }
View Full Code Here

    }

    public static Position extractPosition(Element el) {
        int x = Integer.parseInt(el.getAttribute("x"));
        int y = Integer.parseInt(el.getAttribute("y"));
        return new Position(x, y);
    }
View Full Code Here

        super(gridPanel);
        castleImage = getClient().getFigureTheme().getNeutralImage("castle");
    }

    public void castleDeployed(Castle castle1, Castle castle2) {
        Position p1 = castle1.getTile().getPosition();
        Position p2 = castle2.getTile().getPosition();
        Position pos;
        Rotation rot;

        if (p1.x == p2.x) {
            pos = p1.y < p2.y ? p1 : p2;
            rot = Rotation.R0;
View Full Code Here

    /**
     * simple heuristic
     */
    public void selectDragonMove(Game game) {
        Position dragonPosition = game.getCapability(DragonCapability.class).getDragonPosition();
        double tensionX = 0, tensionY = 0;

        for (Meeple m : game.getDeployedMeeples()) {
            int distance = dragonPosition.squareDistance(m.getPosition());
            if (distance == 0 || distance > rootEv.getMovesLeft()) continue;
            if (m.getFeature() instanceof Castle) continue;

            double weight = 1.0 / (distance * distance);
            if (aiPlayer.getPlayer().equals(m.getPlayer())) {
                weight *= -0.8//co takhle 0.8
            }
            tensionX += weight * (m.getPosition().x - dragonPosition.x);
            tensionY += weight * (m.getPosition().y - dragonPosition.y);
        }

        double minDiff = Double.MAX_VALUE;
        Position result = null;
        for (Position p : rootEv.getPositions()) {
            double diff =
                Math.abs(p.x - dragonPosition.x - tensionX) + Math.abs(p.y - dragonPosition.y - tensionY);
            if (diff < minDiff) {
                minDiff = diff;
View Full Code Here

        return true;
    }

    protected boolean selectDummyTilePlacement(TilePlacementAction action) {
        TilePlacement nearest = null;
        Position p0 = new Position(0, 0);
        int min = Integer.MAX_VALUE;
        for (TilePlacement tp : action) {
            int dist = tp.getPosition().squareDistance(p0);
            if (dist < min) {
                min = dist;
View Full Code Here

    }

    @Test
    public void tiny() {
        Tile t;
        t = putTile(new Position(0,0), Rotation.R0, Expansion.BASIC, "RCr");
        putTile(new Position(0,-1), Rotation.R0, Expansion.INNS_AND_CATHEDRALS, "CCCC");

        assertScore(4, t, Location.N);
    }
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.