L'idea mi è venuta giocando ad un gioco online, facendo parte di un clan di amici ho pensato di organizzare dei tornei 1vs1 tra di noi, in modo da decretare il migliore della settimana/del mese e così via (uno dei tanti modi per incentivare tutti a migliorarsi all'interno del gioco)
Il problema restava quello dell'estrazione, a chi affidare il compito? Uno di noi avrebbe dovuto filmarsi mentre estraeva dei foglietti e postare poi il video su youtube Allora ho pensato che sarebbe stato interessante realizzare un piccolo programma che ci aiutasse
Una possibile specifica potrebbe essere:
Realizzare un programma in C per la gestione di un torneo 1vs1. Dato un numero pari di giocatori, acquisire i loro nomi e estrarre le coppie di sfidanti.
Esempio: 8 giocatori in totale. Nella prima fase del torneo faccio eseguire il programma, e ottengo 8/2 = 4 coppie di sfidanti. Queste persone si sfidano nel gioco, chi vince (quindi 4 giocatori) vengono iscritti alla seconda fase del torneo. Faccio eseguire il programma per una seconda volta, e ottengo 4/2 = 2 coppie di sfidanti. I vincitori delle 2 coppie vanno in finale, chi di loro vince è il più bravo del mese
In pratica, l'unica informazione che abbiamo sui giocatori è il loro nome. Memorizzo tutti quanti i nomi in una matrice, estraggo 2 numeri per ogni coppia e li uso per accedere ai nomi. Ad esempio:
srand((unsigned)time(NULL));
n = rand() % n_giocatori + 1;
m = rand() % n_giocatori + 1;
E poi li stampo in questo modo:
printf("\n\n%s <-- VS --> %s ", elenco[n], elenco[m]);
Adesso sto provando ad adattare il codice che mi hai scritto, in modo che estragga 2 giocatori ad ogni ciclo, speriamo di venirne fuori