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 ....
codice:
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);
}