Grazie per la risposta, Andrea.

Nella funzione percorriScacchiera (cuore del programma) sono presenti due istruzioni return, contenute rispettivamente in 2 blocchi if. La prima è return 1 (=insuccesso), la seconda è return 0 (= successo).

Debuggando il programma posso affermare con certezza che l'istruzione return 1 viene sicuramente raggiunta dal flusso del programma. In qualche modo però viene ignorata, perchè l'intero ritornato è sempre 8 (oppure viene interpretata sui generis).

Hai idea del perchè un'istruzione "return 1" possa venire così palesemente ignorata?

Grazie