Esercizio

Si consideri un formato di rappresentazione testuale di un diagramma scacchistico nel quale gli scacchi liberi sono contrassegnati attraverso il carattere '.' e i vari pezzi secondo le lettere del seguente schema:

k re
q regina
r torre
b alfiere
n cavallo
p pedone

tali lettere sono maiuscole per i bianchi e minuscole per i neri.

I pedoni bianchi muovono dal basso verso l'alto.

Scrivere un programma che legga da riga di comando il nome di un file che conterrà (in otto righe di otto caratteri) una scacchiera secondo la rappresentazione sopra definita e determini se il re bianco o il re nero siano sotto scacco.
Il programma dovrà opportunamente controllare che il file esista e che sia nel formato corretto.

Per verificare se un pezzo è sotto scacco basta controllare se è in una posizione minacciata da un pezzo avversario. A tal fine basta ricordare che:

Esempio

Se il file contiene:

n.......
.....B..
R.....k.
....NP..
.K......
........
q.rr..R.
........

Il programma dovrà dare in output:

Il re bianco non è sotto scacco
Il re nero è sotto scacco