Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * la funzione prende un array di giocatori, gli indici dei due giocatori,
- * e il numero totale di giocatori come input
- * restituisce un valore intero che rappresenta la distanza tra i due giocatori.
- *
- * prima calcolo la distanza tra giocatore_corrente e giocatore_da_controllare utilizzando
- * la funzione valore assoluto e la memorizzo nella variabile distanza.
- * Se la distanza è maggiore della metà del numero dei giocatori,
- * significa che è più breve passare dall'altra parte del tavolo per raggiungere l'altro giocatore,
- * quindi si toglire la distanza dal numero di giocatori
- *
- * Se il giocatore_da_controllare ha la carta MUSTANG nel proprio mazzo_giocate, la distanza viene incrementata di 1.
- * Se il giocatore_corrente ha la carta MIRINO nel proprio mazzo_giocate,
- * e la distanza attuale è maggiore di 1, la distanza viene decrementata di 1.
- *
- * @param array_giocatori
- * @param giocatore_corrente
- * @param giocatore_da_controllare
- * @param numero_giocatori
- * @return
- */
- int distanza_tra(Giocatore array_giocatori[],int giocatore_corrente, int giocatore_da_controllare, int numero_giocatori ) //todo aggiungi prima del main
- {
- int distanza= abs(giocatore_corrente-giocatore_da_controllare);
- if(distanza>numero_giocatori/2)
- {
- distanza= numero_giocatori-distanza;
- }
- //controllo mustang
- if(trova_carta(&array_giocatori[giocatore_da_controllare].mazzo_giocate, MUSTANG) != NON_TROVATA)
- {
- distanza++;
- }
- //controllo mirino
- if(trova_carta(&array_giocatori[giocatore_corrente].mazzo_giocate, MIRINO) != NON_TROVATA)
- {
- if(distanza > DISTANZA_MINIMA )
- {
- distanza--;
- }
- }
- return distanza;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement