Package com.barrybecker4.game.twoplayer.blockade.board

Examples of com.barrybecker4.game.twoplayer.blockade.board.BlockadeBoardPosition


    private void drawWalls(Graphics2D g2, BlockadeBoard board) {

        for ( int i = 1; i <= board.getNumRows(); i++ )  {
            for ( int j = 1; j <= board.getNumCols(); j++ ) {
                BlockadeBoardPosition pos = board.getPosition( i, j );
                BlockadePieceRenderer.renderWallAtPosition(g2, pos, cellSize, getMargin());
            }
        }
        if ( draggedWall_ != null ) {
            drawDraggedWall(g2, cellSize);
View Full Code Here


    private void drawShortestPaths(Graphics2D g2, BlockadeBoard board) {
        int numPieces = 0;
        for ( int i = 1; i <= board.getNumRows(); i++ )  {
            for ( int j = 1; j <= board.getNumCols(); j++ ) {
                BlockadeBoardPosition pos = board.getPosition( i, j );
                if (pos.isOccupied())       {
                    pieceRenderer_.render(g2, pos, cellSize, getMargin(), board);
                    if (GameContext.getDebugMode() > 0)
                       PathRenderer.drawShortestPaths(g2, pos, board, cellSize);
                    numPieces++;
                }
View Full Code Here

     */
    public BlockadeBoardPosition[] getCellLocations(int x, int y, Location loc, int cellSize) {

        int index = getWallIndexForPosition(x, y, loc, cellSize);

        BlockadeBoardPosition pos1 = null,  pos2 = null;

        switch (index) {
            case 0 :
                pos1 = board.getPosition(loc);
                pos2 = board.getPosition(loc.getRow()+1, loc.getCol());
View Full Code Here

        if (piece != null)  {
            // render the piece as normal
            super.render( g2, position, cellSize, margin, b);
        }
        // render the south and east walls if present
        BlockadeBoardPosition bpos = (BlockadeBoardPosition)position;

        renderWallAtPosition(g2, bpos, cellSize, margin);
    }
View Full Code Here

        ParameterArray initialGuess = new TantrixPath(board);
        assert(initialGuess.size() > 0) : "The random path should have some tiles!";
        long startTime = System.currentTimeMillis();

        Optimizer optimizer = new Optimizer(this);
        optimizer.setListener(this);

        ParameterArray solution =
            optimizer.doOptimization(strategy, initialGuess, SOLVED_THRESH);

        solution_ =
            new TantrixBoard(((TantrixPath)solution).getTilePlacements(), board.getPrimaryColor());

        TilePlacementList moves;
View Full Code Here

     * @return list of moves to a solution.
     */
    @Override
    public TilePlacementList solve()  {

        ParameterArray initialGuess = new TantrixPath(board);
        assert(initialGuess.size() > 0) : "The random path should have some tiles!";
        long startTime = System.currentTimeMillis();

        Optimizer optimizer = new Optimizer(this);
        optimizer.setListener(this);

        ParameterArray solution =
            optimizer.doOptimization(strategy, initialGuess, SOLVED_THRESH);

        solution_ =
            new TantrixBoard(((TantrixPath)solution).getTilePlacements(), board.getPrimaryColor());

View Full Code Here

     * Draw one of the tile paths which takes one of three forms.
     */
    public void drawPath(Graphics2D g2, int pathNumber, TilePlacement tilePlacement,
                         Point position, double size) {

        HexTile tile = tilePlacement.getTile();
        int pathStartIndex = getPathStartIndex(tile, pathNumber);

        int i = pathStartIndex + 1;

        PathColor pathColor = tile.getEdgeColor(pathStartIndex);
        while (pathColor != tile.getEdgeColor(i++)) {
            assert(i<6): "Should never exceed 6";
        }

        int pathEndIndex = i-1;
        int diff = pathEndIndex - pathStartIndex;
View Full Code Here

        this.numTiles = numTiles;
    }

    public TantrixBoard initialPosition() {
        //MathUtil.RANDOM.setSeed(1);
        return new TantrixBoard(new HexTiles().createRandomList(numTiles));
    }
View Full Code Here

    public boolean isGoal(TantrixBoard position) {
        return position.isSolved();
    }

    public TilePlacementList legalMoves(TantrixBoard position) {
        return new MoveGenerator(position).generateMoves();
    }
View Full Code Here

        HexTile tile = tilePlacement.getTile();
        int pathStartIndex = getPathStartIndex(tile, pathNumber);

        int i = pathStartIndex + 1;

        PathColor pathColor = tile.getEdgeColor(pathStartIndex);
        while (pathColor != tile.getEdgeColor(i++)) {
            assert(i<6): "Should never exceed 6";
        }

        int pathEndIndex = i-1;
View Full Code Here

TOP

Related Classes of com.barrybecker4.game.twoplayer.blockade.board.BlockadeBoardPosition

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.