Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void gioca_bang(Giocatore giocatore[] ,int *numero_giocatori, int *giocatore_corrente,
- Mazzo *mazzo_pesca, Mazzo * mazzo_scarti, int indice_carta, int turno)
- {
- int vittima;
- //l'array viene utilizzato per pooter controllare facilmente chi può essere passato e chi no
- //se viene stampato, ha passato tutti i controlli e può anche essere scelto come target
- int array_giocatori_possibili[*numero_giocatori];
- //inizializzo l'array a NON VALIDO, se poi un giocatore passa il controllo lo aggiorno
- for(int i=0; i<*numero_giocatori; i++)
- {
- array_giocatori_possibili[i]=NON_VALIDO;
- }
- //scarto immediatamente la carta bang dal mazzo mano
- scarta(&giocatore[*giocatore_corrente], indice_carta, mazzo_scarti);
- pulisci_schermo();
- printf(" ____ _ _ _____ _ \n"
- " | _ \\ /\\ | \\ | |/ ____| |\n"
- " | |_) | / \\ | \\| | | __| |\n"
- " | _ < / /\\ \\ | . ` | | |_ | |\n"
- " | |_) / ____ \\| |\\ | |__| |_|\n"
- " |____/_/ \\_\\_| \\_|\\_____(_)\n"
- " \n"
- " ");
- printf("\n\nPuoi sparare ai seguenti giocatori: ");
- for(int i=0; i<*numero_giocatori; i++)
- {
- //mostro un giocatore da sparare solo se è diverso dal giocatore corrente e la sua distanza dal
- //bersaglio è minore o uguale alla gittata della propria arma
- if(i!=*giocatore_corrente)
- {
- if(distanza_tra(giocatore,*giocatore_corrente,
- i, *numero_giocatori )
- <= giocatore[*giocatore_corrente].gittata )
- {
- printf("\ngiocatore %d : %s \t ha %d vite", i+1,
- giocatore[i].nome_utente, giocatore[i].vite);
- array_giocatori_possibili[i]=VALIDO;
- }
- }
- }
- //controllo prima che l'indice sia in range, cosi da non sforare quando controllo l'array giocatori possibili
- do{
- printf("\n\na chi vuoi sparare? (inserisci numero corrispondente) ");
- scanf(" %d", &vittima);
- vittima--;
- if( vittima<0 || vittima>*numero_giocatori-1 ||
- array_giocatori_possibili[vittima]==NON_VALIDO )
- {
- printf("\nnumero inserito non valido!!");
- getchar();
- }
- }
- while( vittima<0 || vittima>*numero_giocatori-1 ||
- array_giocatori_possibili[vittima]==NON_VALIDO );
- log_(giocatore, BANG, *giocatore_corrente, vittima, NON_NECESSARIO, turno);
- //funzione che gestisce lo sparo effettivo
- spara_a(giocatore, numero_giocatori, giocatore_corrente, vittima, mazzo_pesca, mazzo_scarti , turno);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement