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); }

Rispondi quotando

