public int compareTo(pontuacao p1) {
int diff = p1.escore - escore;
return diff == 0 ? nome.compareTo(p1.nome) : diff;
}
Passa-se um objeto pontuacao pra esse método.
Caso a diferença dos atributos score seja igual a zero (ambos tem o mesmo score), retorna-se a comparação dos nomes (caso sejam iguais, um int (provavelmente -1, 0 ou 1 (Não sei como funciona compareTo de String)). Caso a diferença de scores seja diferente de zero, retorna a diferença.
EDIT - Acabei de testar aqui: String.compareTo(String) retorna a diferença de quantidade de caracteres entre as strings comparadas. 0 para mesma quantidade, um numero negativo caso a string comparada tenha uma quantidade menor de caracteres, e positivo caso tenha quantidade maior do que a string passada como parametro.
EDIT 2 - Observe que não dá pra distinguir se o retorno é a diferença de score ou a diferença de quantidade de caracteres do nome.
EDIT 3 - O primeiro EDIT não é totalmente o correto. Li o JavaDoc desse método, e percebi que o buraco é muito mais embaixo. De qualquer forma, o método retorna 0 se as duas strings forem iguals, e a diferença de caracteres é retornada quando as uma string está contida no inicio da outra, que tem um length maior.