a quanto ho capito devi fare una funzione che ricerca il massimo (punteggio nel tuo caso) in una lista...giusto??
bhè inizia scorrendo la lista, e poi non serve utilizzare tutti quei puntatori!
prova a vedere questo pezzo di codice:
codice:
TNode* Punteggio(TList lista){

    TNode *ptr_max_score=NULL; // puntatore dove salvo il nodo della lista contenente il massimo
    TNode *curr=lista; //puntatore usato per scorrere la lista
    int max= -1; //supponendo solo punteggi positivi all'interno della lista

	while(curr!=NULL){
	    if (curr->info.punteggio > max){
              ptr_max_score = curr;
              max = curr->info.punteggio;
	    }
	    curr=curr->next;
    }
    return ptr_max_score;
}