www.pudn.com > Bluegammon蓝牙的应用编程.rar > BoardStateListener.java


// Copyright (c) 2005 Sony Ericsson Mobile Communications AB 
// 
// This software is provided "AS IS," without a warranty of any kind.  
// ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,  
// INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A  
// PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.  
// 
// THIS SOFTWARE IS COMPLEMENTARY OF JAYWAY AB (www.jayway.se) 
 
package bluegammon.logic; 
 
/** 
 * Implementations of this interface can be registered in 
 * the BoardState and will receive events when the state changes. 
 * BoardStateListener is used for low-level reports when pieces should 
 * be moved on a gui, etc. 
 *  
 * @author Peter Andersson 
 */ 
public interface BoardStateListener 
{ 
    /** 
     * Called from BoardState when turn changes. 
     *  
     * @param whiteTurn	true if white turn, false if black. 
     */ 
  	public void turnChange(boolean whiteTurn); 
  	/** 
  	 * Called from BoardState whenever a piece is moved. 
  	 *  
  	 * @param white	true if white piece, false otherwise 
  	 * @param from	piece source index 
  	 * @param to	piece destination index 
  	 */ 
	public void pieceMoved(boolean white, int from, int to); 
	/** 
	 * Called from BoardState when a possible undo has been added 
	 *  
	 * @param undos	Number of current undos 
	 * @param diceValue	The dice value that can be used for undo (1-6) 
	 */ 
	public void undoAdded(int undos, int diceValue); 
	/** 
	 * Called from BoardState when an undo is performed. 
	 *  
	 * @param undos		Number of current undos 
	 * @param diceValue	The dice value that was used for undo (1-6) 
	 */ 
	public void undoPerformed(int undos, int diceValue); 
	/** 
	 * Called from BoardState when a game is finished 
	 *  
	 * @param whiteWinner			True if white player wins, false if black player wins 
	 * @param loserPiecesLeft		Total number of loser pieces left  
	 * @param points				Point per piece 
	 */ 
	public void gameFinished(boolean whiteWinner, int loserPiecesLeft, int points); 
}