public  void run()
		{
			while( active && ! board.isGameOver() )
			{
        
				//get the players move.
				Player player = getCurrentPlayer();
				Move move = player.getMove((Board) board.clone());
				if(move == null)
				{
					//ignore null moves
					continue;
				}
        
				//if we are still active, make the move
				boolean moveMade = false;
  
				if(active)  
				{
					moveMade = board.move(move); 
				}
        
				//if we are still active, and the move was made, notify listeners
				if(active && moveMade)
				{
					advancePlayer();
					notifyListenersMoveMade(move);
				}
        
        
			}//end while
			
			if(active && board.isGameOver())
			{
				notifyListenersGameStoped();
			}

			active = false;
		}//end run