void test_fichier(jeu_s * j,sauvegarde *s){ *j = (jeu_s)malloc(sizeof(t_jeu)); init_plateau(&((*j)->p)); init_partie(&((*j)->g)); init_tigres(*j); init_sauvegarde(s); (*j)->participant = (joueur)malloc(sizeof(t_joueur)*2); (*j)->participant[CHEVRE].score = 0; (*j)->participant[TIGRE].score = 10; (*j)->p->grille[0][0].pion = TIGRE; (*j)->p->grille[1][1].pion = CHEVRE; (*j)->p->grille[2][2].pion = CHEVRE; (*j)->p->grille[0][1].pion = CHEVRE; (*j)->p->grille[0][2].pion = CHEVRE; (*j)->p->grille[1][0].pion = CHEVRE; (*j)->p->grille[2][0].pion = CHEVRE; maj_score(*j); sauvegarde_fichier(*j,*s); printf("Sauvegarde effectuee !\n"); printf("Reset du jeu\n"); free(*j); *j = (jeu_s)malloc(sizeof(t_jeu)); init_sauvegarde(*s); init_plateau(&((*j)->p)); (*j)->participant = (joueur)malloc(sizeof(t_joueur)*2); if( chargement_fichier(*j,*s) == -1 ){ printf("Erreur pendant le chargement, il se peut que la sauvegarde soit corrompu!\n"); return; }else printf("Chargement effectuee !\n"); printf("Affichage de la case 0 0 :\n"); printf("%d\n",(*j)->p->grille[0][0]); printf("Affichage de la case 1 1 :\n"); printf("%d\n",(*j)->p->grille[1][1]); printf("Affichage du score de tigre:\n"); printf("%d\n",(*j)->participant[TIGRE].score); }
void init_jeu(jeu_s * j){ *j = (jeu_s)malloc(sizeof(t_jeu)); init_plateau(&((*j)->p)); init_partie(&((*j)->g)); init_tigres(*j); init_chevres(*j); init_sauvegarde(&((*j)->s)); }
void test_historique(jeu_s *j,sauvegarde * s){ *j = (jeu_s)malloc(sizeof(t_jeu)); init_plateau(&((*j)->p)); init_partie(&((*j)->g)); init_tigres(*j); init_sauvegarde(*s); (*j)->participant = (joueur)malloc(sizeof(t_joueur)*2); (*j)->participant[CHEVRE].score = 0; (*j)->participant[TIGRE].score = 10; (*j)->p->grille[0][0].pion = TIGRE; (*j)->p->grille[1][1].pion = CHEVRE; (*j)->p->grille[2][2].pion = CHEVRE; (*j)->p->grille[0][1].pion = CHEVRE; (*j)->p->grille[0][2].pion = CHEVRE; (*j)->p->grille[1][0].pion = CHEVRE; (*j)->p->grille[2][0].pion = CHEVRE; maj_score(*j); ajout_historique(*j,*s); printf("Destruction du jeu (par un free sur le pointeur du jeu)\n"); free(*j); *j = revenir_arriere(*j,*s); printf("case 0 0 : %d\n",(*j)->p->grille[0][0].pion); printf("case 1 1 : %d\n",(*j)->p->grille[1][1].pion); printf("score des tigres : %d\n",(*j)->participant[TIGRE].score); }
void jeu(SDL_Surface * ecran) { SDL_Rect carte_graphique[120]; graphique_init_paquet(carte_graphique); Partie *partie = init_partie(ecran); int gagnant, hordago; while (!est_finie_partie(partie)) { init_score(partie, ecran); enlever_toutes_les_mains(ecran, partie); while (!est_finie_manche(partie)) { init_phase(partie); melange_paquet_debut(partie); distribution_debut(partie, ecran); while (est_mus(ecran, carte_graphique, partie)) { distribution_mus(ecran, partie, carte_graphique); } init_score_phase(ecran); hordago = phase_de_jeu(ecran, partie, carte_graphique); afficher_toutes_les_mains(ecran, partie, carte_graphique); enlever_paquet_4_endroit(ecran); affiche_paquet_esku(ecran, 0); if (hordago) { graphique_mise_a_jour_score(ecran, partie); partie->nb_tours ++; break; } compte_point(ecran, carte_graphique, partie); graphique_mise_a_jour_score(ecran, partie); message_fin_tour(ecran); partie->nb_tours ++; enlever_toutes_les_mains(ecran, partie); } gagnant = (partie->score[0] == NB_POINTS) ? 1 : 2; affiche_gagnant_manche(ecran, gagnant); } gagnant = (partie->manche[0] == NB_MANCHES) ? 1 : 2; affiche_gagnant_partie(ecran, gagnant); free(partie); }