public Vector<Move> genMoves2( int i, int j) {
      List<Move> result = new Vector<Move>();
      Piece p = findPiece( i, j, nextPlayerToMove);
      if (mBoard[i][j] == checker_of( nextPlayerToMove )){
        for ( int dx = -1; dx <= 1; dx++ )
          for (int dy = -1; dy <= 1; dy++ ) {
            if ( dx == 0 && dy == 0 )
              continue;
            int d = dist( i, j, dx, dy );
            Move m = new Move(i,j, i+d*dx,j+d*dy,0,p);
            if (move_ok(m))
              result.add(m);
          }
      }
      return (Vector<Move>)result;
    }