Salve a tutti , il problema è semplice ...nel codice utilizzo 2 getchar .... il primo è come se venisse saltato ,quindi non devo premere nessun tasto per contunuare mentre il secondo funziona correttamente..... non capisco proprio dove sbaglio....... vi lascio il codice in questione ....
for (int i = 0; i < 999999 ; i++) {printf("Ciccio tocca a te,spara con il tuo lanciarazzi per provare a distruggere la torre di Ninja!\n\n" );
sleep(1);
printf("Premi un tasto per sparare !\n" );
getchar();
sleep(2);
if (rand()%101<=colpo_ciccio) {
printf("Il colpo è andato a segno! Hai distrutto un piano della torre di Ninja!\n\n" );//rimozione testa lista
eliminatesta_torre(&listaNinja);
--Ninja.zaino[materiale];//rimozione testa lista
--Ciccio.zaino[colpi_lanciarazzi];
if(Ciccio.zaino[materiale]==0||Ninja.zaino[colpi_lanciarazzi]==0||Ninja.zaino[materiale]==0||Ciccio.zaino[colpi_lanciarazzi]==0){
break;
}
}else{
printf("Hai mancato il bersaglio, ritenta!\n\n");
--Ciccio.zaino[colpi_lanciarazzi];
if (Ciccio.zaino[colpi_lanciarazzi]==0) {
break;
}
}
sleep(2);
printf("Ninja tocca a te ,spara con il tuo lanciarazzi per provare a distruggere la torre di Ciccio\n\n" );
sleep(1);
printf("Premi un tasto per sparare !\n" );
getchar();
sleep(2);
if (rand()%101<=colpo_ninja) {
printf("Il colpo è andato a segno! Hai distrutto un piano della torre di Ciccio!\n\n" );//rimozione testa lista
eliminatesta_torre(&listaCiccio);
--Ciccio.zaino[materiale];//rimozione testa lista
--Ninja.zaino[colpi_lanciarazzi];
if(Ciccio.zaino[materiale]==0||Ninja.zaino[colpi_lanciarazzi]==0||Ninja.zaino[materiale]==0||Ciccio.zaino[colpi_lanciarazzi]==0){
break;
}
}else{
printf("Hai mancato il bersaglio, ritenta!\n\n");
--Ninja.zaino[colpi_lanciarazzi];
if (Ninja.zaino[colpi_lanciarazzi]==0) {
break;
}
}
printf("Queste sono le vostre torri allo stato attuale!\n\n" );
visualizza_torre(listaNinja); // stampa la lista ninja
visualizza_torre(listaCiccio);// stampa lista ciccio
sleep(2);
}