@Override public void run ( ) {
    if ( Core.first ) {
      Core.moves = this.main.computeFirstMove ( ) ;

    } else {
      Core.moves = this.main.commuteNextMove ( ) ;
    }
    this.moves = Core.moves ;
    if ( this.moves.isEmpty ( ) ) {
      if ( this.main.hand.isEmpty ( ) ) {
        GUI.write ( "Use the command, 'draw <character sequence>', "
            + "to add words to your hand." ) ;
      }
      GUI.write ( "No Words Found" ) ;
    } else {
      Collections.sort ( this.moves ) ;
      GUI.gui.setWordList ( this.moves ) ;

      Vector<Move> mcpy = new Vector<Move> ( 10 ) ;

      int i = 0 ;
      for ( ; i < 10 && this.moves.size ( ) > i ; i++ ) {
        mcpy.add ( this.moves.get ( i ) ) ;
      }

      Collections.reverse ( mcpy ) ;
      for ( final Move m : mcpy ) {
        GUI.write ( String.format ( "%3d", i ) + ": " + m.toFullString ( ) ) ;
        i-- ;
      }
      GUI.write ( "The scores and positions have been given. "
          + "Type 'place #' to place the word on the board." ) ;
      GUI.write ( "The following are the words that have been found and, "
          + "which can be places on this board." ) ;
    }
    this.console.getToolkit ( ).beep ( ) ;
    this.frame.setVisible ( false ) ;
    this.frame.setEnabled ( false ) ;
  }