package chess4j.moves;

import java.util.List;

import chess4j.board.Board;



public interface MoveGen {

	/**
	 * 
	 * @author james
	 *
	 * This should be preferred over using a concrete class directly, as it
	 * will allow a quick "swap out" of the concrete class without bothering
	 * the clients.
	 */
	/*public class Locator {
		public static MoveGen getInstance() {
			return MoveGenImpl.getInstance();
		}
	}*/
	
	public List<Move> genLegalMoves(Board board);
	public List<Move> genPseudoLegalMoves(Board board);
}
