Examples of TwoPlayerController


Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

     * start over with a new game using the current options.
     */
    @Override
    public void startNewGame() {
        reset();
        TwoPlayerController controller = get2PlayerController();
        if (get2PlayerController().getTwoPlayerOptions().isAutoOptimize())  {
            runOptimization();
        }
        if (controller.getPlayers().allPlayersComputer() ) {
            controller.computerMovesFirst();
            doComputerMove( false );
        }
        else if ( controller.doesComputerMoveFirst() ) {
            // computer vs human opponent
            controller.computerMovesFirst();
            refresh();
        }
        // for all other cases a human moves first
        // see the mouseClicked callback method for details
    }
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

     * @param move the move to make.
     * @return true if the game is over now.
     */
    private boolean manMoves( TwoPlayerMove move) {

        TwoPlayerController c = get2PlayerController();
        if ( GameContext.getUseSound() ) {
            GameContext.getMusicMaker().playNote( c.getTwoPlayerOptions().getPreferredTone(), 45, 0, 200, 1000 );
        }
        // need to clear the cache, otherwise we may render a stale board.
        cachedGameBoard_ = null;
        c.manMoves(move);

        // need to refresh here to show man moves in human only game
        if (c.getPlayers().allPlayersHuman())  {
            refresh();
        }

        // Second arg was true, but then we did final update twice.
        boolean done = c.getSearchable().done(move, false);
        sendGameChangedEvent(move);
        return done;
    }
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

     * Called when the game has changed in some way
     * @param evt change event
     */
    @Override
    public void gameChanged(GameChangedEvent evt) {
        TwoPlayerController c = get2PlayerController();
        assert c == evt.getController();

        // note: we don't show the winner dialog if we are having the computer play against itself.
        if (c.getSearchable().done((TwoPlayerMove)evt.getMove(), true)
                && c.getTwoPlayerOptions().getShowGameOverDialog()) {
            showWinnerDialog();
            //c.reset();
        }
        else {
            if (get2PlayerController().getPlayers().allPlayersComputer() && evt.getMove() != null) {
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

     * @param move the current move (it must not be null)
     * @return false if the game is at an end, otherwise return true
     */
     public final boolean continuePlay( TwoPlayerMove move ) {
         boolean done;
         TwoPlayerController controller = get2PlayerController();
         if (controller.getPlayers().allPlayersComputer()) {
             refresh();
             done = doComputerMove(!move.isPlayer1());
         }
         else {
             if ( controller.isPlayer1sTurn() ) {
                 assert !controller.isProcessing();
                 done = manMoves( move );
                 if ( !controller.getPlayers().getPlayer2().isHuman() && !done )  {
                     done = doComputerMove( false );
                 }
             }
             else { // player 2s turn
                 done = manMoves( move );
                 if ( !controller.getPlayers().getPlayer1().isHuman() && !done )  {
                     done = doComputerMove( true );
                 }
             }
         }
         return !done;
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

    /**
     * return the game to its state before the last human move.
     */
    public void undoLastManMove()  {
        TwoPlayerController c = get2PlayerController();
        PlayerList players = c.getPlayers();
        if ( players.allPlayersComputer() )
            return;
        Move move = c.undoLastMove();
        if ( move != null ) {
            undoneMoves_.add( move );
            if ( !players.allPlayersHuman() ) {
                undoneMoves_.add( c.undoLastMove() );
            }
            refresh();
        }
        else
            JOptionPane.showMessageDialog( this,
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

    /**
     * redo the last human player's move.
     */
    public void redoLastManMove()  {
        TwoPlayerController c = get2PlayerController();
        PlayerList players = c.getPlayers();
        if ( undoneMoves_.isEmpty() ) {
            JOptionPane.showMessageDialog( null,
                    GameContext.getLabel("NO_MOVES_TO_REDO"),
                    GameContext.getLabel("WARNING"),
                    JOptionPane.WARNING_MESSAGE );
            return;
        }
        if ( players.allPlayersComputer() )
            return;
        c.makeMove(undoneMoves_.removeLast());
        if ( !players.allPlayersHuman() ) {
            c.makeMove(undoneMoves_.removeLast());
        }
        refresh();
    }
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

    /**
     * @return the cached game board if we are in the middle of processing.
     */
    @Override
    public Board getBoard() {
       TwoPlayerController c = get2PlayerController();

       if (cachedGameBoard_ == null) {
           cachedGameBoard_ = (Board)c.getBoard().copy();
       }
       if (c.isProcessing() && !c.getTwoPlayerOptions().isAutoOptimize()) {
           return cachedGameBoard_;
       }
       else {
           return (Board)c.getBoard();
       }
    }
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

    /**
     *  Display all the relevant info for the moused over move.
     */
    public void setText(AbstractTwoPlayerBoardViewer viewer, TwoPlayerMove m, SearchTreeNode lastNode) {
        TwoPlayerPieceRenderer renderer = (TwoPlayerPieceRenderer)viewer.getPieceRenderer();
        TwoPlayerController controller = (TwoPlayerController)viewer.getController();
        String passSuffix = m.isPassingMove() ? " (Pass)" : "";
        String entity = "Human's move";
        int numKids = lastNode.getChildMoves()==null? 0 : lastNode.getChildMoves().length;

        Color c = renderer.getPlayer2Color();
        if ( m.isPlayer1() )
            c = renderer.getPlayer1Color();
        PlayerList players = controller.getPlayers();
        if ( (m.isPlayer1() && !players.getPlayer1().isHuman()) ||
             (!m.isPlayer1() && !players.getPlayer2().isHuman()) )
            entity = "Computer's move";

        StringBuilder sBuf = new StringBuilder("<html>");
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

     * Initialize the board based on the SGF game.
     */
    @Override
    protected void parseSGFGameInfo( SGFGame game) {

        TwoPlayerController gc = (TwoPlayerController) controller_;

        Enumeration e = game.getInfoTokens();
        int numRows = 15; // default unless specified
        int numCols = 12; // default unless specified
        while (e.hasMoreElements()) {
            InfoToken token = (InfoToken) e.nextElement();
            if (token instanceof Size2Token) {
                Size2Token sizeToken = (Size2Token)token;
                GameContext.log(2, "info token columns =" + sizeToken.getNumColumns() +" rows=" + sizeToken.getNumRows());
                numRows = sizeToken.getNumRows();
                numCols = sizeToken.getNumColumns();
            }
            else if (token instanceof Player2NameToken) {
                Player2NameToken nameToken = (Player2NameToken) token;
                gc.getPlayers().getPlayer2().setName(nameToken.getName());
            }
            else if (token instanceof Player1NameToken) {
                Player1NameToken nameToken = (Player1NameToken) token;
                gc.getPlayers().getPlayer1().setName(nameToken.getName());
            }
        }
        ((IRectangularBoard)gc.getBoard()).setSize(numRows, numCols);
    }
View Full Code Here

Examples of com.barrybecker4.game.twoplayer.common.TwoPlayerController

        return new PlayerAssignmentPanel(get2PlayerController(), parent_);
    }

    @Override
    protected void ok() {
        TwoPlayerController c = get2PlayerController();
        IRectangularBoard board = (IRectangularBoard) board_;

        if (board != null && gridParamPanel_!= null) {
            board.setSize(gridParamPanel_.getRowSize(), gridParamPanel_.getColSize());
        }

        PlayerList players = c.getPlayers();
        if (optimizationCheckbox_.isSelected())
        {
            players.getPlayer1().setHuman(false);
            players.getPlayer2().setHuman(false);
            c.getTwoPlayerOptions().setAutoOptimize(true);
        }
        else {
            playersPanel_.ok();
        }
        if (board != null && gridParamPanel_ != null) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.