Ho pensato che un giocatore potrebbe ripensare alla posizione di una nave, quindi vorrei chiedere alla fine una conferma sulle posizioni inserite, se il giocatore risponde di sì si va avanti, altrimenti viene ripetuta la richiesta di inserimento delle coordinate.
Ho provato a scrivere questo codice, ma credo di avere dei problemi nella gestione della risposta. Ho provato utilizzando un while come per le coordinate, ma non mi riesce, poi ho scritto questo e non funziona lo stesso
Codice:
while(!corretto){
while(Count > 0) {
printf("Nave %i: Colonna_", nave);
// A-J
while((c_col < 65) || (c_col > 74))
c_col = getch();
coorx[0] = c_col;
mArray[nave-1].colonna = coorx[0];
printf("%c Riga_", c_col);
c_col = ' '; // reset
// 0-9
while(((c_raw < 48) || (c_raw > 57)))
c_raw = getch();
printf("%c", c_raw);
tmpStr[0] = c_raw;
c_raw = ' '; // reset
// 0-9 o ENTER per non dare coordinata a cifra singola
while(((c_raw < 48) || (c_raw > 57)) && (c_raw != 13))
c_raw = getch();
printf("%c", c_raw);
tmpStr[1] = c_raw;
c_raw = ' '; // reset
printf("\n\r");
mArray[nave-1].riga = atoi(tmpStr);
Count --;
nave++;
}
printf("Confermi le posizioni delle navi? (S/N) ");
conferma = getchar();
if((conferma != 'N') || (conferma != 'S'))
do {
fflush(stdin);
printf("\nConfermi le posizioni delle navi? (S/N) ");
conferma = getchar();
}while((conferma != 'N') || (conferma != 'S'));
if(conferma == 'S')
corretto = TRUE;
else{
for(i=0;i<numeroNavi;i++) {
mArray[i].colonna = ' ';
mArray[i].riga = 0;
}
Count = numeroNavi;
navi = 1;
}
}
l'inizio è uguale a quello postato in precedenza.