Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Partita caricamento (Partita ng){
- int index;
- int i, j;
- char nomeFile[NOMESALVATAGGIO+1];
- Cards carta;
- char sav[] = ".sav";
- ng.caricamento = 1; ///questa variabile serve per effettuare controlli prima di iniziare la partita, se impostata ad 1
- printf("\nScegliere il file da caricare:\n--> ");
- scanf("%23s", nomeFile);
- strcat (nomeFile, sav); ///vengono unite le stringhe
- printf("\n%s",nomeFile);
- ng.fp = fopen(nomeFile, "rb"); ///viene aperto il file
- if(ng.fp == NULL){
- printf("\nFile non valido: riga 785");
- exit(-1);
- }
- ng.mazzo = NULL; ///viene impostato il mazzo a NULL
- for(i = 0; i < NUM_G; i++) ///vengono lette le caratteristiche dei giocatori
- {
- fread(ng.players[i].nome, sizeof(char), NOME+1, ng.fp);
- fread(&ng.players[i].status, sizeof(_Bool), 1, ng.fp);
- if(ng.players[i].status == true)
- {
- fread(&ng.players[i].carteMano, sizeof(int), 1, ng.fp);
- printf("\nCarte in mano %s: %d ", ng.players[i].nome, ng.players[i].carteMano);
- ng.players[i].carte = (Cards*)malloc(ng.players[i].carteMano*sizeof(Cards)); ///viene allocata memoria per le carte del giocatore
- if(ng.players[i].carte == NULL){
- printf("\nImpossibile allocare");
- exit(-1);
- }
- fread(&ng.players[i].tipo, sizeof(type_g), 1, ng.fp);
- ///vengono lette le carte in mano ad ogni giocatore
- for(j = 0; j < ng.players[i].carteMano; j++) ///vengono lette le carte in mano ai giocatori
- { ///vengono caricate le carte in mano al giocatore, nel caso non avesse la mano vuota
- fread(ng.players[i].carte[j].frase, sizeof(char), FRASE+1, ng.fp);
- fread(&ng.players[i].carte[j].tipoC, sizeof(tipoCarte), 1, ng.fp);
- }
- }
- }
- ///vengono caricate le carte della lista
- fread(&ng.numRimanenti, sizeof(int), 1, ng.fp); ///lette le carte rimanenti
- printf("\n Numero carte rimanenti %d", ng.numRimanenti);
- for(i = 0; i < ng.numRimanenti; i++){///viene letta la lista
- fread(carta.frase, sizeof(char), FRASE+1, ng.fp);
- fread(&carta.tipoC, sizeof(tipoCarte), 1, ng.fp);
- ng.mazzo = inserimentoCartaInCoda(ng.mazzo, carta);
- }
- ///vengono caricate le informazioni aggiuntive
- fread(&ng.informazioni.turnoG, sizeof(int), 1, ng.fp); ///viene letto il giocatore a cui spetta il turno
- index = ng.informazioni.turnoG;
- printf("\n Variabile informazioni %d \n variabile index %d", ng.informazioni.turnoG, index);
- fread(&ng.informazioni.savedAfterAttack, sizeof(_Bool), 1, ng.fp);
- printf("\n Giocatore a cui spetta il turno: %d",ng.informazioni.turnoG);
- fclose(ng.fp);
- stampaLista(ng.mazzo);
- for(i = 0; i < NUM_G; i++){
- printf("\n%s", ng.players[i].nome);
- if(ng.players[i].status == true){
- for(j = 0 ; j < ng.players[i].carteMano; j ++ ){
- printf("\n%d %s", ng.players[i].carte[j].tipoC, ng.players[i].carte[j].frase );
- }
- }
- }
- return ng;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement