/*
 * Created on Mar 24, 2004
 *
 */
package ooga;

/**
 *
 */
public class GUIPlayer implements IPlayer {

    private GUIView myView;
    private Move myMove;

    public GUIThread extends Thread
    {
	public GUIThread(){
	    super(Globals.THREAD_GROUP,"dummy");
	}
	public void run(){
	    Move move = null;
	    while ((move = myView.getMove()) == null){
		try {
		    Thread.sleep(500);
		} catch (InterruptedException e) {
		    break; // out of loop
		}
	    }
	    myMove = move;
	}
    }
    


    
	public GUIPlayer(GUIView view){
		myView = view;
	}
	/**
	 * @see ooga.IPlayer#getMove(ooga.IGameModel)
	 */
	public Move getMove(IGameModel model) {
		Move move = null;
		myView.allowMoves(true);
		GUIThread gt = new GUIThread();
		gt.start();
		gt.join();
		myView.allowMoves(false);
		return myMove;
	}

	/**
	 * @see ooga.IPlayer#getName()
	 */
	public String getName() {
		// TODO Auto-generated method stub
		return "GUIplayer";
	}

}
