Advertisement
nicoviale_

Untitled

Jun 16th, 2023
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.73 KB | None | 0 0
  1. /**
  2.  * la funzione prende un array di giocatori, gli indici dei due giocatori,
  3.  * e il numero totale di giocatori come input
  4.  * restituisce un valore intero che rappresenta la distanza tra i due giocatori.
  5.  *
  6.  * prima calcolo la distanza tra giocatore_corrente e giocatore_da_controllare utilizzando
  7.  * la funzione valore assoluto e la memorizzo nella variabile distanza.
  8.  * Se la distanza è maggiore della metà del numero dei giocatori,
  9.  * significa che è più breve passare dall'altra parte del tavolo per raggiungere l'altro giocatore,
  10.  * quindi si toglire la distanza dal numero di giocatori
  11.  *
  12.  * Se il giocatore_da_controllare ha la carta MUSTANG nel proprio mazzo_giocate, la distanza viene incrementata di 1.
  13.  * Se il giocatore_corrente ha la carta MIRINO nel proprio mazzo_giocate,
  14.  * e la distanza attuale è maggiore di 1, la distanza viene decrementata di 1.
  15.  *
  16.  * @param array_giocatori
  17.  * @param giocatore_corrente
  18.  * @param giocatore_da_controllare
  19.  * @param numero_giocatori
  20.  * @return
  21.  */
  22. int distanza_tra(Giocatore array_giocatori[],int giocatore_corrente, int giocatore_da_controllare, int numero_giocatori ) //todo aggiungi prima del main
  23. {
  24.     int distanza= abs(giocatore_corrente-giocatore_da_controllare);
  25.     if(distanza>numero_giocatori/2)
  26.     {
  27.         distanza= numero_giocatori-distanza;
  28.     }
  29.  
  30.     //controllo mustang
  31.     if(trova_carta(&array_giocatori[giocatore_da_controllare].mazzo_giocate, MUSTANG) != NON_TROVATA)
  32.     {
  33.         distanza++;
  34.     }
  35.  
  36.     //controllo mirino
  37.     if(trova_carta(&array_giocatori[giocatore_corrente].mazzo_giocate, MIRINO) != NON_TROVATA)
  38.     {
  39.         if(distanza > DISTANZA_MINIMA )
  40.         {
  41.             distanza--;
  42.         }
  43.     }
  44.  
  45.     return distanza;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement