Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. Partita caricamento (Partita ng){
  2.  
  3. int index;
  4. int i, j;
  5. char nomeFile[NOMESALVATAGGIO+1];
  6. Cards carta;
  7. char sav[] = ".sav";
  8.  
  9. ng.caricamento = 1; ///questa variabile serve per effettuare controlli prima di iniziare la partita, se impostata ad 1
  10. printf("\nScegliere il file da caricare:\n--> ");
  11. scanf("%23s", nomeFile);
  12. strcat (nomeFile, sav); ///vengono unite le stringhe
  13. printf("\n%s",nomeFile);
  14. ng.fp = fopen(nomeFile, "rb"); ///viene aperto il file
  15. if(ng.fp == NULL){
  16. printf("\nFile non valido: riga 785");
  17. exit(-1);
  18. }
  19. ng.mazzo = NULL; ///viene impostato il mazzo a NULL
  20.  
  21. for(i = 0; i < NUM_G; i++) ///vengono lette le caratteristiche dei giocatori
  22. {
  23. fread(ng.players[i].nome, sizeof(char), NOME+1, ng.fp);
  24. fread(&ng.players[i].status, sizeof(_Bool), 1, ng.fp);
  25. if(ng.players[i].status == true)
  26. {
  27. fread(&ng.players[i].carteMano, sizeof(int), 1, ng.fp);
  28. printf("\nCarte in mano %s: %d ", ng.players[i].nome, ng.players[i].carteMano);
  29. ng.players[i].carte = (Cards*)malloc(ng.players[i].carteMano*sizeof(Cards)); ///viene allocata memoria per le carte del giocatore
  30. if(ng.players[i].carte == NULL){
  31. printf("\nImpossibile allocare");
  32. exit(-1);
  33. }
  34. fread(&ng.players[i].tipo, sizeof(type_g), 1, ng.fp);
  35. ///vengono lette le carte in mano ad ogni giocatore
  36. for(j = 0; j < ng.players[i].carteMano; j++) ///vengono lette le carte in mano ai giocatori
  37. { ///vengono caricate le carte in mano al giocatore, nel caso non avesse la mano vuota
  38. fread(ng.players[i].carte[j].frase, sizeof(char), FRASE+1, ng.fp);
  39. fread(&ng.players[i].carte[j].tipoC, sizeof(tipoCarte), 1, ng.fp);
  40. }
  41. }
  42. }
  43. ///vengono caricate le carte della lista
  44. fread(&ng.numRimanenti, sizeof(int), 1, ng.fp); ///lette le carte rimanenti
  45. printf("\n Numero carte rimanenti %d", ng.numRimanenti);
  46. for(i = 0; i < ng.numRimanenti; i++){///viene letta la lista
  47. fread(carta.frase, sizeof(char), FRASE+1, ng.fp);
  48. fread(&carta.tipoC, sizeof(tipoCarte), 1, ng.fp);
  49. ng.mazzo = inserimentoCartaInCoda(ng.mazzo, carta);
  50. }
  51.  
  52. ///vengono caricate le informazioni aggiuntive
  53. fread(&ng.informazioni.turnoG, sizeof(int), 1, ng.fp); ///viene letto il giocatore a cui spetta il turno
  54. index = ng.informazioni.turnoG;
  55. printf("\n Variabile informazioni %d \n variabile index %d", ng.informazioni.turnoG, index);
  56.  
  57. fread(&ng.informazioni.savedAfterAttack, sizeof(_Bool), 1, ng.fp);
  58. printf("\n Giocatore a cui spetta il turno: %d",ng.informazioni.turnoG);
  59.  
  60. fclose(ng.fp);
  61.  
  62. stampaLista(ng.mazzo);
  63. for(i = 0; i < NUM_G; i++){
  64. printf("\n%s", ng.players[i].nome);
  65. if(ng.players[i].status == true){
  66. for(j = 0 ; j < ng.players[i].carteMano; j ++ ){
  67. printf("\n%d %s", ng.players[i].carte[j].tipoC, ng.players[i].carte[j].frase );
  68. }
  69. }
  70.  
  71. }
  72. return ng;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement